Create Zendesk tickets using an Apono webhook

Zendesk is a customer service platform offering tools designed to improve customer engagement and support. It allows businesses to manage customer interactions across multiple channels, including email, social media, and chat.

Through this integration, you will configure an Apono webhook that creates new tickets in Zendesk when user access requests are created, approved, granted, and revoked, or when requests fail.


Zendesk API TokenAuthentication credential used when making requests to the Zendesk API

Follow the steps to generate an API token:
  1. Log in to Zendesk Admin Center.
  2. Click Apps and Integrations > Zendesk API > Add API Token.
Zendesk API URLRoute for creating a ticket in your Zendesk instance

Example: https://<YOURDOMAIN>.zendesk.com/api/v2/tickets

Create the webhook

Follow these steps to configure a webhook:

  1. On the Webhooks page, click Add Webhook. The Add Webhook page appears.
  2. Enter a unique, alphanumeric, user-friendly Name for identifying this webhook.
  3. Click the Status toggle to Active.
  4. From the Method dropdown menu, select POST.
  5. For the webhook URL, enter https://<SUBDOMAIN.zendesk.com/api/v2/tickets.

    Be sure to replace <SUBDOMAIN> with the Zendesk subdomain for your account.


    The webhook URL must adhere to the following requirements:

    • Uses the HTTPS protocol
    • Does not specify any custom ports

  1. In the Body Template field, enter the JSON payload data for the webhook.
      "ticket": {
        "comment": {
          "body": "{ \"event_type\": \"{{ event_type }}\", \"id\": \"{{ data.id }}\", \"friendly_id\": \"{{ data.friendly_id }}\", \"requester_id\": \"{{ data.requester.id }}\", \"requester_name\": \"{{ data.requester.name }}\", \"requester_email\": \"{{ data.requester.email }}\", \"justification\": \"{{ data.justification }}\", \"creation_date\": \"{{ data.creation_date }}\", \"access_flow_id\": \"{{ data.access_flow.id }}\", \"access_flow_name\": \"{{ data.access_flow.name }}\", \"access_bundle_id\": \"{{ data.access_bundle.id }}\", \"access_bundle_name\": \"{{ data.access_bundle.id }}\", \"access_groups_integration_name\": \"{{ data.access_groups.[0].integration.name }}\", \"access_groups_integration_type\": \"{{ data.access_groups.[0].integration.type }}\"}"
        "priority": "normal",
        "description": "{{ data.justification }}",
        "subject": "apono app - {{ event_type }} - {{ data.friendly_id }}"


    Click View event's payload schema to reveal the payload schema and available data fields. You can also refer to the Webhook Payload Schema Reference to read the descriptions of each data field.

  1. Under Headers, use the following Key and Value to set the header. Be sure to replace <ZENDESK_TOKEN> with a base64-encoded authentication string.

    AuthorizationBearer <ZENDESK_TOKEN>

  1. From the Triggers dropdown menu, select RequestCreated.
  2. Under Filters, define one or several filter from the listed dropdown menus.
  3. Click Test to generate a test event to trigger your webhook. A Test successful or Test failed response status will appear at the bottom of the page.


    For more information about the test, click View Invocation Data. A panel opens revealing the request, response, and other relevant details.

    Should your test fail, view these tips to troubleshoot your webhook.

  1. Click Save Webhook.

The new webhook appears in the Webhooks table. Active webhooks are preceded by a green dot. Inactive webhooks are preceded by a white dot.

Apono will send a call to Zendesk to create a new ticket when the RequestCreated event is triggered.