Zendesk Tickets

Ingest Zendesk ticket information by configuring a webhook and trigger in the Zendesk UI.

To do this, you need the following information:

  • Your Zendesk login credentials

  • Your Observe Customer ID

  • An Observe ingest token

Configuring an Outgoing Webhook

Zendesk documentation

  1. Login to Zendesk and go to Admin > Settings > Extensions.

  2. On the Extensions page, choose Add target to display a list of target types. Choose HTTP target.

  3. Add the HTTP target details.

    • Title - ObserveWebhook

    • Url - https://collect.observeinc.com/v1/http/zendesk

    • Method - POST

    • Content type - JSON

    • Basic Authentication

      • Check “Enabled”

      • Username: your Observe Customer ID

      • Password: your Observe Ingest Token

    HTTP target values filled in

    Figure 1 - Zendesk HTTP target values

  4. Test the webhook

    • Select “Test target” from the menu.

    • Choose Submit.

    • In the JSON body text field, provide a valid JSON body, such as {"message":"Hello Zendesk!"}.

    • Choose Submit.

    • Confirm that you receive the response HTTP/1.1 202 Accepted.

    JSON body example

    Figure 2 - Zendesk JSON body example

    If the JSON body text appears highlighted in red, this means you did not get a success response. Correct your configuration and try again.

  5. Save the webhook configuration.

    • Select Create target from the menu.

    • Choose Submit.

Configuring the trigger in Zendesk

Zendesk documentation

  1. Go to Admin > Business Rules > Triggers.

  2. On the Triggers page, select Add trigger.

  3. Add the trigger details:

    • Trigger name - Observe Trigger

    • Description - Send webhook to Observe

    • Category - Notifications

    • Conditions -

      • Under Meet ANY of the following conditions, select the desired condition. For example, Status Changed.

    • Actions:

      • Select Notify target in the left menu.

      • Select the name of your Observe webhook from the right menu. For example, ObserveWebhook.

      • In the JSON body text field, provide the desired payload: For example,

        Sample JSON
        {
          "title":"{{ticket.title}}",
          "description":"{{ticket.description}}",
          "url":"{{ticket.url}}",
          "id":"{{ticket.id}}",
          "external_id":"{{ticket.external_id}}",
          "via":"{{ticket.via}}",
          "status":"{{ticket.status}}",
          "priority":"{{ticket.priority}}",
          "requester":"{{ticket.requester.details}}"
        }
        

      *Choose View available placeholders to see a list of available fields.

      • Choose Create.

    JSON body example

    Figure 3 - Zendesk JSON body example

Verifying ticket data ingestion

  1. Wait for or initiate a ticket status change.

  2. Login to Observe and open the Observation event stream in a worksheet.

  3. Open the OPAL console and apply the following filters:

    filter OBSERVATION_KIND = "http"
    filter contains(string(EXTRA.path),"zendesk")
    
  4. Verify that you can find ticket data:

    Zendesk data in an Observation worksheet

Figure 4 - Zendesk data in a Worksheet