Skip to main content

Zendesk

Zendesk Support is a customer service platform that helps businesses manage customer interactions across email, chat, phone, and social media, backed by a self-service Help Center for knowledge base articles and community discussions. Support, CX, and operations teams use this connector to bring ticket, agent, and customer data into their warehouse for reporting and analysis.

At a glance

PropertyValue
AuthenticationAPI key / token
Sync typeMixed: some streams incremental, some full table
StreamsFixed list
Custom queriesNot supported

What you can sync

This connector brings in your full support operations dataset, plus your public-facing knowledge base:

  • Core ticketing data (tickets, users, organisations, and their relationships)
  • Support operations configuration (groups, macros, triggers, automations, SLA policies, custom roles and fields)
  • Customer experience signals (satisfaction ratings, ticket metrics)
  • Help Center content (articles, categories, sections, community posts and topics)

Prerequisites

  • A Zendesk account with API token access. The connector authenticates as one of your agents using an API token, not a full sign-in flow.
  • Your Zendesk subdomain and agent email address. These are needed alongside the API token to authenticate.
  • An API token, generated in Zendesk. See the setup steps below.

Setup

In Zendesk

  1. Go to Admin Center → Apps and integrations → Zendesk API.
  2. Enable API token access if it isn't already, and generate a new token.
  3. Note your subdomain (the mycompany in mycompany.zendesk.com) and the agent email address you'll authenticate with.

In Meltano Cloud

  1. Add the Zendesk data source.
  2. Enter your Subdomain, Email, and the API Token you generated above.
  3. Set a Start Date for how far back to sync ticket, user, and metric-event history.

Settings

FieldTypeRequired / DefaultDescription
subdomainstringrequiredYour Zendesk subdomain. If your Zendesk URL is https://mycompany.zendesk.com, your subdomain is mycompany
emailstringrequired when using API token authZendesk agent email address, set together with api_token
api_tokenstringrequired when using API token authZendesk API token, generated in Admin Center → Apps and integrations → Zendesk API → API token
start_datestringrequiredAn ISO-8601 date-time. Earliest record date to sync

Available streams

Incremental streams (bookmark carried between syncs):

StreamReplication keyDescription
ticketsupdated_atSupport tickets
usersupdated_atAgents, admins, end-users
organizationsupdated_atOrganisations linked to users and tickets
ticket_metric_eventstimeMetric milestone events (reply time, wait time)

Full-table streams (re-synced completely on every run):

StreamDescription
automationsTime-based automation rules
brandsBrand configurations (multi-brand setups)
custom_rolesCustom agent roles
group_membershipsAgent-to-group memberships
groupsAgent groups
macrosMacros for bulk-updating tickets
organization_fieldsCustom fields defined on organisations
organization_membershipsUser-to-organisation memberships
satisfaction_ratingsCSAT ratings submitted by end-users
schedulesBusiness hours schedules
sla_policiesSLA policy definitions
tagsTag vocabulary with usage counts
ticket_fieldsTicket field definitions (system and custom)
ticket_formsTicket form definitions (Enterprise plans; skipped gracefully if unavailable)
ticket_metricsPer-ticket SLA and timing metrics
triggersEvent-based automation triggers
user_fieldsCustom user field definitions
user_identitiesEmail, phone, and social accounts per user (child of users)
viewsShared and personal ticket views

Help Center streams (skipped gracefully if Guide isn't enabled on your account):

StreamDescription
articlesKnowledge base articles
categoriesTop-level Help Center categories
postsCommunity posts
sectionsSections within categories
topicsCommunity discussion topics

Field reference (key streams)

tickets

FieldDescription
idUnique ticket identifier
typeTicket type (problem, incident, question, task)
subjectTicket subject
descriptionFirst comment body
priorityTicket priority (urgent, high, normal, low)
statusTicket status (new, open, pending, hold, solved, closed)
recipientEmail address the ticket was sent to
requester_idID of the requester
submitter_idID of the submitter
assignee_idID of the assigned agent
organization_idID of the requester's organisation
group_idID of the assigned group
collaborator_idsIDs of collaborators
follower_idsIDs of followers
has_incidentsWhether this ticket has incident links
is_publicWhether comments are public
due_atDue date for task tickets
tagsTags applied to the ticket
custom_fieldsCustom field values
satisfaction_ratingCSAT rating (id, score, comment)
brand_idBrand the ticket belongs to
created_atTicket creation timestamp
updated_atLast modification timestamp (replication key)
viaChannel the ticket was created through

users

FieldDescription
idUnique user identifier
nameFull name
emailPrimary email address
roleRole (end-user, agent, admin)
organization_idPrimary organisation ID
verifiedWhether the user is verified
activeWhether the user is active
suspendedWhether the user is suspended
tagsTags
last_login_atLast login timestamp
custom_role_idCustom role ID for agents
created_atAccount creation timestamp
updated_atLast modification timestamp (replication key)

organizations

FieldDescription
idUnique organisation identifier
nameOrganisation name
shared_ticketsWhether tickets are shared within the organisation
shared_commentsWhether comments are shared within the organisation
domain_namesDomains associated with the organisation
group_idDefault group ID
tagsTags
custom_fieldsCustom field values
created_atCreation timestamp
updated_atLast modification timestamp (replication key)

groups / group_memberships

FieldDescription
idUnique identifier
nameGroup name (groups only)
user_idAgent user ID (group_memberships only)
group_idGroup ID (group_memberships only)
defaultWhether this is the (agent's) default group
created_at / updated_atTimestamps

macros / triggers

FieldDescription
idUnique identifier
titleMacro/trigger title
activeWhether it's active
conditionsTrigger only: conditions that activate it
actionsActions applied (field, value)
restrictionMacro only: visibility restriction
created_at / updated_atTimestamps

organization_fields / custom_roles

FieldDescription
idUnique identifier
keyField key used in API calls (organization_fields only)
nameRole name (custom_roles only)
typeField type (organization_fields only)
title / descriptionDisplay text
configurationPermission configuration (custom_roles only)
team_member_countNumber of agents with this role (custom_roles only)
created_at / updated_atTimestamps

organization_memberships

FieldDescription
idUnique membership identifier
user_idUser ID
organization_idOrganisation ID
defaultWhether this is the user's default organisation
created_at / updated_atTimestamps

satisfaction_ratings

FieldDescription
idUnique rating identifier
ticket_idAssociated ticket ID
scoreRating score (good, bad, offered)
reasonReason for the rating
commentCustomer comment
created_at / updated_atTimestamps

schedules / sla_policies

FieldDescription
idUnique identifier
name / titleDisplay name
intervalsBusiness hour intervals (schedules only)
filterConditions that activate the policy (sla_policies only)
policy_metricsMetric definitions: priority, metric, target (sla_policies only)
created_at / updated_atTimestamps

user_identities

Child stream of users: each user's email addresses, phone numbers, and social accounts.

FieldDescription
idUnique identity identifier
user_idParent user ID
typeIdentity type (email, twitter, facebook, google, phone_number, etc.)
valueIdentity value
verifiedWhether the identity is verified
primaryWhether this is the primary identity

Help Center: categories / sections / posts

FieldDescription
idUnique identifier
name / titleDisplay name
description / detailsBody text
positionDisplay position
localeCurrent locale
parent_section_id / category_id / section_idParent references
author_idPost author (posts only)
statusPost status: planned, not_planned, completed, published (posts only)
created_at / updated_atTimestamps

Need help?

If a stream or field you need isn't listed here, file it through the usual Meltano support channel.