Tracking Support Ticket Actions with Zendesk and Heap

  • 29 April 2022
  • 2 replies
Tracking Support Ticket Actions with Zendesk and Heap
Userlevel 3
Badge +2


We’re going to cover how to send your Zendesk ticket data into your Heap account. This allows you to analyze your ticket data alongside your product usage data, surfacing insights on what product areas are generating more tickets for your support team and helps you report on the effectiveness of your customer self-service resources.


Three great reasons to send Zendesk ticket data to Heap:

  • Get a more complete view of your user engagement across support, product, and documentation websites.
  • Create reports that let you see how effectively your self-service resources deflect support tickets
  • Analyze which users are likely to generate certain types of tickets and take preemptive actions to address them.

The setup for this is really easy and should only take a few minutes.

  1. Login to your Zendesk Support instance
  2. Click the grid icon in the top right corner, click Admin Center
  3. In the left menu, under Apps and integrations, click Webhooks
  4. Click ActionsCreate Webhooks
  5. Define the Webhook settings
    1. Name - Any unique name to organize for future reference
    2. Endpoint URL - You can get the endpoint URL from the Track documentation on the Heap Developer documentation. At publication time, that URL is
    3. Request Method - Set to Post
    4. Leave Request Format as JSON
    5. Leave Authentication as None
    6. Click Test Webhook - It may take a few minutes for the post to display in Heap
    7. Click Create
  6. In the left menu, under Objects and rules, click Triggers
  7. Click Add Trigger
  8. Define Trigger settings
    1. Trigger name -  Any unique name to organize for future reference
    2. Category - Select a category to organize your Heap trigger
    3. Conditions - Define the conditions that must be met to run the trigger.
    4. Actions - Select Notify active webhooks > YOUR WEBHOOK NAME (step 5.1)
    5. JSON body - Define the JSON body that will be sent to Heap. Go back to the Track documentation and copy the request example
      1. app_id - Your unique Heap app instance
      2. identity - email address
      3. timestamp - timestamp
      4. subject - Ticket Subject
      5. You can add any other name/value pairs you’d like to send to Heap


    6. Click Create
  9. Go to Heap to view the events triggered by the Zendesk trigger and webhook


There are other options for bringing together Heap and Zendesk data. This includes Stich and other services that enable you to unify all your user data in a data warehouse and run broader analysis. Those solutions come at additional cost and complexity. if you’re looking for a first step in unifying Heap, Zendesk and your other customer platforms, give this integration a try.



Have a question? A way to make it better? Add them in the comments below!

2 replies

Userlevel 2
Badge +1

Hi Josef. Huge but stymied fan here. I followed the steps for creating a webhook in Zendesk but when I test the webhook it isn’t going so well. 

I get the following response:

postBody should NOT have additional properties


I have not altered anything in the JSON body:

{ "ticket": { "id": 35436, "priority": "high", "status": "open", "subject": "Help, my printer is on fire!", "description": "The fire is very colorful.", "tags": [ "enterprise", "other_tag" ] } }


Should I be removing that portion?

Userlevel 3
Badge +2

Hey DaniB, great call out.

You’ll want to test the webhook with a JSON body that fits our Server-Side Track API.

Try testing it with the payload below. Just swap out the `YOUR_APP_ID` value with the ID for your development environment in Heap.

"app_id": "YOUR_APP_ID",
"identity": "",
"event": "Zendesk Ticket (Heap Test)",
"timestamp": "1651686606000",
"Zendesk Ticket Number": "35436",
"priority": "high",
"status": "open",
"subject": "Help, my printer is on fire!",
"description": "The fire is very colorful."

Once you get the 200 - OK result in your testing, you can use this same formatting with Zendesk placeholders when you set up the trigger.

I hope this helps!