Zendesk

Zendesk is a service-first CRM company that builds software designed to improve customer relationships. You can configure Zendesk as a Target in Activate to synchronize and transform data from your data warehouse and enrich your users and ticketing information in Zendesk.


Prerequisites


Configuring Zendesk as a Target

Perform the following steps to configure Zendesk as the Target in your Activation:

  1. Click Activate in the Asset Palette.

  2. Do one of the following:

    • Select the TARGETS tab in the Targets List View, and click + CREATE TARGET.

      Create Target

    • Select the ACTIVATIONS tab in the Activations List View, and perform the following steps:

      Create Activation

      1. Click + CREATE ACTIVATION.

      2. In the Select Warehouse page, select your Activate Warehouse or click + ADD WAREHOUSE to add a new warehouse. Read Activate Warehouses to configure the selected Warehouse type.

      3. In the Select a Target page, click + ADD TARGET.

        Add_a_Target

  3. In the Select a Target Type page, click on Zendesk.

    Select a Target Type

  4. In the Configure your Zendesk Target page, specify the following information:

    Configure your Zendesk Target

    • Target Name: A unique name for your Target.

    • Sub Domain: Your Zendesk sub-domain. Extract this from your dashboard URL. For example, if your dashboard URL is https://hevohelpdesk.zendesk.com, then your sub-domain is hevohelpdesk.

    • Email: The login email ID for your Zendesk account. This ID must be associated with an administrative account.

    • API Token: The Zendesk token you generated.

  5. Click TEST & CONTINUE.

    You can view the new Target in the Targets List View. If you are creating an Activation, you return to the Select Data to Synchronize page.

    Targets List View


Generating a Zendesk API token

  1. Log in to your Zendesk Admin Center (https://<your sub-domain name>/admin/home).

  2. In the left navigation pane, click the Apps and integrations ( ) icon and select APIs > Zendesk API.

  3. From the Settings tab, enable Token access.

  4. Click Add API token to generate a new API token.

    Add API token

  5. Copy the API token and save it in a secure location like any other password. Read Zendesk documentation to know more about the process.


Data Replication

Activate allows data synchronization for all the supported standard and custom Zendesk objects using one of these behaviors:

  • Insert New and Update Existing Records (Upsert).

  • Update Existing Records (Update).

  • Add New Records (Insert).

  • Delete Existing Records (Delete).

Data is synchronized with all the standard Zendesk objects using the Batch API endpoints, which allow the update, delete, insert and create operations on up to 100 object records in a single call. If the number of records is more than 100, multiple calls are made. In the case of custom objects, the modifications are made one by one and not in batches. Read Synchronization Behaviors.

Activate synchronizes data from the Warehouse with the supported Zendesk objects using these unique identifiers:

Unique Identifiers Description
id A unique value that Zendesk automatically assigns to the id field of the object record when it is created.
external_id A unique identifier used to associate Zendesk object records with records from another system.

For the Tickets object, the field, external_id is a matching identifier in the Upsert and Update sync behaviors.
email The email address of the user.
name A unique name for the organization.

In the Upsert sync behavior, you must use an identifier other than id. This is because Zendesk automatically assigns a value to the id field for new records, thus overwriting any existing value sent by Activate, causing the synchronization to fail. For the Update sync behavior, you can use any one of the specified unique identifiers to synchronize data. To synchronize data in the Insert sync behavior, you do not need to specify an identifier. New records, as identified by the Activation SQL query from the Warehouse, are inserted and synchronized with the Target object. For the Delete sync behavior, Hevo only allows using the unique identifier id to delete records from the Target object.


Data Model

The following table lists the objects supported by Activate and their unique or matching identifiers:

Object Unique Identifiers Matching Identifiers Description
Organizations - id
- external_id
- name
NA Provides details of the organizations into which your customers are segregated to route tickets created by them for better support.
Tickets - id - external_id Provides details of the communication between your customers and your Zendesk Support agents.
Users - id
- external_id
- email
NA Provides details of your Zendesk Support users based on their type:
- End Users: Your customers who request for support using tickets.
- Agents: Your Zendesk Support agents who resolve customer tickets.
- Administrators: Your Zendesk Support agents with administrative abilities.
Custom Objects - id
- external_id
NA Provides details of the custom objects created in the Zendesk portal for specific business requirements. Only accounts on the Zendesk Suite plans or the Zendesk Support Enterprise plan can create custom objects.

Note: For the Tickets object, in the Upsert sync behavior, you can use the external_id field only as a matching identifier. In the Update sync behavior, you can use the id field as a unique identifier and the external_id field as a matching identifier.


Target Considerations

  • A Zendesk Support Enterprise or any Zendesk Suite plan is needed to create custom objects. Read Custom Objects Limits to find out the limits on the total number of custom object records applicable to your account.

  • Zendesk imposes API rate limits on the connecting applications to prevent API traffic spikes. Since Activate uses Zendesk’s public APIs for synchronizing data, it is subject to the rate limits imposed by Zendesk. Read Usage limits.

  • The Zendesk trial account does not allow creating users using the bulk import functionality. Consequently, using Activate to create too many users while on the trial account may cause the API limits to be exceeded. To avoid this situation, you need to request the Zendesk Support team to enable the Bulk API flag in your account.

  • For some properties, the API endpoints of the Organizations, Tickets, and Users objects accept only a JSON array of strings or a comma-separated list as input. If the data values that are being synchronized are not in the expected format, an error is generated by the corresponding API endpoint, and the synchronization fails.

    The following table provides a list of these properties:

    Object Properties
    Organizations - domain_names
    - tags
    Tickets - collaborator_ids
    - email_cc_ids
    - follower_ids
    - macro_ids
    - tags
    Users - external_id
    - tags
  • The tags property or field in the Organizations, Tickets, and Users objects can contain values that are words or a combination of words. Tags provide context to the tickets or topics. If the tags field is mapped in the Activation, any existing tags in these Zendesk objects are overwritten by the values that are returned by the Activation SQL query.

    For example, suppose a record with the id value 1339 in the Users object is tagged as a “P0_customer” and “issuenotresolved>7hrs”. Now, if the Activation SQL query returns the values for the tags field of this record as the JSON array, [{“id”: 1339, “tags”:[“P0_customer”]}], then during data synchronization, Activate overwrites the existing tags with these values. Read About tags.

  • You can assign end-users to multiple organizations to manage your ticket workflow and provide visibility to tickets that are relevant to them. To link end-users to multiple organizations, you must enable the setting from your Zendesk Admin Center.

    For example, to allow users in your Sales or Product teams to access the Support team’s conversations, you can add them as end-users in the Support team. Read Enabling multiple organizations for users.


Revision History

Refer to the following table for the list of key updates made to this page:

Date Release Description of Change
Jan-24-2022 1.80 Updated sections, Data Replication and Data Model to add information about the external_id field as a matching identifier for the Tickets object.
Jan-03-2022 1.79 Updated section, Target Considerations to provide additional information on certain Zendesk objects’ properties.
Dec-20-2021 1.78 New document.
Last updated on 29 Apr 2022