Zendesk Integration Guide

Zendesk Integration

Zendesk is a cloud-based customer service software and support ticketing system.

How Zendesk users benefit from PagerTree

Zendesk creates tickets. PagerTree acts as the dispatcher for these tickets, determining the right people to notify based on on-call schedules. PagerTree notifies them via email, sms, voice, and/or push notifications until the incident is acknowledged or closed.

Functionality of Integration

The Zendesk integration is one-way, meaning:

  • When an incident is created (event_type == "create") in Zendesk, an incident is created in PagerTree automatically.
  • When an incident is created (event_type == "acknowledge") in Zendesk, an incident is acknowledged in PagerTree automatically.
  • When a incident is resolved (event_type == "resolve") in Zendesk, the incident is resolved in PagerTree automatically.

Tutorial Overview

In this integration tutorial we will show you how to send tickets from Zendesk into PagerTree. The estimated time for this integration is 15 minutes. We assume that you already have a PagerTree and Zendesk account setup.

Warning. Cloning targets and/or triggers in Zendesk could lead to unexpected behavior. We recommend always creating new targets and triggers.

In PagerTree

  1. Click the team you wish to add the integration to. Select Team
  2. On the team page, click the “Integrations” tab. Click Integrations Tab
  3. On the “Integrations” tab, click the “+ Integration” button. Click Plus Integration Button
  4. In the “Create Integration” box, fill out the following:
    1. Name of the Integration,
    2. Select the Integration Type to Zendesk
    3. Select an appropriate urgency for when this integration is triggered
    4. Select the team member the incident will be created by (example: manager or team lead)
    5. Select the team this incident will be assigned to Click Create
  5. Click “Create”
  6. Copy the WebHook URL Copy Webhook URL

In Zendesk

  1. Navigate to Menu -> Admin Gear -> Settings -> Extensions
  2. Click “add target” button Click add target
  3. Click “HTTP target” Click HTTP target
  4. Enter in the following details
    1. Title – Name the target appropriately (ex: “PagerTree Integration”)
    2. Url – Paste the PagerTree WebHook URL you copied earlier
    3. Method – Select POST
    4. Content type – Select JSON
  5. Select Create Target
  6. Click “Submit” button Configure and create target
  7. Navigate to Menu -> Admin Gear -> Business Rules -> Triggers
  8. Click “Add trigger” button Click add trigger
  9. Enter in the following details:
    1. Title – Name the target appropriately (ex: “PagerTree Create Incident”)
    2. Meets all of the following conditions
      1. Ticket Status is New
      2. Ticket is… Created
    3. Perform these actions
      1. Notifications: Notify target
      2. Select your newly created target
      3. Paste the following in JSON body
              
       {
         "event_type": "create",
         "id":"{{ticket.id}}",
         "title":"{{ticket.title}}",
         "created_at_with_timestamp":"{{ticket.created_at_with_timestamp}}",
         "description":"{{ticket.description}}",
         "ticket_type":"{{ticket.ticket_type}}",
         "link":"{{ticket.link}}",
         "priority":"{{ticket.priority}}",
         "status":"{{ticket.status}}",
         "via":"{{ticket.via}}",
         "assignee_name":"{{ticket.assignee.name}}"
        }
              
      
  10. Click “Create trigger” button Configure and create trigger

You have successfully completed the Zendesk Integration. Now when a zendesk is triggered, PagerTree will create an incident and route it to the correct team member that is on-call. If you have any questions please contact support@pagertree.com


Additional Triggers

Additional triggers can be added if you would like the ability to acknowledge and resolve PagerTree incidents from Zendesk. Again, depending on your team’s workflow, set the appropriate conditions and then you can use the following two JSON payloads to acknowledge and resolve PagerTree incidents.

Acknowledge

{
  "event_type": "acknowledge",
  "id":"{{ticket.id}}",
  "title":"{{ticket.title}}",
  "created_at_with_timestamp":"{{ticket.created_at_with_timestamp}}",
  "description":"{{ticket.description}}",
  "ticket_type":"{{ticket.ticket_type}}",
  "link":"{{ticket.link}}",
  "priority":"{{ticket.priority}}",
  "status":"{{ticket.status}}",
  "via":"{{ticket.via}}",
  "assignee_name":"{{ticket.assignee.name}}"
 }

Resolve

{
  "event_type": "resolve",
  "id":"{{ticket.id}}",
  "title":"{{ticket.title}}",
  "created_at_with_timestamp":"{{ticket.created_at_with_timestamp}}",
  "description":"{{ticket.description}}",
  "ticket_type":"{{ticket.ticket_type}}",
  "link":"{{ticket.link}}",
  "priority":"{{ticket.priority}}",
  "status":"{{ticket.status}}",
  "via":"{{ticket.via}}",
  "assignee_name":"{{ticket.assignee.name}}"
 }