1. Home
  2. Developers
  3. 3rd Party Integration
  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 only need to configure one trigger and target on the Zendesk side, by using a single Apptentive App ID, which will link the accounts.

Get Your Zendesk API Token

To get started, you’ll need your Zendesk API token.

  1. In Zendesk, go to: Admin -> Channels -> API
  2. Enable Token Access
  3. Follow the instructions below and creat 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 API Token
  7. Enter your Username (email address) and Zendesk Subdomain
  8. Enable the integration but toggling the Active toggle
  9. Optionally, configure your custom data
  10. Click Save

Configure Zendesk

Next, you’ll need to add a few settings to Zendesk.

  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:
    https://notify.apptentive.com/apps/[[APP_ID]]/integrations/zendesk
  6. Make sure you replace [[APP_ID]] in the URL with your Apptentive App ID
  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:
  15. Status is… New
  16. Status is… Open
  17. Status is… Pending
  18. Status is… Solved
  19. Status is… Closed
  20. Under Perform these 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-[[APP_ID]]-subject{{ticket.title}}--boundary-Zendesk-[[APP_ID]]-body{{ticket.latest_comment.value}}
    4. Replace all occurrances of [[APP_ID]] in the above Message with your App ID.

After this, head back to the Apptentive dashboard and ensure you have activated your integration and you should now be seeing conversation messages flowing into Zendesk. Please note that there may be a slight delay depending on server load.

Updated on November 29, 2018

Was this article helpful?

Related Articles