Zendesk Outgoing(Two Way) Integration Guide
Zendesk is a customer service software and support ticketing system.
Zendesk unifies multi-channel customer service (ticketing, self-service, live chat) while offering insightful reporting, facilitating streamlined workflows, empowered customers, and data-driven service optimization.
What can Zenduty do for Zendesk users?
With Zendesk's Integration, Zenduty sends new Zendesk ticket alerts to the right team and notifies them based on on-call schedules via email, text messages(SMS), phone calls(Voice), Slack, Microsoft Teams and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed. Zenduty provides your NOC, SRE and application engineers with detailed context around the Zendesk ticket alert along with playbooks and a complete incident command framework to triage, remediate and resolve incidents with speed.
Whenever Zendesk ticket is generated, an alert is made which inturn causes Zenduty to create an incident. When that ticket is closed, Zenduty will auto-resolve the incident.
Zenduty can also create tickets in Zendesk when a new Incident is created on Zenduty. The ticket would then be in sync with Zenduty's Incident, allowing for a 2-way integration beween Zenduty and Zendesk.
You can also use Alert Rules to custom route specific Zendesk ticket alerts to specific users, teams or escalation policies, write suppression rules, auto add notes, responders and incident tasks.
To integrate Zendesk with Zenduty, complete the following steps:
In Zenduty:
-
To add a new Zendesk integration, go to Teams on Zenduty and click on the team you want to add the integration to.
-
Next, go to Services and click on the relevant Service.
-
Go to Outgoing Integrations and then Add New Integration. Give it a name and select the application Zendesk Outgoing(2-way) from the dropdown menu.
-
Go to Configure under your Integrations and copy the Webhook URL generated.
Open your Zendesk in a new tab.
[Optional: Create a dedicated user in Zendesk for Zenduty. Follow the steps below.]
-
Log in to Zendesk. Click on the Admin Icon, then select Apps and Integrations > API. Click the Settings tab, and make sure Token Access is enabled. Click the Add API token button to the right of Active API Tokens. Optionally, enter a description under API Token Description. The token is generated, and displayed for you. Copy this API token.
-
Go back to the Zenduty tab in the Zendesk config page.
-
Paste the API key copied in step 5 in the API key section.
-
Enter your Zendesk subdomain name. If your Zendesk subdomain is acme.zendesk.com, enter acme
-
Enter your Zendesk email address. Click on Next.
-
Next, select which configuration you want the integration to be in,
- From Zendesk to Zenduty
This makes it so that any Ticket created on Zendesk will create an Incident on Zenduty. - From Zenduty to Zendesk
This makes it so that any Incident created by that service on Zenduty, will generate a ticket on Zendesk.
- From Zendesk to Zenduty
-
Proceed to map the Incident response for the configuration selected from above. This will determine what action will change the ticket status and vice versa with Zenduty incident statuses.
-
Copy the Webhook URL at the bottom of the page.
Do watch out for cyclic mapping of the incidents statuses and tickets and of two Zendesk integrations with opposing configurations.
-
Go back to your Zendesk Tab.
-
Go to your Admin Settings -> Apps and Integrations & Open Webhooks.
-
Click on Create Webhook. Fill in the form as shown below. In the url field, paste the webhooks url you copied earlier.
Make sure to change the method to POST. -
To Test the webhook, you'd need to select Custom Test on the Test event source & the request JSON body as shown below:
{ "title": "Test Title from Zendesk", "description": "Test Description from Zendesk", "url": "https://www.zenduty.com/", "id": "1", "status": "info" }
If you get an Info alert from Zendesk, then the webhook connection is successful.
-
Go to Zendesk -> Admin Settings -> Objects and rules -> Business Rules -> Triggers
-
Click on Add Trigger. Give the trigger name as Zenduty trigger.
-
Under Meet ALL of the conditions, choose Type is Incident or some other value according to your requirements.
-
Under Meet ANY of the following conditions, add two conditions - Ticket is Created and Ticket is Updated
-
Under Actions, select Notify active webhook, and select the webhook created in the earlier steps.
-
In JSON body, paste the JSON below:
{"title":"{{ticket.title}}", "description":"{{ticket.description}}","url":"{{ticket.url}}", "id":"{{ticket.id}}", "status":"{{ticket.status}}"}
-
Click on Save. Your Zendesk two-way account is integrated. Zenduty will now create an incident for every new ticket created on Zendesk and any action taken on Zenduty(Ack, Resolve) will reflect in your Zendesk tickets.