Open Navigation

PagerDuty

A SaaS incident response platform for IT departments

Overview

PagerDuty sits at the heart of your technology ecosystem and analyzes digital signals from virtually any software-enabled system. It helps you intelligently pinpoint issues like outages, as well as capitalize on opportunities, empowering teams to take the right real-time action.

Authentication

When using the PagerDuty connector, the first thing you will have to do is click on 'New Authentication' in the step editor:

add-auth

You will then be presented with the PagerDuty authentication dialog:

pagerduty-auth-dialog

To complete this you will need a PagerDuty API token.

In your PagerDuty dashboard this can be found by going to Configuration > API Access

From here you can click on Create New API Key and copy the key to be pasted in above.

Example - Syncing tickets from Zendesk to PagerDuty

As an example of what can be done in terms of pulling data from another service and importing it to PagerDuty, we will show you how to create PagerDuty incidents based on tickets created in Zendesk.

Note: Tray.io is extremely flexible. By design there is no 'fixed' way of working with it - you can pull whatever data you need from other services and work with it using our core and helper connectors before pushing it into PagerDuty. The demo which follows shows only one possible way of working with Tray.io and PagerDuty.

The workflow in question here looks like this:

zendesk-pagerduty-wf-basic

The steps followed are:

  1. The workflow is triggered by a new ticket being created in Zendesk
  2. The name of the assignee is pulled from Zendesk
  3. A system of branches is set up to divert tickets according to the service they have been tagged with in Zendesk, ensuring they go to the correct service in PagerDuty
  4. Within each branch a PagerDuty incident is created and assigned to the appropriate service and user, pulling in the title and description from Zendesk

Step 1 - set up the Zendesk Trigger

When choosing the Trigger for your workflow you can choose the Zendesk Trigger and set it to be triggered 'On Ticket Create':

zd-on-ticket-create

Step 2 - get the email address of the ticket assignee

Note: this example shows how to sync the 'assignee' in Zendesk to the 'assigned to' person in PagerDuty. This may not be how you want to work - you might want to assign tickets to someone based on some other tags in Zendesk, what service the tickets are being routed to, or some other conditional logic based on the data coming from Zendesk.

You can see from the debug output of the trigger that Zendesk doesn't return the email address of the assignee, so we have to grab the id and then add another Zendesk step and use the Get user operation which picks up the id using the $.steps.trigger.ticket.assignee_id jsonpath:

get-zendesk-ticket-assignee

Step 3 - set up branches according to the service

Now we can set up the branches to start the process of making sure that they are routed to the correct service, according to the tag given the ticket in Zendesk:

pagerduty-service-branch

Note that the values entered for each branch must match the tags given to the new Zendesk ticket exactly:

zendesk-create-ticket-tags

Step 4 - create incident in PagerDuty

Now for each branch you can create an incident by pulling the assignee email and subject from Zendesk:

pagerduty-create-incident

Scrolling down you can also add the description:

get-zendesk-description

The end result will be that you will have incidents building up in PagerDuty:

pagerduty-incidents-list

Was this article helpful?
Yes
No