# Zendesk Support

Zendesk Support provides SaaS products related to customer support, sales, and other customer communications. You can use Zendesk Support as a data source when landing or replicating data.

Zendesk Support integration replicates data using [Zendesk Ticketing API](https://developer.zendesk.com/api-reference/ticketing/introduction/) and [Zendesk Voice API](https://developer.zendesk.com/api-reference/voice/talk-api/introduction/).

See the [Schema](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#Schema) section for a list of objects available for replication.

## Preparing for authentication

To access your data, you need to authenticate the connection with your account credentials.

Information noteMake sure that the account you use has read access to the tables you want to fetch.

To set up the integration, you must have administrator permissions in Zendesk. Replicating SLA policies requires an Enterprise or Professional plan.

To retrieve your client ID and client secret:

1. Log into your [Zendesk](https://support.zendesk.com/auth/v3/signin?brand_id=360002256920&locale=en-us&return_to=https%3A%2F%2Fsupport.zendesk.com%2Fhc%2Fen-us%2Farticles%2F4408845965210-Using-OAuth-authentication-with-your-application&role=end_user) account.

2. In Admin Center, navigate to Apps and integrations &gt; APIs &gt; OAuth clients &gt; Add OAuth client.

3. Enter the following fields to create a client:

   * Name: Enter a name for your app.
   * Client kind: Select Confidential.
   * Redirect URLs: Enter https://connector.qlik.com/auth/oauth/v3.htm.

4. Click Save.

   A Secret field is generated.

5. Copy and paste your client ID and client secret into a secured file.

## Creating the connection

For more information, see [Connecting to SaaS applications](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm).

1. Click Authenticate when you have filled in the required connection settings.

   You may be asked to log in to the source application.

   A window is displayed with an authentication code.

2. Copy the code to the clipboard and return to the connection dialog.

3. Paste the code in Complete authentication with the code provided by the source and click Verify.

   Tip noteYou may need to scroll down to see this field.

   When status is Verified, the authentication is verified.

4. Provide a name for the connection in Connection name.

5. Select Open connection metadata to define metadata for the connection when it has been created.

Connection settings

| Setting | Description |
| --- | --- |
| Data gateway | Select a Data Movement gateway if required by your use case.<br><br>Information note<br><br>This field is not available with the Qlik Talend Cloud Starter subscription, as it does not support Data Movement gateway. If you have another subscription tier and do not want to use Data Movement gateway, select None.<br><br>For information on the benefits of Data Movement gateway and use cases that require it, see [Qlik Data Gateway - Data Movement](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm). |
| Start Date | Enter the date, in the format `MM/DD/YYYY`, from which the data must be replicated from your source to your target. |
| Zendesk Subdomain | You can find the subdomain of your Zendesk site in the URL of your account homepage. If the URL is https://qlik.zendesk.com/, the subdomain is qlik. |
| Client ID | Client ID. |
| Client Secret | Client secret. |
| Marketplace Name | Name of the integration. |
| Marketplace Organization ID | Organization ID. |
| Marketplace App ID | App ID. |

## Schema

Information note

Schemas and naming conventions can change from version to version. It is recommended to verify your version before continuing.

Depending on your destination, table and column names may not appear as they are outlined below.

### group\_memberships

The `group_memberships` table contains info about the groups your Zendesk Support agents are members of.

**Note**: Retrieving group membership data requires Zendesk Support Agent or Admin permissions.

#### Deleted group memberships

As Zendesk Support’s API doesn’t currently provide a method for identifying deleted group memberships, we recommend periodically dropping this table and allowing Stitch to re-create it. Currently, dropping and re-populating the table is the only way to detect deletions.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/groups/group_memberships/ "Opens in new tab: Zendesk Support API method") |

group\_memberships table foreign keys

| Join group\_memberships with | on |
| --- | --- |
| [groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#groups) | ```<br>group_memberships.group_id = groups.id<br>``` |
| [organizations](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#organizations) | ```<br>group_memberships.group_id = organizations.group_id<br>``` |
| [satisfaction_ratings](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#satisfaction-ratings) | ```<br>group_memberships.group_id = satisfaction_ratings.group_id<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>group_memberships.group_id = tickets.group_id<br>``` |
| [users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#users) | ```<br>group_memberships.group_id = users.default_group_id<br>``` |

group\_memberships table schema

| **created\_at**<br><br><br>DATE-TIME |
| --- |
| **default**<br><br><br>BOOLEAN |
| **group\_id**<br><br><br>INTEGER |
| **id**<br><br><br>INTEGER |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |
| **user\_id**<br><br><br>INTEGER |

### groups

The `groups` table contains info about the groups in your Zendesk Support account.

**Note**: Retrieving group data requires Zendesk Support Admin or Agent permissions.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/groups/groups/ "Opens in new tab: Zendesk Support API method") |

groups table foreign keys

| Join groups with | on |
| --- | --- |
| [group_memberships](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#group-memberships) | ```<br>groups.id = group_memberships.group_id<br>``` |
| [organizations](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#organizations) | ```<br>groups.id = organizations.group_id<br>``` |
| [satisfaction_ratings](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#satisfaction-ratings) | ```<br>groups.id = satisfaction_ratings.group_id<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>groups.id = tickets.group_id<br>``` |
| [users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#users) | ```<br>groups.id = users.default_group_id<br>```<br><br>```<br>groups.id = users.id<br>``` |
| [macros](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#macros) | ```<br>groups.id = macros.restriction.id<br>``` |

groups table schema

| **created\_at**<br><br><br>DATE-TIME |
| --- |
| **default**<br><br><br>BOOLEAN |
| **deleted**<br><br><br>BOOLEAN |
| **description**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **is\_public**<br><br><br>BOOLEAN |
| **name**<br><br><br>STRING |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |

### macros

The `macros` table contains info about the macros in your Zendesk Support account. Macros are actions defined by you that modify the values of a ticket’s fields.

**Note**: Retrieving macro data requires Zendesk Support Agent or Admin permissions.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/business-rules/macros/ "Opens in new tab: Zendesk Support API method") |

macros table foreign keys

| Join macros with | on |
| --- | --- |
| [ticket_audits](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-audits) | ```<br>macros.id = ticket_audits.events.macro_id<br>``` |
| [groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#groups) | ```<br>macros.restriction.id = groups.id<br>``` |
| [users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#users) | ```<br>macros.restriction.id = users.id<br>``` |

macros table schema

| **actions**<br><br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>field: STRING</li><li>value: STRING</li></ul> |
| --- |
| **active**<br><br><br>BOOLEAN |
| **created\_at**<br><br><br>DATE-TIME |
| **description**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **position**<br><br><br>INTEGER |
| **restriction**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>id: INTEGER</li><li>ids: ARRAY, which is also a nested data structure.</li><li>type: STRING</li></ul> |
| **title**<br><br><br>STRING |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |

### organizations

The `organizations` table contains information about the organizations your end-users belong to.

#### Custom organization fields

Zendesk Support integration will replicate any custom fields associated with organization records.

**Note**: Replicating organization custom fields requires that you be on a Team, Professional, or Enterprise Zendesk Support plan and have Admin permissions in Zendesk Support.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/organizations/organizations/ "Opens in new tab: Zendesk Support API method") |

organizations table foreign keys

| Join organizations with | on |
| --- | --- |
| [groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#groups) | ```<br>organizations.group_id = groups.id<br>``` |
| [group_memberships](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#group-memberships) | ```<br>organizations.group_id = group_memberships.group_id<br>``` |
| [satisfaction_ratings](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#satisfaction-ratings) | ```<br>organizations.group_id = satisfaction_ratings.group_id<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>organizations.group_id = tickets.group_id<br>```<br><br>```<br>organizations.id = tickets.organization_id<br>```<br><br>```<br>organizations.tags = tickets.tags<br>``` |
| [users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#users) | ```<br>organizations.group_id = users.default_group_id<br>```<br><br>```<br>organizations.id = users.organization_id<br>```<br><br>```<br>organizations.tags = users.tags<br>``` |
| [tags](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tags) | ```<br>organizations.tags = tags.name<br>``` |

organizations table schema

| **created\_at**<br><br><br>DATE-TIME |
| --- |
| **deleted\_at**<br><br><br>DATE-TIME |
| **details**<br><br><br>STRING |
| **domain\_names**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **external\_id**<br><br><br>STRING |
| **group\_id**<br><br><br>INTEGER |
| **id**<br><br><br>INTEGER |
| **name**<br><br><br>STRING |
| **notes**<br><br><br>STRING |
| **organization\_fields**<br><br><br>OBJECT<br><br>This is a nested data structure. |
| **shared\_comments**<br><br><br>BOOLEAN |
| **shared\_tickets**<br><br><br>BOOLEAN |
| **tags**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |

### satisfaction\_ratings

The `satisfaction_ratings` table contains info about ratings users have offered on support tickets.

**Note**: This table is only available if satisfaction ratings are enabled in your Zendesk Support account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/ticket-management/satisfaction_ratings/ "Opens in new tab: Zendesk Support API method") |

satisfaction\_ratings table foreign keys

| Join satisfaction\_ratings with | on |
| --- | --- |
| [groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#groups) | ```<br>satisfaction_ratings.group_id = groups.id<br>``` |
| [group_memberships](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#group-memberships) | ```<br>satisfaction_ratings.group_id = group_memberships.group_id<br>``` |
| [organizations](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#organizations) | ```<br>satisfaction_ratings.group_id = organizations.group_id<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>satisfaction_ratings.group_id = tickets.group_id<br>```<br><br>```<br>satisfaction_ratings.ticket_id = tickets.id<br>```<br><br>```<br>satisfaction_ratings.assignee_id = tickets.requester_id<br>```<br><br>```<br>satisfaction_ratings.requester_id = tickets.requester_id<br>```<br><br>```<br>satisfaction_ratings.assignee_id = tickets.follower_ids<br>```<br><br>```<br>satisfaction_ratings.requester_id = tickets.follower_ids<br>```<br><br>```<br>satisfaction_ratings.assignee_id = tickets.submitter_id<br>```<br><br>```<br>satisfaction_ratings.requester_id = tickets.submitter_id<br>```<br><br>```<br>satisfaction_ratings.assignee_id = tickets.collaborator_ids<br>```<br><br>```<br>satisfaction_ratings.requester_id = tickets.collaborator_ids<br>```<br><br>```<br>satisfaction_ratings.assignee_id = tickets.assignee_id<br>```<br><br>```<br>satisfaction_ratings.requester_id = tickets.assignee_id<br>``` |
| [users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#users) | ```<br>satisfaction_ratings.group_id = users.default_group_id<br>```<br><br>```<br>satisfaction_ratings.assignee_id = users.id<br>```<br><br>```<br>satisfaction_ratings.requester_id = users.id<br>``` |
| [ticket_audits](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-audits) | ```<br>satisfaction_ratings.ticket_id = ticket_audits.ticket_id<br>```<br><br>```<br>satisfaction_ratings.assignee_id = ticket_audits.author_id<br>```<br><br>```<br>satisfaction_ratings.requester_id = ticket_audits.author_id<br>``` |
| [ticket_comments](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-comments) | ```<br>satisfaction_ratings.ticket_id = ticket_comments.ticket_id<br>```<br><br>```<br>satisfaction_ratings.assignee_id = ticket_comments.author_id<br>```<br><br>```<br>satisfaction_ratings.requester_id = ticket_comments.author_id<br>``` |
| [ticket_metrics](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-metrics) | ```<br>satisfaction_ratings.ticket_id = ticket_metrics.ticket_id<br>``` |

satisfaction\_ratings table schema

| **assignee\_id**<br><br><br>INTEGER |
| --- |
| **comment**<br><br><br>STRING |
| **created\_at**<br><br><br>DATE-TIME |
| **group\_id**<br><br><br>INTEGER |
| **id**<br><br><br>INTEGER |
| **reason**<br><br><br>STRING |
| **reason\_id**<br><br><br>INTEGER |
| **requester\_id**<br><br><br>INTEGER |
| **score**<br><br><br>STRING |
| **ticket\_id**<br><br><br>INTEGER |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |

### sla\_policies

The `sla_policies` table contains info about the Service Level Agreements (SLAs) in your Zendesk Support account. An SLA is a documented agreement between a support provider and their customers that defines performance measures for support.

**Note**: Replicating SLA policies requires that you be on an Enterprise or Professional Zendesk Support plan, and have Admin permissions in Zendesk Support.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/business-rules/sla_policies/ "Opens in new tab: Zendesk Support API method") |

sla\_policies table schema

| **created\_at**<br><br><br>DATE-TIME |
| --- |
| **description**<br><br><br>STRING |
| **filter**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>all: ARRAY, which is also a nested data structure.            <ul><li>field: STRING</li><li>operator: STRING</li><li>value: STRING</li></ul></li><li>any: ARRAY, which is also a nested data structure.            <ul><li>field: STRING</li><li>operator: STRING</li><li>value: STRING</li></ul></li></ul> |
| **id**<br><br><br>INTEGER |
| **policy\_metrics**<br><br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>business_hours: BOOLEAN</li><li>priority: STRING</li><li>target: INTEGER</li></ul> |
| **position**<br><br><br>INTEGER |
| **title**<br><br><br>STRING |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |

### tags

The `tags` table the names and total number of applications of the tags in your Zendesk Support account.

**Note**: Retrieving tag data requires Zendesk Support Admin permissions.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | name |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/ticket-management/tags/ "Opens in new tab: Zendesk Support API method") |

tags table foreign keys

| Join tags with | on |
| --- | --- |
| [organizations](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#organizations) | ```<br>tags.name = organizations.tags<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>tags.name = tickets.tags<br>``` |
| [users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#users) | ```<br>tags.name = users.tags<br>``` |

tags table schema

| **count**<br><br><br>INTEGER |
| --- |
| **name**<br><br><br>STRING |

### talk\_phone\_numbers

This table contains data about phone numbers in Zendesk Talk.

**Note**: Zendesk Voice is an add-on feature and is not enabled by default. You can create a Zendesk Support connection without Zendesk Voice. However, the `talk_phone_numbers` table is replicated through the Zendesk Voice API. To replicate this table, your Zendesk account must have at least a Suite Team subscription and the Zendesk Voice add-on enabled. See [Zendesk pricing](https://www.zendesk.com/pricing/).

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/voice/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/voice/talk-api/phone_numbers/ "Opens in new tab: Zendesk Support API method") |

talk\_phone\_numbers table schema

| **capabilities**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>mms: BOOLEAN</li><li>sms: BOOLEAN</li><li>voice: BOOLEAN</li></ul> |
| --- |
| **categorised\_greetings**<br><br><br>OBJECT<br><br>This is a nested data structure. |
| **categorised\_greetings\_with\_sub\_settings**<br><br><br>OBJECT<br><br>This is a nested data structure. |
| **country\_code**<br><br><br>STRING |
| **created\_at**<br><br><br>DATE-TIME |
| **default\_greeting\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **default\_group\_id**<br><br><br>INTEGER |
| **display\_number**<br><br><br>STRING |
| **external**<br><br><br>BOOLEAN |
| **greeting\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **group\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **id**<br><br><br>INTEGER |
| **ivr\_id**<br><br><br>INTEGER |
| **line\_type**<br><br><br>STRING |
| **location**<br><br><br>STRING |
| **name**<br><br><br>STRING |
| **nickname**<br><br><br>STRING |
| **number**<br><br><br>STRING |
| **outbound\_enabled**<br><br><br>BOOLEAN |
| **priority**<br><br><br>INTEGER |
| **recorded**<br><br><br>BOOLEAN |
| **schedule\_id**<br><br><br>INTEGER |
| **sms\_enabled**<br><br><br>BOOLEAN |
| **sms\_group\_id**<br><br><br>INTEGER |
| **token**<br><br><br>STRING |
| **toll\_free**<br><br><br>BOOLEAN |
| **transcription**<br><br><br>BOOLEAN |
| **voice\_enabled**<br><br><br>BOOLEAN |

### ticket\_audits

The `ticket_audits` table contains info about the activity associated with a ticket. An audit is a history of all updates to a given ticket. When a ticket is updated in Zendesk Support, an audit record is created. Each audit represents a single update to a ticket.

A single audit record may include multiple event types. For example: A ticket comment, satisfaction rating, and a change event. For a full list of Zendesk Support audit event types, [refer to Zendesk Support’s documentation](https://developer.zendesk.com/rest_api/Content/support/ticket_audits#audit-events).

#### Replication

This table uses Append-Only Incremental Replication. This means that new audit records, or updates made to existing audits, are appended as new rows to the end of the table.

| **Replication Method** | Append-Only Incremental |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | created\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/ticketing/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_audits/#list-audits-for-a-ticket "Opens in new tab: Zendesk Support API method") |

ticket\_audits table foreign keys

| Join ticket\_audits with | on |
| --- | --- |
| [macros](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#macros) | ```<br>ticket_audits.events.macro_id = macros.id<br>``` |
| [ticket_comments](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-comments) | ```<br>ticket_audits.id = ticket_comments.audit_id<br>```<br><br>```<br>ticket_audits.events.audit_id = ticket_comments.audit_id<br>```<br><br>```<br>ticket_audits.ticket_id = ticket_comments.ticket_id<br>```<br><br>```<br>ticket_audits.author_id = ticket_comments.author_id<br>``` |
| [satisfaction_ratings](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#satisfaction-ratings) | ```<br>ticket_audits.ticket_id = satisfaction_ratings.ticket_id<br>```<br><br>```<br>ticket_audits.author_id = satisfaction_ratings.assignee_id<br>```<br><br>```<br>ticket_audits.author_id = satisfaction_ratings.requester_id<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>ticket_audits.ticket_id = tickets.id<br>```<br><br>```<br>ticket_audits.author_id = tickets.requester_id<br>```<br><br>```<br>ticket_audits.author_id = tickets.follower_ids<br>```<br><br>```<br>ticket_audits.author_id = tickets.submitter_id<br>```<br><br>```<br>ticket_audits.author_id = tickets.collaborator_ids<br>```<br><br>```<br>ticket_audits.author_id = tickets.assignee_id<br>``` |
| [ticket_metrics](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-metrics) | ```<br>ticket_audits.ticket_id = ticket_metrics.ticket_id<br>``` |
| [users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#users) | ```<br>ticket_audits.author_id = users.id<br>``` |

ticket\_audits table schema

| **author\_id**<br><br><br>INTEGER |
| --- |
| **created\_at**<br><br><br>DATE-TIME |
| **events**<br><br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>attachments: ARRAY, which is also a nested data structure.</li><li>audit_id: INTEGER</li><li>author_id: INTEGER</li><li>body: STRING</li><li>created_at: DATE-TIME</li><li>data: OBJECT, which is also a nested data structure.            <ul><li>answered_by_id: INTEGER</li><li>answered_by_name: STRING</li><li>call_duration: STRING</li><li>from: STRING</li><li>recording_url: STRING</li><li>started_at: DATE-TIME</li><li>to: STRING</li><li>transcription_status: STRING</li><li>transcription_text: STRING</li></ul></li><li>field_name: STRING</li><li>formatted_from: STRING</li><li>formatted_to: STRING</li><li>html_body: STRING</li><li>id: INTEGER</li><li>macro_deleted: BOOLEAN</li><li>macro_id: STRING</li><li>macro_title: STRING</li><li>plain_body: STRING</li><li>previous_value: ARRAY, STRING, which is also a nested data structure.</li><li>public: BOOLEAN</li><li>recipients: ARRAY, which is also a nested data structure.</li><li>resource: STRING</li><li>subject: STRING</li><li>trusted: BOOLEAN</li><li>type: STRING</li><li>value: ARRAY, STRING, which is also a nested data structure.</li><li>via: OBJECT, which is also a nested data structure.            <ul><li>channel: STRING</li><li>source: OBJECT, which is also a nested data structure.                    <ul><li>from: OBJECT, which is also a nested data structure.                            <ul><li>address: STRING</li><li>deleted: BOOLEAN</li><li>id: INTEGER</li><li>name: STRING</li><li>original_recipients: ARRAY, which is also a nested data structure.</li><li>revision_id: INTEGER</li><li>subject: STRING</li><li>ticket_id: INTEGER</li><li>title: STRING</li></ul></li><li>rel: STRING</li><li>to: OBJECT, which is also a nested data structure.                            <ul><li>address: STRING</li><li>name: STRING</li></ul></li></ul></li></ul></li></ul> |
| **id**<br><br><br>INTEGER |
| **metadata**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>flags: ARRAY, which is also a nested data structure.</li><li>flags_options: OBJECT, which is also a nested data structure.            <ul><li>11: OBJECT, which is also a nested data structure.                    <ul><li>message: OBJECT, which is also a nested data structure.                            <ul><li>user: STRING</li></ul></li><li>trusted: BOOLEAN</li></ul></li><li>2: OBJECT, which is also a nested data structure.                            <ul><li>trusted: BOOLEAN</li></ul></li></ul></li><li>notifications_suppressed_for: ARRAY, which is also a nested data structure.</li><li>system: OBJECT, which is also a nested data structure.            <ul><li>client: STRING</li><li>ip_address: STRING</li><li>json_email_identifier: STRING</li><li>latitude: NUMBER</li><li>location: STRING</li><li>longitude: NUMBER</li><li>message_id: STRING</li><li>raw_email_identifier: STRING</li></ul></li><li>trusted: BOOLEAN</li></ul> |
| **ticket\_id**<br><br><br>INTEGER |
| **via**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>channel: STRING</li><li>source: OBJECT, which is also a nested data structure.                    <ul><li>from: OBJECT, which is also a nested data structure.                            <ul><li>address: STRING</li><li>deleted: BOOLEAN</li><li>id: INTEGER</li><li>name: STRING</li><li>original_recipients: ARRAY, which is also a nested data structure.</li><li>subject: STRING</li><li>ticket_id: INTEGER</li><li>ticket_ids: ARRAY, which is also a nested data structure.</li><li>title: STRING</li></ul></li><li>rel: STRING</li><li>to: OBJECT, which is also a nested data structure.                            <ul><li>address: STRING</li><li>name: STRING</li></ul></li></ul></li></ul> |

### ticket\_comments

The `ticket_comments` table contains info about the comments on tickets, which is the conversation between requesters, collaborators, and agents. Comments can be public or private.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | created\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/ticketing/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/ "Opens in new tab: Zendesk Support API method") |

ticket\_comments table foreign keys

| Join ticket\_comments with | on |
| --- | --- |
| [ticket_audits](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-audits) | ```<br>ticket_comments.audit_id = ticket_audits.id<br>```<br><br>```<br>ticket_comments.audit_id = ticket_audits.events.audit_id<br>```<br><br>```<br>ticket_comments.ticket_id = ticket_audits.ticket_id<br>```<br><br>```<br>ticket_comments.author_id = ticket_audits.author_id<br>``` |
| [satisfaction_ratings](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#satisfaction-ratings) | ```<br>ticket_comments.ticket_id = satisfaction_ratings.ticket_id<br>```<br><br>```<br>ticket_comments.author_id = satisfaction_ratings.assignee_id<br>```<br><br>```<br>ticket_comments.author_id = satisfaction_ratings.requester_id<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>ticket_comments.ticket_id = tickets.id<br>```<br><br>```<br>ticket_comments.author_id = tickets.requester_id<br>```<br><br>```<br>ticket_comments.author_id = tickets.follower_ids<br>```<br><br>```<br>ticket_comments.author_id = tickets.submitter_id<br>```<br><br>```<br>ticket_comments.author_id = tickets.collaborator_ids<br>```<br><br>```<br>ticket_comments.author_id = tickets.assignee_id<br>``` |
| [ticket_metrics](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-metrics) | ```<br>ticket_comments.ticket_id = ticket_metrics.ticket_id<br>``` |
| [users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#users) | ```<br>ticket_comments.author_id = users.id<br>``` |

ticket\_comments table schema

| **attachments**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| --- |
| **audit\_id**<br><br><br>INTEGER |
| **author\_id**<br><br><br>INTEGER |
| **body**<br><br><br>STRING |
| **created\_at**<br><br><br>DATE-TIME |
| **html\_body**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **metadata**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>flags: ARRAY, which is also a nested data structure.</li><li>flags_options: OBJECT, which is also a nested data structure.            <ul><li>11: OBJECT, which is also a nested data structure.                    <ul><li>message: OBJECT, which is also a nested data structure.                            <ul><li>user: STRING</li></ul></li><li>trusted: BOOLEAN</li></ul></li><li>2: OBJECT, which is also a nested data structure.                            <ul><li>trusted: BOOLEAN</li></ul></li></ul></li><li>notifications_suppressed_for: ARRAY, which is also a nested data structure.</li><li>system: OBJECT, which is also a nested data structure.            <ul><li>client: STRING</li><li>ip_address: STRING</li><li>json_email_identifier: STRING</li><li>latitude: NUMBER</li><li>location: STRING</li><li>longitude: NUMBER</li><li>message_id: STRING</li><li>raw_email_identifier: STRING</li></ul></li><li>trusted: BOOLEAN</li></ul> |
| **plain\_body**<br><br><br>STRING |
| **public**<br><br><br>BOOLEAN |
| **ticket\_id**<br><br><br>INTEGER |
| **type**<br><br><br>STRING |
| **via**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>channel: STRING</li><li>source: OBJECT, which is also a nested data structure.                    <ul><li>from: OBJECT, which is also a nested data structure.                            <ul><li>address: STRING</li><li>deleted: BOOLEAN</li><li>id: INTEGER</li><li>name: STRING</li><li>original_recipients: ARRAY, which is also a nested data structure.</li><li>subject: STRING</li><li>ticket_id: INTEGER</li><li>ticket_ids: ARRAY, which is also a nested data structure.</li><li>title: STRING</li></ul></li><li>rel: STRING</li><li>to: OBJECT, which is also a nested data structure.                            <ul><li>address: STRING</li><li>name: STRING</li></ul></li></ul></li></ul> |

### ticket\_fields

The `ticket_fields` table contains info about the basic text and custom ticket fields in your Zendesk Support account.

**Note**: Retrieving ticket metric data requires Zendesk Support Agent or Admin permissions.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/ticketing/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_fields/ "Opens in new tab: Zendesk Support API method") |

ticket\_fields table foreign keys

| Join ticket\_fields with | on |
| --- | --- |
| [ticket_forms](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-forms) | ```<br>ticket_fields.id = ticket_forms.ticket_field_ids<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>ticket_fields.id = tickets.custom_fields.id<br>``` |

ticket\_fields table schema

| **active**<br><br><br>BOOLEAN |
| --- |
| **agent\_can\_edit**<br><br><br>BOOLEAN |
| **agent\_description**<br><br><br>STRING |
| **collapsed\_for\_agents**<br><br><br>BOOLEAN |
| **created\_at**<br><br><br>DATE-TIME |
| **custom\_field\_options**<br><br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>default: BOOLEAN</li><li>id: INTEGER</li><li>name: STRING</li><li>raw_name: STRING</li><li>value: STRING</li></ul> |
| **description**<br><br><br>STRING |
| **editable\_in\_portal**<br><br><br>BOOLEAN |
| **id**<br><br><br>INTEGER |
| **key**<br><br><br>STRING |
| **position**<br><br><br>INTEGER |
| **raw\_agent\_description**<br><br><br>STRING |
| **raw\_description**<br><br><br>STRING |
| **raw\_title**<br><br><br>STRING |
| **raw\_title\_in\_portal**<br><br><br>STRING |
| **regexp\_for\_validation**<br><br><br>STRING |
| **removable**<br><br><br>BOOLEAN |
| **required**<br><br><br>BOOLEAN |
| **required\_in\_portal**<br><br><br>BOOLEAN |
| **sub\_type\_id**<br><br><br>INTEGER |
| **system\_field\_options**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **tag**<br><br><br>STRING |
| **title**<br><br><br>STRING |
| **title\_in\_portal**<br><br><br>STRING |
| **type**<br><br><br>STRING |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |
| **visible\_in\_portal**<br><br><br>BOOLEAN |

### ticket\_forms

The `ticket_forms` table contains info about the ticket forms in your Zendesk Support account.

**Note**: Replicating ticket forms requires that you be on an Enterprise Zendesk Support plan or a Professional plan with the corresponding add-on, and have Admin permissions in Zendesk Support.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/ticketing/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_forms/ "Opens in new tab: Zendesk Support API method") |

ticket\_forms table foreign keys

| Join ticket\_forms with | on |
| --- | --- |
| [ticket_fields](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-fields) | ```<br>ticket_forms.ticket_field_ids = ticket_fields.id<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>ticket_forms.ticket_field_ids = tickets.custom_fields.id<br>```<br><br>```<br>ticket_forms.id = tickets.ticket_form_id<br>``` |

ticket\_forms table schema

| **active**<br><br><br>BOOLEAN |
| --- |
| **agent\_conditions**<br><br><br>ARRAY |
| **created\_at**<br><br><br>DATE-TIME |
| **default**<br><br><br>BOOLEAN |
| **deleted\_at**<br><br><br>DATE-TIME |
| **display\_name**<br><br><br>STRING |
| **end\_user\_conditions**<br><br><br>ARRAY |
| **end\_user\_visible**<br><br><br>BOOLEAN |
| **form\_type**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **in\_all\_brands**<br><br><br>BOOLEAN |
| **name**<br><br><br>STRING |
| **position**<br><br><br>INTEGER |
| **raw\_display\_name**<br><br><br>STRING |
| **raw\_name**<br><br><br>STRING |
| **restricted\_brand\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **ticket\_field\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |

### ticket\_metric\_events

This table contains data about reply times, agent work times, and requester wait times.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | time |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/ticketing/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_metric_events/ "Opens in new tab: Zendesk Support API method") |

ticket\_metric\_events table schema

| **deleted**<br><br><br>BOOLEAN |
| --- |
| **id**<br><br><br>INTEGER |
| **instance\_id**<br><br><br>INTEGER |
| **metric**<br><br><br>STRING |
| **sla**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>business_hours: BOOLEAN</li><li>policy: OBJECT, which is also a nested data structure.            <ul><li>description: STRING</li><li>id: INTEGER</li><li>title: STRING</li></ul></li><li>target: INTEGER</li></ul> |
| **status**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>business: INTEGER</li><li>calendar: INTEGER</li></ul> |
| **ticket\_id**<br><br><br>INTEGER |
| **time**<br><br><br>DATE-TIME |
| **type**<br><br><br>STRING |

### ticket\_metrics

The `ticket_metrics` table contains info about the metrics associated with Zendesk Support tickets. **This table will not include records for deleted tickets.**

**Note**: Retrieving ticket metric data requires Zendesk Support Admin permissions.

#### Deleted ticket metrics

As Zendesk Support’s API doesn’t currently support returning metrics for deleted tickets, this table will not contain any metrics for deleted tickets.

If you believe you’re missing records, check in your Zendesk Support account to see if the missing records are for deleted tickets.

For more info on how Zendesk Support handles deleting tickets, [refer to their documentation](https://support.zendesk.com/hc/en-us/articles/203690936).

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/ticketing/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_metrics/ "Opens in new tab: Zendesk Support API method") |

ticket\_metrics table foreign keys

| Join ticket\_metrics with | on |
| --- | --- |
| [satisfaction_ratings](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#satisfaction-ratings) | ```<br>ticket_metrics.ticket_id = satisfaction_ratings.ticket_id<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>ticket_metrics.ticket_id = tickets.id<br>``` |
| [ticket_audits](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-audits) | ```<br>ticket_metrics.ticket_id = ticket_audits.ticket_id<br>``` |
| [ticket_comments](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-comments) | ```<br>ticket_metrics.ticket_id = ticket_comments.ticket_id<br>``` |

ticket\_metrics table schema

| **agent\_wait\_time\_in\_minutes**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>business: INTEGER</li><li>calendar: INTEGER</li></ul> |
| --- |
| **assigned\_at**<br><br><br>DATE-TIME |
| **assignee\_stations**<br><br><br>INTEGER |
| **assignee\_updated\_at**<br><br><br>DATE-TIME |
| **created\_at**<br><br><br>DATE-TIME |
| **custom\_status\_updated\_at**<br><br><br>DATE-TIME |
| **first\_resolution\_time\_in\_minutes**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>business: INTEGER</li><li>calendar: INTEGER</li></ul> |
| **full\_resolution\_time\_in\_minutes**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>business: INTEGER</li><li>calendar: INTEGER</li></ul> |
| **group\_stations**<br><br><br>INTEGER |
| **id**<br><br><br>INTEGER |
| **initially\_assigned\_at**<br><br><br>DATE-TIME |
| **instance\_id**<br><br><br>INTEGER |
| **latest\_comment\_added\_at**<br><br><br>DATE-TIME |
| **metric**<br><br><br>STRING |
| **on\_hold\_time\_in\_minutes**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>business: INTEGER</li><li>calendar: INTEGER</li></ul> |
| **reopens**<br><br><br>INTEGER |
| **replies**<br><br><br>INTEGER |
| **reply\_time\_in\_minutes**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>business: INTEGER</li><li>calendar: INTEGER</li></ul> |
| **requester\_updated\_at**<br><br><br>DATE-TIME |
| **requester\_wait\_time\_in\_minutes**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>business: INTEGER</li><li>calendar: INTEGER</li></ul> |
| **solved\_at**<br><br><br>DATE-TIME |
| **status**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>business: INTEGER</li><li>calendar: INTEGER</li></ul> |
| **status\_updated\_at**<br><br><br>DATE-TIME |
| **ticket\_id**<br><br><br>INTEGER |
| **time**<br><br><br>STRING |
| **type**<br><br><br>STRING |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |

### tickets

The `tickets` table contains info about the tickets in your Zendesk Support account. Tickets are the means through which your end users (customers) communicate with your Zendesk Support agents.

**Note**: Retrieving ticket data requires Zendesk Support Admin permissions.

#### Custom ticket fields

Zendesk Support integration will replicate all custom ticket fields.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | generated\_timestamp |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/ticketing/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/ticket-management/incremental_exports/#incremental-ticket-export-cursor-based "Opens in new tab: Zendesk Support API method") |

tickets table foreign keys

| Join tickets with | on |
| --- | --- |
| [groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#groups) | ```<br>tickets.group_id = groups.id<br>``` |
| [group_memberships](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#group-memberships) | ```<br>tickets.group_id = group_memberships.group_id<br>``` |
| [organizations](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#organizations) | ```<br>tickets.group_id = organizations.group_id<br>```<br><br>```<br>tickets.organization_id = organizations.id<br>```<br><br>```<br>tickets.tags = organizations.tags<br>``` |
| [satisfaction_ratings](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#satisfaction-ratings) | ```<br>tickets.group_id = satisfaction_ratings.group_id<br>```<br><br>```<br>tickets.id = satisfaction_ratings.ticket_id<br>```<br><br>```<br>tickets.requester_id = satisfaction_ratings.assignee_id<br>```<br><br>```<br>tickets.follower_ids = satisfaction_ratings.assignee_id<br>```<br><br>```<br>tickets.submitter_id = satisfaction_ratings.assignee_id<br>```<br><br>```<br>tickets.collaborator_ids = satisfaction_ratings.assignee_id<br>```<br><br>```<br>tickets.assignee_id = satisfaction_ratings.assignee_id<br>```<br><br>```<br>tickets.requester_id = satisfaction_ratings.requester_id<br>```<br><br>```<br>tickets.follower_ids = satisfaction_ratings.requester_id<br>```<br><br>```<br>tickets.submitter_id = satisfaction_ratings.requester_id<br>```<br><br>```<br>tickets.collaborator_ids = satisfaction_ratings.requester_id<br>```<br><br>```<br>tickets.assignee_id = satisfaction_ratings.requester_id<br>``` |
| [users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#users) | ```<br>tickets.group_id = users.default_group_id<br>```<br><br>```<br>tickets.organization_id = users.organization_id<br>```<br><br>```<br>tickets.tags = users.tags<br>```<br><br>```<br>tickets.requester_id = users.id<br>```<br><br>```<br>tickets.follower_ids = users.id<br>```<br><br>```<br>tickets.submitter_id = users.id<br>```<br><br>```<br>tickets.collaborator_ids = users.id<br>```<br><br>```<br>tickets.assignee_id = users.id<br>``` |
| [tags](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tags) | ```<br>tickets.tags = tags.name<br>``` |
| [ticket_fields](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-fields) | ```<br>tickets.custom_fields.id = ticket_fields.id<br>``` |
| [ticket_forms](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-forms) | ```<br>tickets.custom_fields.id = ticket_forms.ticket_field_ids<br>```<br><br>```<br>tickets.ticket_form_id = ticket_forms.id<br>``` |
| [ticket_audits](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-audits) | ```<br>tickets.id = ticket_audits.ticket_id<br>```<br><br>```<br>tickets.requester_id = ticket_audits.author_id<br>```<br><br>```<br>tickets.follower_ids = ticket_audits.author_id<br>```<br><br>```<br>tickets.submitter_id = ticket_audits.author_id<br>```<br><br>```<br>tickets.collaborator_ids = ticket_audits.author_id<br>```<br><br>```<br>tickets.assignee_id = ticket_audits.author_id<br>``` |
| [ticket_comments](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-comments) | ```<br>tickets.id = ticket_comments.ticket_id<br>```<br><br>```<br>tickets.requester_id = ticket_comments.author_id<br>```<br><br>```<br>tickets.follower_ids = ticket_comments.author_id<br>```<br><br>```<br>tickets.submitter_id = ticket_comments.author_id<br>```<br><br>```<br>tickets.collaborator_ids = ticket_comments.author_id<br>```<br><br>```<br>tickets.assignee_id = ticket_comments.author_id<br>``` |
| [ticket_metrics](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-metrics) | ```<br>tickets.id = ticket_metrics.ticket_id<br>``` |

tickets table schema

| **allow\_attachments**<br><br><br>BOOLEAN |
| --- |
| **allow\_channelback**<br><br><br>BOOLEAN |
| **assignee\_id**<br><br><br>INTEGER |
| **brand\_id**<br><br><br>INTEGER |
| **collaborator\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **created\_at**<br><br><br>DATE-TIME |
| **custom\_fields**<br><br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>id: INTEGER</li></ul> |
| **custom\_status\_id**<br><br><br>INTEGER |
| **description**<br><br><br>STRING |
| **due\_at**<br><br><br>DATE-TIME |
| **email\_cc\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **encoded\_id**<br><br><br>STRING |
| **external\_id**<br><br><br>STRING |
| **fields**<br><br><br>ARRAY |
| **follower\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **followup\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **from\_messaging\_channel**<br><br><br>BOOLEAN |
| **forum\_topic\_id**<br><br><br>INTEGER |
| **generated\_timestamp**<br><br><br>INTEGER |
| **group\_id**<br><br><br>INTEGER |
| **has\_incidents**<br><br><br>BOOLEAN |
| **id**<br><br><br>INTEGER |
| **is\_public**<br><br><br>BOOLEAN |
| **organization\_id**<br><br><br>INTEGER |
| **priority**<br><br><br>STRING |
| **problem\_id**<br><br><br>INTEGER |
| **raw\_subject**<br><br><br>STRING |
| **recipient**<br><br><br>STRING |
| **requester\_id**<br><br><br>INTEGER |
| **satisfaction\_rating**<br><br><br>OBJECT, STRING<br><br>This is a nested data structure:<br><br><ul><li>assignee_id: INTEGER</li><li>comment: STRING</li><li>created_at: DATE-TIME</li><li>group_id: INTEGER</li><li>id: INTEGER</li><li>reason: STRING</li><li>reason_id: INTEGER</li><li>requester_id: INTEGER</li><li>score: STRING</li><li>ticket_id: INTEGER</li><li>updated_at: DATE-TIME</li><li>url: STRING</li></ul> |
| **sharing\_agreement\_ids**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **status**<br><br><br>STRING |
| **subject**<br><br><br>STRING |
| **submitter\_id**<br><br><br>INTEGER |
| **support\_type**<br><br><br>STRING |
| **tags**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **ticket\_form\_id**<br><br><br>INTEGER |
| **type**<br><br><br>STRING |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |
| **via**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>channel: STRING</li><li>source: OBJECT, which is also a nested data structure.            <ul><li>from: OBJECT, which is also a nested data structure.                    <ul><li>address: STRING</li><li>name: STRING</li><li>subject: STRING</li><li>ticket_id: INTEGER</li></ul></li><li>rel: STRING</li><li>to: OBJECT, which is also a nested data structure.                    <ul><li>address: STRING</li><li>name: STRING</li></ul></li></ul></li></ul> |

### users

The `users` table contains info about the users associated with your Zendesk Support account. This includes agents, admins, and end-users (customers).

**Note**: Retrieving user data requires Zendesk Support Admin permissions.

#### Custom user fields

Zendesk Support integration will replicate any custom fields associated with user records.

**Note**: Replicating user custom fields requires that you be on a Team, Professional, or Enterprise Zendesk Support plan.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Zendesk Support documentation](https://developer.zendesk.com/documentation/ticketing/)<br><br>[Zendesk Support API method](https://developer.zendesk.com/api-reference/ticketing/users/users/ "Opens in new tab: Zendesk Support API method") |

users table foreign keys

| Join users with | on |
| --- | --- |
| [groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#groups) | ```<br>users.default_group_id = groups.id<br>```<br><br>```<br>users.id = groups.id<br>``` |
| [group_memberships](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#group-memberships) | ```<br>users.default_group_id = group_memberships.group_id<br>``` |
| [organizations](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#organizations) | ```<br>users.default_group_id = organizations.group_id<br>```<br><br>```<br>users.organization_id = organizations.id<br>```<br><br>```<br>users.tags = organizations.tags<br>``` |
| [satisfaction_ratings](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#satisfaction-ratings) | ```<br>users.default_group_id = satisfaction_ratings.group_id<br>```<br><br>```<br>users.id = satisfaction_ratings.assignee_id<br>```<br><br>```<br>users.id = satisfaction_ratings.requester_id<br>``` |
| [tickets](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tickets) | ```<br>users.default_group_id = tickets.group_id<br>```<br><br>```<br>users.organization_id = tickets.organization_id<br>```<br><br>```<br>users.tags = tickets.tags<br>```<br><br>```<br>users.id = tickets.requester_id<br>```<br><br>```<br>users.id = tickets.follower_ids<br>```<br><br>```<br>users.id = tickets.submitter_id<br>```<br><br>```<br>users.id = tickets.collaborator_ids<br>```<br><br>```<br>users.id = tickets.assignee_id<br>``` |
| [macros](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#macros) | ```<br>users.id = macros.restriction.id<br>``` |
| [tags](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#tags) | ```<br>users.tags = tags.name<br>``` |
| [ticket_audits](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-audits) | ```<br>users.id = ticket_audits.author_id<br>``` |
| [ticket_comments](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Zendesk-Support.htm#ticket-comments) | ```<br>users.id = ticket_comments.author_id<br>``` |

users table schema

| **active**<br><br><br>BOOLEAN |
| --- |
| **alias**<br><br><br>STRING |
| **chat\_only**<br><br><br>BOOLEAN |
| **created\_at**<br><br><br>DATE-TIME |
| **custom\_role\_id**<br><br><br>INTEGER |
| **default\_group\_id**<br><br><br>INTEGER |
| **details**<br><br><br>STRING |
| **email**<br><br><br>STRING |
| **external\_id**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **iana\_time\_zone**<br><br><br>STRING |
| **is\_billing\_admin**<br><br><br>BOOLEAN |
| **last\_login\_at**<br><br><br>DATE-TIME |
| **locale**<br><br><br>STRING |
| **locale\_id**<br><br><br>INTEGER |
| **moderator**<br><br><br>BOOLEAN |
| **name**<br><br><br>STRING |
| **notes**<br><br><br>STRING |
| **only\_private\_comments**<br><br><br>BOOLEAN |
| **organization\_id**<br><br><br>INTEGER |
| **permanently\_deleted**<br><br><br>BOOLEAN |
| **phone**<br><br><br>STRING |
| **photo**<br><br><br>OBJECT<br><br>This is a nested data structure. |
| **report\_csv**<br><br><br>BOOLEAN |
| **restricted\_agent**<br><br><br>BOOLEAN |
| **role**<br><br><br>STRING |
| **role\_type**<br><br><br>INTEGER |
| **shared**<br><br><br>BOOLEAN |
| **shared\_agent**<br><br><br>BOOLEAN |
| **shared\_phone\_number**<br><br><br>BOOLEAN |
| **signature**<br><br><br>STRING |
| **suspended**<br><br><br>BOOLEAN |
| **suspension\_details**<br><br><br>OBJECT |
| **tags**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **ticket\_restriction**<br><br><br>STRING |
| **time\_zone**<br><br><br>STRING |
| **two\_factor\_auth\_enabled**<br><br><br>BOOLEAN |
| **updated\_at**<br><br><br>DATE-TIME |
| **url**<br><br><br>STRING |
| **user\_fields**<br><br><br>OBJECT<br><br>This is a nested data structure. |
| **verified**<br><br><br>BOOLEAN |