CRM
Zendesk Webhooks
Customer service platform. Receive events for tickets, users, organizations, and satisfaction ratings.
Connecting Zendesk to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into Zendesk. Then:
- 1Go to Zendesk Admin Center → Apps and integrations → Webhooks
- 2Click "Create Webhook" and paste your Hookbase ingest URL
- 3Copy the signing secret and add it to your Hookbase source
- 4Create a Trigger or Automation to fire the webhook on ticket events
Signature verification
Zendesk signs its webhooks with HMAC-SHA256 in X-Zendesk-Webhook-Signature, and Hookbase has no verifier for that combination today. We would rather say so here than let a source report every event as verified while nothing was checked.
What you can do:
- Receive them on a
customsource with no signing secret. Hookbase still dedupes, retries, transforms, routes and replays them; it just does not vouch for the sender. - Set a signing secret anyway if Zendesk can be configured to send a hex HMAC-SHA256 of the raw body in
X-Signature,X-Webhook-SignatureorX-Hub-Signature-256— that is the one scheme the custom verifier implements. - Verify downstream: the original headers travel with the event, so your own service or a transform can check the signature itself. The key is at Zendesk Admin Center → Apps and integrations → Webhooks → Signing secret.
- Narrow the blast radius with an IP allowlist and a hard-to-guess source slug.
Zendesk event types
8 of the events people route most often. Hookbase accepts every event Zendesk sends, whether or not it is listed here.
ticket.created
A ticket was created
ticket.updated
A ticket was updated
ticket.solved
A ticket was solved
ticket.comment_added
A comment was added to a ticket
user.created
A user was created
user.updated
A user was updated
organization.created
An organization was created
satisfaction_rating.created
A satisfaction rating was submitted
What a Zendesk webhook looks like
A ticket.created payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"ticket": {
"id": 12345,
"subject": "Cannot log in to my account",
"description": "I keep getting an error when trying to log in.",
"status": "new",
"priority": "high",
"requester": {
"id": 67890,
"name": "Jane Customer",
"email": "jane@example.com"
},
"assignee": {
"id": 11111,
"name": "Support Agent"
},
"group": {
"id": 22222,
"name": "Tier 1 Support"
},
"tags": [
"login",
"authentication"
],
"created_at": "2024-01-15T10:30:00Z"
}
}Start receiving Zendesk webhooks
Create a source, paste the URL into Zendesk, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free