Webhooks are created and managed in Zendesk Admin Center from the Webhooks page.
You must be an admin or an agent in a custom role with permission to manage webhooks.
Editing and managing webhooks
In most cases, admins can edit, clone, deactivate, and delete webhooks. However, webhooks that are created by app requirements can be edited but can't be cloned or deleted. Webhooks created by app requirements can be updated by the apps developer and override changes made by account admins. After a webhook is created, you can't change its connection method.
To edit a webhook
- In Admin Center, click
Apps and integrations in the sidebar, then select Webhooks > Webhooks.
- Find the webhook in the list, click the options menu icon (
) on the webhook's row, and then click Edit.
- Modify the webhook as needed.
All fields can be edited. However, when using authentication, the key, token, or password can't be viewed after the webhook is created or updated. To remove a custom header, click the delete icon (
).
- (Optional) Test the changes you made to the webhook.
- Click Save.
To clone a webhook
- In Admin Center, click
Apps and integrations in the sidebar, then select Webhooks > Webhooks.
- Find the webhook in the list, click the options menu icon (
) on the webhook's row, and then click Clone.
- Edit the webhook's Name and modify the webhook as needed.
- Click Update.
To deactivate a webhook
- In Admin Center, click
Apps and integrations in the sidebar, then select Webhooks > Webhooks.
- Find the webhook in the list, click the options menu icon (
) on the webhook's row, and then click Deactivate.
- In the confirmation dialog, click Deactivate.
To delete a webhook
- In Admin Center, click
Apps and integrations in the sidebar, then select Webhooks > Webhooks.
- Find the webhook in the list, click the options menu icon (
) on the webhook's row, and then click Delete.
- Click Delete.
Viewing a webhook's activity
Each webhook has an activity log. In addition to a detailed record of invocations, you can also see the number of requests in the last seven days.
A webhook invocation is automatically retried up to three times if the endpoint returns certain HTTP response codes. For more information and examples of retry scenarios, see Webhook retry logic in our developer documentation.
Zendesk makes a best effort to only deliver actions to webhooks a single time. However, we can't guarantee it. It is possible for a webhook to be invoked by the same action multiple times. To detect duplicate invocations, you could use webhook signatures. If this is problematic for your workflow, ensure actions resulting from your webhooks are idempotent.
- In Admin Center, click
Apps and integrations in the sidebar, then select Webhooks > Webhooks.
- Find the webhook in the list, click the options menu icon (
) on the webhook's row, and then click View details.
- Click the Activity tab.
- Click Filter to filter the activity log by start date, start time, end date, end time, or status, and then click Apply filters.
Debugging a webhook
If a webhook isn't working correctly, failed invocations will be visible in the webhook's activity log. You can filter the activity log by a status of Failed or by a specific type of error. From the Activity tab, you can also click on an Invocation ID to view the request and response for a specific invocation of the webhook.
In most cases, the response comes from the third-party service that receives the webhook's request, not Zendesk itself. You typically need to work with this service to fix errors.
You can use the numeric code in the response status to diagnose issues. These response status codes are standard across HTTP requests. For a list of the standard HTTP response status codes and their meaning, see HTTP response status codes in the MDN web docs.
Webhook requests have a 10-second timeout. A "Failed: 504 Gateway Timeout" response status indicates a service didn't respond to a webhook's request within this timeout period. The timeout period is not adjustable.
22 Comments
Is it possible to manage/create webhooks via API?
Hi Chris. Yes, that's possible. Here's a link to the webhook API reference docs and the webhook developer tutorials.
it is possible to access bookmark resources in these webhooks?
Hi David, bookmarks can be created, deleted, or listed via the API: API - Bookmarks
The documentation available online states:
Can you please explain how to pass URL parameters to any URL? As far as I can see, only the body of the webhook can be customized.
Hi @...,
You can put query parameters in the URL when you're defining the webhook. These query parameters can also contain Zendesk Trigger Placeholders to dynamically fill information.
Hope this helps,
Chris
Hi,
Is it possible to receive alerts when Failed response statuses are returned to a webhook? Possible options- forward the failed payload to a different webhook, retrieve the last X number of failures for a webhook via some api GET request, or via any other automated process?
Thanks in advance!
Hi Nicholas Simmons!
Just like targets, webhooks have no notifications for individual failures; since there's no deactivation, there are no additional notifications. To see something like this, you would look at the API to check on recent requests and check for failures alike. As always, feel free to add any other questions, comments, or concerns in the meantime; we're always happy to help. Please feel free to also create a feedback post at Feedback - Admin Center. That way other end-users who are looking for this functionality can also weigh in on the conversation & share their use case.
wanted to check/confirm something... if a webhook was created by user A, and then down the line user A is no longer an agent in Zendesk, does that webhook they created still remain?
Hi Elizabeth Toy,
That's correct. The webhooks will remain active regardless of the creating admin's status.
Chris
Hi,
How do I pass a "HEADER" parameter to my endpoint using the webhook?
The API that I am posting (PUT) requires that I pass some parameters via the HEADER and not in the JSON Body.
Hi Carlos,
Currently, custom header for Webhook is not supported. As we do not know the remote endpoint and we have no way of knowing what it requires, what syntax is need, format and we simply have no visibility.
What we can suggest is that you replicate toward https://hookbin.com/ to see if the payload, headers of the call and information are well received in a public and not in restricted endpoint.
Hi,
Is there a way to send new ticket comment through webhook.
Currently I have to get the ticket id and then call get api to get the comments, if comment can be sent straight away I can avoid this 2 step process
Hello S Shatheesh !
I have submitted a ticket on your behalf for our support team to further investigate. You should be receiving an email shortly for this.
Hi,
I use a trigger to invoke a WebHook.
How do I access the request response values from (another) trigger? What I need is to extract something from the response payload (json format) and use it in a subsequent trigger.
You can find it on the actual JSON body of the trigger.
Hi Dane,
My understanding is that the actual JSON body of the trigger (the one in the screenshot) is NOT a response payload, but the request payload.
For example, I define a webhook (GET method) that is invoked by a trigger. An HTTP 200 response is returned, including its payload: how do i access it via trigger/automation?
Thank you for the clarification.
Zendesk does not have a way to show the actual response payload on a ticket, trigger or automation.
However, you can extract the actual JSON response by going directly to the webhook you have created and in Actions select Test webhook. This method will require you to designate the values of the endpoint that you have used.
Hi! I Deleted a webhook by mistake. Is there any way I can restore it?
We don't have a feature that will allow you to restore deleted webhooks.
Hi Support,
Is there any timeline when feature 'Viewing a webhook's activity (beta)', will be out of beta and go to stable/feature release?
I am not getting an organization custom filed filled by the webhoo.
Only the standard fields are filled.
The json includes:
"organization": {
"custom_fields": [
{
"key": 107953418xxxxxx,
"value": "Hello"
}
]
}
}
Please sign in to leave a comment.