Zendesk

Send contact and event data to Zendesk using Regal Jounrey Webhooks

This guide describes how to use Regal as a source for sending your customer profile and event data to Zendesk using Regal Journey Webhooks

Sending data from Regal to Zendesk

Regal relies on Journey Webhooks to send data to the Zendesk API. You can can find more information on Journey Webhooks in our knowledge hub.

Please refer to the Zendesk API Docs to find out all the possible ways to receive data. In this document, we'll be using the Ticketing API.

1) Create New Zendesk API Key

Navigate to Zendesk Admin Portal & Select "Zendesk API", under the "Apps and integrations" section on the left hand bar.

Ensure Token access is enabled

Click "Add API token" in the top right

Name your API Key "Regal"

Make sure to copy and store the token in a safe place. Zendesk won't show it again after you click Save or leave the page.

Convert API Token to Basic Authorization using Postman

Copy Basic Authorization for use in the Regal Journey Webhook

2) Create Regal Journey

Navigate to Regal and create a new journey

Name the journey, in this example we'll call it "Zendesk: Regal Scheduled Callback Completed"

Specify the Trigging event for the journey which can be a Custom Event or a Regal Voice Event.

In this example we want to log a ticket in Zendesk when a Regal Scheduled Callback is completed. The trigger will be a Regal Voice Event, call.completed within an additional Trigger filter when the Type of task is a "Scheduled Callback".

Before you create a ticket in Zendesk using a Journey Webhook, its important we check to see if the Regal Contact's email is set since email is the primary identifier in Zendesk.

Create Custom Journey Webhook

  • Name (e.g. Zendesk: Create Solved Ticket)
  • Endpoint URL: https://www.yoursubdomain.zendesk.com/api/v2/tickets(e.g. https://www.regalvoicesupport.zendesk.com/api/v2/tickets)
  • Custom Headers:
    • Authorization: Basic Auth Postman
    • Content-Type: application/json
    • Accept: application/json
    • JSON Payload Example:
{
    "ticket": {
        "comment": {
            "body": "{{event.properties.reserved_agent_fullname}} called this user in Regal."
        },
        "subject": "Regal Scheduled Call Completed",
        "status": "solved",
        "requester": {
            "email": "{{contact.email}}"
        }
    }
}