Home > How to Integrate SnapEngage Live Chat with Zendesk


(Last Updated On: )

About This Article

The purpose of this article is to provide a comprehensive overview of how to integrate SnapEngage Live Chat with Zendesk.

SnapEngage will automatically notify you when your website visitors contact you. You can either receive offline requests and chat transcripts by email or directly in your preferred Help Desk, CRM or Bug Tracker.

If you would like to receive transcripts and messages in Zendesk then follow the steps below.

1. Log into your Admin Dashboard
2. Select the Integrations tab and select the Zendesk icon


3. Enter the server address, email, and password for the account and Save. You should see that it is now Connected.


4. Select whether to make chat transcripts public or private.


5. Select how you would like your chat transcripts to be sent (Automatically, only with valid visitor email address, or to not send). Next, you will select if you would like the email to be sent on the visitors behalf or from SnapEngage.


6.The next section is where you will do any custom mappings you would like. You can select from the different source types – SnapEngage, JavaScript, Text,  or Operator Variables.


7. Now, enter the Source Value you want to send to Zendesk.


8. The next 3 items will be where they go into your Zendesk. This will need to be determined by you as to where you want to see the data.


9. Save!

Custom mappings

SnapEngage includes a handy feature to populate any information it captures to standard or custom fields in Zendesk.

In this example, we will show you how to load two types of information into Zendesk.
– The Web Browser used by the website visitor
– The account type of the user, made available by the application in a JavaScript variable.


*Bear in mind that if you are mapping the priority field, the text for the values for priority field needs to be all lowercase (Even if on Zendesk they show uppercase)*

Create the custom “Ticket fields” in Zendesk:

Open Zendesk and in the menu “MANAGE“, select “Ticket Fields” and click on “Add custom field

  • Select a field type “Text

  • Give the field a name and click “Add field

  • Repeat the same steps for adding a Browser field.

Configure the data mapping in SnapEngage:

In a different browser window (we’ll need to get back to Zendesk later), open your SnapEngage Admin Dashboard and go to the Integrations settings.

  • Scroll down, and you will then see the custom data mappings for Zendesk:


We will first create a new mapping to send the Browser information to our new custom field we just created in Zendesk, select the following:

  • On SnapEngage side
    • Source type = SnapEngage,
    • Source value = Browser,  
  • and on the Zendesk side (ie: after the green arrow) 
    • Object = Ticket,
    • Type = Custom,
    • Zendesk field = (your custom field name – ex: Beep)


NOTE: To find your custom field Id, you can go back to Zendesk, click on “edit” next to the custom field you defined for the browser. On the right side, Zendesk shows the custom field ID (It is 177115 for us, but it will be something different for your Zendesk Help Desk).

That’s it! now when receiving a new support request from SnapEngage, we automatically see the custom fields populated automatically as shown below:


If you are using groups in ZenDesk then please follow these instructions to make sure chat transcripts are sent over correctly.

The Group ID field requires a numeric mapping which is found within ZendDesk.

In Zendesk you go under Settings > People > Groups

Open the Group and you will be able to find its ID as shown below

Add the custom mapping like shown below.

If you are integrating SnapEngage with Zendesk, why not map the agents to their Zendesk account to make the most of it?

To map an Agent to their profile in Zendesk, simply follow the following steps below:

1. Go to the Settings > Agent Settings tab in your Admin Dashboard

2. Next click the “edit ” button next to the agent you wish to map to Zendesk to bring up Agent Details.

3. In the “agent Zendesk account” field, you can  start to enter the agents Zendesk account name. As you begin typing, a dropdown menu will show, so you can select the Agents corresponding Zendesk account.

4. Click the “Save” button and your agents mappings will be saved.

By default SnapEngage creates Zendesk tickets on behalf of the user who has authorized the integration with SnapEngage. Most of the times this will be an admin account. It’s possible to create tickets in Zendesk on behalf of an agent who chatted with a visitor. In oder to do this the following set up should be done in SnapEngage admin dashboard:
1. Agent should be linked to his or her account in Zendesk. This is done in Agent settings: Map an Agent to their profile in Zendesk
2. A custom mapping which maps agent’s Zendesk account to Zendesk ticket submitter should be added to Zendesk integration custom mappings:

Please note: Zendesk tickets will still be created on behalf of default user in the following situations:
1. For offline requests.
2. If SnapEngage agent is not linked to Zendesk account.
3. If custom mapping which maps agent’s Zendesk account to Zendesk ticket submitter is not added to the integration settings.


Note: If you have IP restrictions enabled in ZenDesk, please make sure you refer to this doc https://cloud.google.com/appengine/kb/#static-ip as we operate on a dynamic IP range. This means that our IP’s can be changed without notice on any given day. We recommend you check these ranges often to make sure your SnapEngage/ZenDesk integration works properly.

The Help article points to this page on the Google support: https://cloud.google.com/appengine/kb/#static-ip To get the full list of IP ranges, you need to open a command line, and type first:
nslookup -q=TXT _cloud-netblocks.googleusercontent.com
When you run this command, you will get the list of current net blocks. This does change very rarely.

After that, since there are 5 net blocks, you need to run these 5 commands:
nslookup -q=TXT _cloud-netblocks1.googleusercontent.com
nslookup -q=TXT _cloud-netblocks2.googleusercontent.com
nslookup -q=TXT _cloud-netblocks3.googleusercontent.com
nslookup -q=TXT _cloud-netblocks4.googleusercontent.com
nslookup -q=TXT _cloud-netblocks5.googleusercontent.com

Each command will give you some IP ranges. You need to group all 5 together there.

One command will give you this output:
Mike@MikesComputer:~/git/snapengage$ nslookup -q=TXT _cloud-netblocks1.googleusercontent.com

Non-authoritative answer:
_cloud-netblocks1.googleusercontent.com text = “v=spf1 include:_cloud-netblocks6.googleusercontent.com include:_cloud-netblocks7.googleusercontent.com ip4: ip4: ip4: ip4: ip4: ip4: ?all”

Authoritative answers can be found from:


In this output, you need to need to reformat, put each item starting with ip on one line, and remove the header:

Did you find this article helpful?

Not HelpfulNeeds WorkSo-soHelpfulVery Helpful (3 votes, average: 4.00 out of 5)
Loading ... Loading ...

Published October 4, 2012

Reader Feedback

No comments yet

Add your thoughts