1. Home
  2. Developer Guides
  3. Other Technical Resources
  4. Integrating Zendesk with Apptentive

Integrating Zendesk with Apptentive

Synchronize and manage conversations with Zendesk.

You will need to know your Apptentive App ID in order to complete the integration steps below. The App ID can be found in the URL of each Apptentive app. For instance, in the app URL: https://be.apptentive.com/apps/4eec2417687b69000100 where 4eec2417687b69000100 is the App ID. Once you have found your App ID, you can complete the instructions below.

The Apptentive Zendesk Integration automatically opens tickets in Zendesk and keeps them in sync when your customers provide feedback in-app. When you reply via Zendesk, the feedback is automatically routed back to the customer and displayed within your app in Message Center. Apptentive creates one Conversation per user and only one active ticket in Zendesk will receive the messages a customer sends via Message Center. If there’s no currently active ticket in Zendesk for the customer, a new one will be created.

For each Apptentive app you would like to integrate with Zendesk, you will need to activate the Zendesk integration on our dashboard. On Apptentive’s side, this requires the API token, email address, and subdomain associated with the Zendesk account. You will need to configure a single trigger and target on the Zendesk side, by using each Apptentive App ID that you’d like the Zendesk integration to write to, which will link the accounts.

For example: https://notify2.apptentive.com/integrations/apps/APPID1,APPID2/zendesk. If you’d like to link your dev apps for testing, include those AppIDs as well.

Get Your Zendesk API Token

First, you’ll configure Apptentive to post messages from Message Center into Zendesk using an API token.

  1. In Zendesk, go to: Admin -> Channels -> API
  2. Enable Token Access
  3. Follow the instructions below and create a new API token with the description Apptentive Integration
  4. Copy the new API Token
  5. Go to your app’s Apptentive Integrations, and click Zendesk
  6. Paste the API Token in the API Token field
  7. Enter your Username (email address) and Zendesk Subdomain
  8. Enable the integration by toggling the Active toggle on Apptentive
  9. Optionally, configure your custom data
  10. Click Save

Configure Zendesk

Next, you’ll configure Zendesk so that any replies you send from Zendesk are routed back to your customers via Message Center. This step is required if you want customers to see those replies in Message Center, though you may want to use other methods of notifying customers instead of or in addition to this.

  1. In Zendesk, go to Admin -> Settings -> Extensions -> Targets
  2. Click add Target
  3. Click URL Target
  4. Set Title to “Apptentive”
  5. Set URL to:
  6. Make sure you replace APPID1,APPID2 (and so on) in the URL with all Apptentive App IDs. Each must be separated by a comma with no space. The order does not matter, but you must include all app IDs. 
    • Example for a single app: https://notify2.apptentive.com/integrations/apps/503ea820253aff102d9b1a1a/zendesk
    • Example for multiple apps: https://notify2.apptentive.com/integrations/apps/503ea820253aff102d9b1a1a,5b3ea826253aff102d9baa1f,5f501361403664788400000d/zendesk
  7. Set Method to POST
  8. Set Attribute Name to data
  9. Select Test Target, click Submit, and verify success
  10. Select Create Target, and click Submit
  11. Go to Admin -> Business Rules -> Triggers
  12. Click Add trigger
  13. Set Trigger name to “Apptentive”
  14. Under Meet ANY of the following conditions add all of the following:
    1. Status is… New
    2. Status is… Open
    3. Status is… Pending
    4. Status is… Solved
    5. Status is… Closed
  15. Under Actions:
    1. Select Notifications: Notify target
    2. Set Target to the Target Title above (e.g. “Apptentive”)
    3. Set Message to the following:
      { "ticket": { "id": {{ticket.id}}, "status": "{{ticket.status | downcase}}", "created_by": { "name": "{{ticket.requester.name}}", "email": "{{ticket.requester.email}}" } }, "message": { "id": {{ticket.latest_comment.id}}, "public": {{ticket.latest_comment.is_public}}, "created_at": "{{ticket.latest_comment.created_at_with_time | date: '%c'}}", "sender": { "name": "{{ticket.latest_comment.author.name}}", "email": "{{ticket.latest_comment.author.email}}" }, "attachments": [ {% for attachment in ticket.latest_comment.attachments %} { "name": "{{attachment.filename}}", "url": "{{attachment.url}}" } {% unless forloop.last %},{% endunless %} {% endfor %} ] } }--boundary-Zendesk-subject{{ticket.title}}--boundary-Zendesk-body{{ticket.latest_comment.value}}

After this, head back to the Apptentive dashboard and ensure you have activated your integration. From here, all inbound messages from Message Center should be routed to Zendesk. Messages typically show up in Zendesk within a minute or two of being received by Apptentive, but there may be a slight delay depending on server load.

If Your Target Becomes Unhooked

Though it happens rarely, it is possible for your Zendesk trigger/hook to become deactivated. Luckily, this is easy to fix. To reactivate the trigger/hook, from your Zendesk Dashboard, go to:

Admin -> Settings -> Extensions -> Targets -> find the toggle for Apptentive and set it to ‘Active’

Updated on October 21, 2021

Was this article helpful?

Related Articles