Zendesk (HTTP/GraphQL Target)

Zendesk can connect to Kintaba by through a custom HTTP target extension.

In this example we'll create a trigger that initiates a new incident in Kintaba when a specific tag is added to a Zendesk ticket, but you can also use the Kintaba target to create automations or other trigger actions.

1. Kintaba: Configure a custom API

Following the instructions in the API & Custom Integrations guide, add a new custom integration in Kintaba called something like "Zendesk".

After creating the new integration in Kintaba, keep the integration details page open, you'll need these details while configuring ZenDesk.

2. Zendesk: Create a Kintaba target extension

Browse to the Extensions within your instance's settings, and click Create.

Next, select the HTTP Target option.

Within the HTTP Target settings, complete the following entries:

  • Name your target something like Kintaba
  • Set the URL to the Kintaba API endpoint (https://app.kintaba.com/api/graphql)
  • Set the method to POST
  • Set the content type to JSON
  • Enable Basic Authentication and set the Username to your Integration ID and the password to your Integration Secret from your integration settings in Kintaba.
  • Change the action option next to the Submit button to Create Target

A confirmation will appear confirming the target has been created.

3. Zendesk: Create a trigger

Select the Triggers link within the Business Rules setting section and then select Add Trigger

Give your trigger a name and description.

In this example we're creating a trigger that generates a new Kintaba incident when the critical-incident tag is added to an item in Zendesk, so we'll set the condition to watch for that tag.

Scroll down and click the Add Action button. From the dropdowns, select Notify target and then the name of the target you created (in this case, Kintaba).

You will now be presented with a JSON input body where you can enter any graphQL query you'd like. In this case, we'll be using a simple incident creation call.

Once complete, click the Save button.

🚧

JSON Formatting Required

Zendesk requires you to translate your graphQL query to appropriately formatted single-string JSON, including escapes. See the following for an example.

Be careful and use a JSON validator like https://jsonlint.com/ since Zendesk will not warn you if your JSON is invalid.

{"query": "mutation{createIncident(input: {title: \"Zendesk: {{ticket.title}} - \", descriptionDocument: {format: MARKDOWN value: \"Ticket Details: {{ticket.url}}\" }, severityLevel: 1}) {incident {id title}}}"}

You'll notice we have added two Zendesk placeholders here as well: {{ticket.title}} and {{ticket.description}}. You can use other placeholders as well but be careful to appropriately escape.

4. Zendesk: Test your trigger

For the purposes of this example, we'll create a new ticket and tag it with the critical-incident tag.

Finally, confirm the incident was created in Kintaba.

Troubleshooting

To debug JSON calls in your triggers or automations, you can use the Test Target capability and manually enter and test your JSON query.

You can also contact us for help.