Creating Zendesk webhooks and triggers for Inquiru

Updated June 14, 2026

Step 5 — Create a webhook in Zendesk

Go to Admin Centre → Apps and Integrations → Webhooks and click Create webhook. Set it to connect to a Trigger or Automation, then fill in:

  • Endpoint URL — paste the Webhook URL from your Inquiru integration
  • Request method — POST
  • Request format — JSON
  • Authentication — None

Optional HMAC signing: For added security, enable Webhook signing and copy the signing secret. Paste it into the Webhook Secret field of your Inquiru integration. Inquiru then verifies the signature on every request, rejecting anything not sent by Zendesk.

Step 6 — Create triggers in Zendesk

Triggers tell Zendesk when to fire the webhook. You need exactly two triggers. Delete any older broad triggers (e.g. one that fires on any comment with no channel filter) — they cause duplicate conversations.

The JSON body template (used by both triggers)

All string fields must use the | json_escape filter and all values must be quoted — otherwise multi-line descriptions break the JSON and Inquiru rejects the request with a 400 error.

{ "ticket": { "id": "{{ticket.id}}", "subject": "{{ticket.title | json_escape}}", "description": "{{ticket.description | json_escape}}", "status": "{{ticket.status}}", "requester_id": "{{ticket.requester.id}}", "requester": { "email": "{{ticket.requester.email}}", "name": "{{ticket.requester.name | json_escape}}" }, "latest_comment": { "body": "{{ticket.latest_comment.value | json_escape}}", "author_id": "{{ticket.latest_comment.author_id}}" } } }

Trigger 1 — Customer reply

Name it Inquiru — Customer reply. Conditions (Meet ALL):

  • Ticket → Is → Updated
  • Comment → Is → Public
  • Current user → Role → Is → End user
  • Ticket → Channel → Is none of the following → Chat, Web Widget, Messaging, X Corp, Facebook Messenger, Instagram Direct

Action: Notify active webhook → your Inquiru webhook → JSON body above.

The Current user → Role → Is → End user condition ensures the webhook fires only when a customer comments, preventing infinite loops. The channel exclusions prevent double-processing — Messaging and Chat sessions are handled by the Sunshine Conversations webhook.

Trigger 2 — Ticket assigned to AI agent

Name it Inquiru — Ticket assigned to AI agent. Conditions (Meet ALL):

  • Ticket → Is → Updated
  • Ticket → Assignee → Changed to → [your AI agent Zendesk account]

Action: Notify active webhook → your Inquiru webhook → JSON body above.

This catches tickets manually routed to the AI agent — e.g. an unassigned web form submission that is later assigned to the AI agent. Inquiru uses the ticket's description as the customer's message when there is no latest comment.

Testing with a specific email address first

While validating, add to both triggers: Requester → Email address → Is → your-test-email@example.com. This prevents the AI from responding to real customers during setup. Remove the condition when ready to go live.

    Creating Zendesk webhooks and triggers for Inquiru | Inquiru Help Center