Creating webhooks in Admin Center

Return to top
Have more questions? Submit a request

20 Comments

  • Jacob Johst Christensen
    Community Moderator

    Very exciting stuff!

    Testing this I was expecting to see an event in the ticket event log, for tickets where a trigger ran a webhook action, but it isn't. Is this deliberate?

    0
  • Jacquelyn Brewer
    Zendesk Documentation Team

    Hi Jacob. Thanks for your question. This is expected. Webhooks run in response to something else happening, such as a ticket event. The event that triggers the webhook to run might be captured in the ticket event log, but all of the webhook logging is captured in the webhook activity logs.

    0
  • Jacob Johst Christensen
    Community Moderator

    Thanks Jacquelyn. I get that the webhook specific logging is captured in the webhook activity logs, but since a trigger is firing on a ticket event, I would expect to see that action logged on said ticket - like any other trigger would.

    2
  • Chris Hynes

    How do we reference the contextual ticket ID in the URL? 

    With Targets, we are able to reference a ticket like this:

    https://ourdomain.zendesk.com/api/v2/tickets/{{ticket.id}}.json

    Which allows our automations to make updates to tickets. I don't see how to do this with the webhook model.

    6
  • Peter Hochstrasser

    Chris Hynes

    Seconded...

    It looks as if the webhook URL is static at the moment.

    This would require to rewrite all these targets into applications using a third party server or create Zendesk Apps to serve the purpose.

    0
  • Nathan

    Chris Hynes

    We are also using this same model to update tickets.

    Our use case: Each user has a custom field: "CC Email". When a ticket is created by that user, that add that CC to the ticket's email CCs. (ie. add your manager to your tickets)

    Right now our layout is: Trigger activates on update of ticket using JSON (PUT to email_ccs).
    Trigger notifies HTTPs target https://ourdomain.zendesk.com/api/v2/tickets/{{ticket.id}}.json to update the ticket.

    Looking to see how we can achieve this with webhooks. Thanks!

    1
  • Jason Brown

    I had the same question as Chris. I found that I could use the Update Many API endpoint and just pass a single ticket id. Placeholders are used in the Trigger JSON to set ticket ID.

    1
  • Maik Künnemann

    Jacquelyn Brewer we use this targets, how can we do this with webhooks?

    /api/v2/tickets/{{ticket.id}}.json

    /api/v2/tickets/{{ticket.id}}/comments/{{ticket.latest_comment.id}}/make_private

     

    1
  • Amber

    Is there a plan to enable the use of placeholders in the Endpoint URL before HTTP targets are deprecated?

    0
  • Peter Hochstrasser

    Maik Künnemann, Amber

    Have a look at this article, and my comment:

    https://support.zendesk.com/hc/en-us/articles/1260803041889?page=2#comment_4404887963418

    BR, P.

    0
  • Chris Hronek

    In the "Testing a webhook" section is step 4 implying that we should be able to add request headers to the webhook? I don't see the option for creating headers in the webhook when I create it. Is this going to be an option?

    1
  • Nathan Purcell

    Is there a reference for the expected payload structure? 

    0
  • Peter Hochstrasser

    Hi Nathan Purcell

    As the webhooks will replace targets (at this time, only http targets), the payload is not defined in the webhook definition, but in the webhook execution in a trigger or automation. 
    In there, you can define the payload (as json).

    0
  • Nathan

    I was able to get my previous Trigger working by using the Update Many endpoint like Jason Brown mentioned.

    For me, my end result looks like this:

    Created new Webhook named Update Many Tickets with Endpoint "https://[domain].zendesk.com/api/v2/tickets/update_many", PUT (not POST), and JSON.

    Trigger Action -> Notify active Webhook -> Update Many Tickets
    JSON body:

    {
    "tickets": [
    { "id": "{{ticket.id}}",
    "email_ccs": [
    { "user_email": "{{ticket.requester.custom_fields.cc_email}}", "user_name": "{{ticket.requester.custom_fields.cc_email}}", "action": "put"}
    ]
    }
    ]
    }

    After these changes everything seems to be working.

    0
  • Rahmat Budiharso

    Can I create custom request header for webhook?

    2
  • Beau Padesky
    Zendesk Customer Advocate

    Hello Rahmat,

    Currently it is not possible do so, but there is an active discussion here that our product management team is monitoring. I'd recommend following and adding your use-case to this discussion as this helps guide future platform improvements! https://support.zendesk.com/hc/en-us/community/posts/115009370628-Passing-API-Header-in-HTTP-Target

    Beau | Customer Advocate

    Ask our Zendesk Community

    0
  • Charles Larry

    "Webhook requests are automatically retried up to three times if the endpoint returns certain HTTP response codes. Unlike targets, consecutive failed requests won't deactivate webhooks."

    What are the "certain HTTP response codes"?  Is this documented somewhere?

    0
  • Chris Sos
    Zendesk Product Manager

    Hi Charles Larry,

    Yes, this is documented on Creating and monitoring webhooks on our developer documentation.

    Chris

    0
  • Bruno Cabral

    I am also interested in the custom request header feature

    0
  • Dave Dyson
    Zendesk Community Team

    Hi Bruno,

    Head over to Passing API Header in HTTP Target, upvote that, and add your use case into the comments thread. The more information about what you'd need this for, the better. Thanks!

    0

Please sign in to leave a comment.

Powered by Zendesk