Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

Zendesk Source


Source Info
  • The Zendesk Source is an Object Cloud source. This means that it sends information (traits) about a thing that exists and persists over time, such as a person or company, and which can be updated over time. Data from this source can only be exported directly to a warehouse, but it can then be used for further analysis. Learn more about cloud sources.

Zendesk(link takes you to an external page) is a customer support platform that helps businesses manage and respond to customer requests across channels.


Getting started

getting-started page anchor
  1. Go to Connections > Sources and click Add Source in the Segment app.
  2. Search for Zendesk in the Sources Catalog and click Add Source.
  3. Give the source a name and add any labels to help you organize and filter your sources. You can give the source any name, but Segment recommends a name that reflects the source itself, as this name auto-populates the schema name. For example, the source name Zendesk creates the schema zendesk.
  • You can add multiple instances if you have multiple Zendesk accounts.
  1. Enter the subdomain you use to access your Zendesk portal (for example segment for segment.zendesk.com)
  • If you enter segment.zendesk.com as a subdomain instead of just segment, Segment tries to access the host segment.zendesk.com.zendesk.com and you will get a credentials error.
  1. Click Authorize to start Zendesk's OAuth process. Sign in and grant permissions.
(success)

Success!

Segment uses Zendesk's Incremental Export API(link takes you to an external page) , which requires Admin access. Make sure the user has Admin authorizations.


The Zendesk source uses both Zendesk's Core API(link takes you to an external page) and Incremental Exports API(link takes you to an external page).

The source's requests to the Incremental API don't count towards your Zendesk account's rate limits, but requests to the Core API do. By default, Segment caps requests to Zendesk's Core API to a rate of 200 requests per minute to avoid triggering Zendesk's Rate Limits(link takes you to an external page).

If you'd like to increase or decrease the request rate for your source, reach out to Segment support(link takes you to an external page).

How Zendesk data syncs

how-zendesk-data-syncs page anchor

The Zendesk source syncs data from the Zendesk API to Segment every three hours. During each sync, Segment requests the latest data for all supported objects and properties listed in the Collections table.

In the initial sync, Segment imports all available Zendesk data. Segment writes the data into a schema corresponding to your source name (for example, zendesk_prod.users).

Segment uses an upsert process so the data in your warehouse always reflects the latest state in Zendesk. For example, if a ticket's status changes from open to closed between syncs, the next sync updates that record.

Source syncs and warehouse syncs are independent. The source syncs pull data into Segment, and the warehouse syncs push that data to your warehouse based on your plan's schedule.

Segment doesn't support filtering objects or properties during sync for the Zendesk source. To request this feature, contact Segment Support(link takes you to an external page).


The following collections show the Zendesk objects Segment syncs into your warehouse. Each collection includes standard properties from Zendesk and any custom fields defined in your account.

CollectionTypeDescription
usersobjectZendesk has three user types: end users (customers), agents, and administrators. End users request support through tickets. Agents work to resolve tickets and can belong to multiple groups. Administrators have full agent permissions plus configuration access.
groupsobjectGroups organize agents and define ticket assignment workflows. A ticket must always be assigned to a group, even if it's also assigned to a specific agent.
ticketsobjectTickets let end users communicate with agents. Segment pulls tickets created or updated within the last year by default. To load older data, contact Segment Support(link takes you to an external page).
ticket_fieldsobjectCustom fields added to the ticket form.
activitiesobjectPer-agent activity stream showing recent ticket-related events.
attachmentsobjectFiles attached to tickets or forum posts in Zendesk.
organizationsobjectGroups of end users (customers) segmented for support management.
ticket_eventseventsStream of ticket updates showing all field changes per event. Segment pulls one year of ticket events by default. To load older data, contact Segment Support(link takes you to an external page).
ticket_metricsobjectAggregate performance metrics for tickets, such as reply and resolution times.
satisfaction_ratingsobjectCustomer satisfaction ratings submitted for resolved tickets.
ticket_commentsobjectTicket comments exchanged between requesters, collaborators, and agents, including both public and private comments. This collection isn't included by default but can be turned on by contacting Segment Support(link takes you to an external page).
ticket_formsobjectTicket forms define subsets of fields shown to agents and end users. This collection requires a Zendesk Enterprise account.
ticket_skipsobjectRecords of tickets skipped by agents. Segment fully syncs all available records during each sync run.
organization_membershipsobjectLinks users to organizations. Organizations can have many users, and users can belong to multiple organizations if supported. Segment fully syncs all available records during each sync run.
group_membershipsobjectLinks agents to groups. Groups can have many agents, and agents can belong to multiple groups. Segment fully syncs all available records during each sync run.
audit_logsobjectRecords account-level configuration and user actions. This collection isn't included by default but can be turned on by contacting Segment Support(link takes you to an external page).

In your warehouse, each collection is stored in its own table. The tables that follow list the standard properties Segment automatically fetches for each collection.

(information)

Standard properties only

These tables include only standard Zendesk properties. Your custom fields will also appear in your warehouse after sync.

This collection contains information about Zendesk groups.

PropertyDescription
idAutomatically assigned when a group is created.
urlThe API URL of the group.
deletedIndicates whether the group has been deleted.
nameThe name of the group.
created_atThe date and time the group was created.
updated_atThe date and time the group was last updated.
received_atTimestamp added when data reaches the Segment API.

This collection contains information about Zendesk users.

PropertyDescription
idAutomatically assigned when a user is created.
urlSegment sets this field to the Zendesk id, not the original Zendesk url.
nameThe user's full name.
emailThe user's primary email address.
time_zoneThe user's time zone.
phoneThe user's primary phone number.
locale_idThe language identifier for the user.
localeThe user's locale.
organization_idThe ID of the organization the user belongs to.
roleThe user's role. Possible values: end-user, agent, admin.
verifiedIndicates whether the user's primary identity is verified.
external_idA unique identifier from another system. Treated as case-insensitive (for example, ian1 and Ian1 refer to the same user).
aliasAn alias displayed to end users.
activeSet to false if the user has been deleted.
sharedIndicates whether the user is a shared agent from another Zendesk instance (ticket sharing accounts only).
last_login_atThe date and time of the user's last login.
two_factor_auth_enabledIndicates whether two-factor authentication is turned on.
signatureThe user's signature (agents and admins only).
detailsAdditional details about the user, such as an address.
notesNotes stored about the user.
custom_role_idThe custom role ID if the user is an agent on the Enterprise plan.
moderatorIndicates whether the user has forum moderation permissions.
ticket_restrictionSpecifies which tickets the user can access. Possible values: organization, groups, assigned, requested, or null.
only_private_commentsSet to true if the user can only create private comments.
restricted_agentIndicates whether the agent has restrictions. false for admins and unrestricted agents, true for restricted agents.
suspendedIndicates whether the agent is suspended. Tickets from suspended users are also suspended.
chat_onlyIndicates whether the user is a chat-only agent.
updated_atThe date and time the user was last updated.
received_atTimestamp added when data reaches the Segment API.

This collection contains information about Zendesk tickets.

PropertyDescription
idAutomatically assigned when a ticket is created.
urlThe API URL of the ticket.
external_idA custom ID you can use to link Zendesk tickets to local records.
typeThe type of ticket. Possible values: problem, incident, question, task.
subjectThe subject line of the ticket.
raw_subjectThe dynamic content placeholder if present, otherwise the subject value.
descriptionThe first comment on the ticket.
priorityThe ticket's urgency level. Possible values: urgent, high, normal, low.
statusThe current ticket status. Possible values: new, open, pending, hold, solved, closed.
recipientThe original recipient email address for the ticket.
requester_idThe ID of the user who requested the ticket.
submitter_idThe ID of the user who submitted the ticket. The submitter is always the author of the first comment.
assignee_idThe ID of the agent currently assigned to the ticket.
organization_idThe ID of the requester's organization. Must be associated with the requester.
group_idThe ID of the group the ticket is assigned to.
collaborator_idsThe IDs of users currently CC'd on the ticket.
forum_topic_idThe ID of the forum topic the ticket originated from, if any.
problem_idFor tickets of type incident, the ID of the related problem ticket.
has_incidentsIndicates whether the ticket has been marked as a problem.
due_atThe due date for task-type tickets (ISO 8601 format).
tagsThe tags applied to the ticket.
sharing_agreement_idsThe IDs of sharing agreements linked to the ticket.
ticket_form_idThe ID of the ticket form used to render the ticket.
created_atThe date and time the ticket was created.
updated_atThe date and time the ticket was last updated.
received_atTimestamp added when data reaches the Segment API.

This collection contains information about Zendesk ticket fields.

PropertyDescription
idAutomatically assigned when the ticket field is created.
urlThe API URL of the ticket field.
typeThe type of field. Possible values: checkbox, date, decimal, integer, regexp, tagger, text, textarea. This property can't be edited after creation.
slugThe title of the field, with words separated by underscores.
titleThe title of the ticket field.
raw_titleThe dynamic content placeholder if present, otherwise the title value.
descriptionThe purpose of the ticket field as shown to users.
raw_descriptionThe dynamic content placeholder if present, otherwise the description value.
positionDetermines the field's order on the ticket. Positions 0–7 are reserved for system fields.
activeIndicates whether the field is active.
requiredIndicates whether agents must provide a value when updating the field.
collapsed_for_agentsIndicates whether the field is shown or hidden by default in the classic interface.
regexp_for_validationValidation pattern for regular expression fields.
title_in_portalThe field title as shown to end users.
raw_title_in_portalThe dynamic content placeholder if present, otherwise the title_in_portal value.
visible_in_portalIndicates whether the field is visible to end users.
editable_in_portalIndicates whether the field is editable by end users.
required_in_portalIndicates whether end users must provide a value when updating the field.
tagThe tag value applied when a checkbox field is checked.
removableIndicates whether the field can be removed (system fields can't be removed).
created_atThe date and time the ticket field was created.
updated_atThe date and time the ticket field was last updated.
received_atTimestamp added when data reaches the Segment API.

This collection contains performance and timing metrics for Zendesk tickets.

PropertyDescription
idAutomatically assigned when the record is created.
ticket_idThe ID of the associated ticket.
group_stationsThe number of groups the ticket passed through.
assignee_stationsThe number of assignees the ticket has had.
reopensThe total number of times the ticket was reopened.
repliesThe total number of replies to the ticket.
reply_time_in_minutes_calendarMinutes to the first reply outside business hours.
reply_time_in_minutes_businessMinutes to the first reply during business hours.
first_resolution_time_in_minutes_calendarMinutes to the first resolution outside business hours.
first_resolution_time_in_minutes_businessMinutes to the first resolution during business hours.
full_resolution_time_in_minutes_calendarMinutes to full resolution outside business hours.
full_resolution_time_in_minutes_businessMinutes to full resolution during business hours.
agent_wait_time_in_minutes_calendarMinutes the agent spent waiting outside business hours.
agent_wait_time_in_minutes_businessMinutes the agent spent waiting during business hours.
requester_wait_time_in_minutes_calendarMinutes the requester spent waiting outside business hours.
requester_wait_time_in_minutes_businessMinutes the requester spent waiting during business hours.
on_hold_time_in_minutes_calendarMinutes the ticket was on hold outside business hours.
on_hold_time_in_minutes_businessMinutes the ticket was on hold during business hours.
created_atThe date and time the record was created.
updated_atThe date and time the record was last updated.
assignee_updated_atThe date and time the assignee last updated the ticket.
requester_updated_atThe date and time the requester last updated the ticket.
status_updated_atThe date and time the ticket status was last updated.
initially_assigned_atThe date and time the ticket was first assigned.
assigned_atThe date and time the ticket was most recently assigned.
latest_comment_added_atThe date and time the latest comment was added.
received_atTimestamp added when data reaches the Segment API.

This collection contains details about individual updates or changes to Zendesk tickets.

PropertyDescription
idAutomatically assigned when the record is created.
ticket_event_idAutomatically assigned when the ticket is updated.
ticket_idThe ID of the associated ticket.
timestampThe date and time the ticket was updated.
updater_idThe ID of the user who made the update.
ticket_event_viaThe channel or method used to create the event.
context_clientThe client used to submit the ticket change (for example, browser name and version).
context_locationThe location name, if available (for example, country or city).
context_latitudeThe latitude of the location where the change occurred.
context_longitudeThe longitude of the location where the change occurred.
viaThe method used to create the event.

This collection contains information about actions or updates related to Zendesk tickets.

PropertyDescription
idAutomatically assigned when the activity is created.
urlThe API URL of the activity.
verbThe type of activity. Possible values: tickets.assignment, tickets.comment, tickets.priority_increase.
titleA short description of the activity.
created_atThe date and time the activity was created.
updated_atThe date and time the activity was last updated.

This collection contains information about files attached to Zendesk tickets.

PropertyDescription
idAutomatically assigned when the attachment is created.
file_nameThe name of the attached file.
content_urlThe full URL where the attachment file can be downloaded.
content_typeThe MIME type of the attachment (for example, image/png).
inlineIndicates whether the attachment is inline. Inline attachments are excluded from the attachment list but can be referenced within a ticket comment. Default is false.
sizeThe file size in bytes.
received_atTimestamp added when data reaches the Segment API.

This collection contains information about organizations in Zendesk.

PropertyDescription
idAutomatically assigned when the organization is created.
external_idA unique external ID that links the organization to an external record.
urlThe API URL of the organization.
nameThe unique name of the organization.
detailsAdditional details about the organization, such as its address.
notesNotes or comments about the organization.
group_idThe group that new tickets from users in this organization are automatically assigned to.
shared_ticketsIndicates whether end users in the organization can view each other's tickets.
shared_commentsIndicates whether end users in the organization can view each other's ticket comments.
created_atThe date and time the organization was created.
updated_atThe date and time the organization was last updated.
received_atTimestamp added when data reaches the Segment API.

This collection contains comments and related metadata for Zendesk tickets.

PropertyDescription
idAutomatically assigned when the comment is created.
ticket_event_idAutomatically assigned when the comment is created.
ticket_idThe ID of the ticket the comment belongs to.
typeThe comment type. Possible values: Comment or VoiceComment. JSON objects for voice comments differ in structure.
bodyThe text of the comment.
publicIndicates whether the comment is public (true) or internal (false). The initial value set on ticket creation persists unless changed.
author_idThe ID of the comment author.
viaHow the comment was created.
created_atThe date and time the comment was created.
received_atTimestamp added when data reaches the Segment API.
(information)

Zendesk Enterprise required

The ticket_forms collection syncs only for Zendesk Enterprise accounts. See Zendesk's Ticket Forms API documentation(link takes you to an external page) for details.

This collection contains information about ticket forms in Zendesk.

PropertyDescription
idThe ID of the ticket form.
activeIndicates whether the form is active.
end_user_visibleIndicates whether the form is visible to end users.
nameThe name of the form.
restricted_brand_idsThe IDs of brands that the ticket form is restricted to.
ticket_field_idsThe IDs of ticket fields included in this form.
updated_atThe date and time the ticket form was last updated.
urlThe API URL of the ticket form.
created_atThe date and time the ticket form was created.
display_nameThe form name shown to end users.
in_all_brandsIndicates whether the form is available for all brands in the account.
positionThe form's position among other forms in the account (for example, dropdown order).
raw_display_nameThe dynamic content placeholder, if available, or the display_name value if not.
raw_nameThe dynamic content placeholder, if available, or the name value if not.
defaultIndicates whether this form is the default form for the account.

This collection contains information about Zendesk tickets that agents have skipped.

PropertyDescription
idThe ID of the ticket skip record.
ticket_idThe ID of the skipped ticket.
user_idThe ID of the agent who skipped the ticket.
reasonThe reason the ticket was skipped.
created_atThe date and time the record was created.
updated_atThe date and time the record was last updated.

This collection contains information about customer satisfaction ratings for Zendesk tickets.

PropertyDescription
idAutomatically assigned when the satisfaction rating is created.
urlThe API URL of the satisfaction rating.
assignee_idThe ID of the agent assigned to the ticket when the rating was submitted.
group_idThe ID of the group assigned to the ticket when the rating was submitted.
requester_idThe ID of the user who submitted the rating.
ticket_idThe ID of the ticket being rated.
scoreThe rating value. Possible values: offered, unoffered, good, or bad.
created_atThe date and time the rating was created.
updated_atThe date and time the rating was last updated.
received_atTimestamp added when data reaches the Segment API.

organization_memberships

organization_memberships page anchor

This collection contains information about relationships between users and organizations in Zendesk.

PropertyDescription
idThe ID of the organization membership.
urlThe API URL of the membership.
user_idThe ID of the user in the membership.
organization_idThe ID of the organization associated with the user.
created_atThe date and time the record was created.
updated_atThe date and time the record was last updated.
organization_nameThe name of the organization associated with the user.

This collection contains information about agents and their group assignments in Zendesk.

PropertyDescription
idThe ID of the group membership.
urlThe API URL of the group membership.
created_atThe date and time the membership was created.
group_idThe ID of the group.
updated_atThe date and time the membership was last updated.
user_idThe ID of the agent in the membership.

This collection contains records of account-level actions and configuration changes in Zendesk.

PropertyDescription
idThe ID of the audit log.
urlThe API URL of the audit log.
created_atThe date and time the audit record was created.
actor_idThe ID of the user who performed the action.
source_idThe ID of the item being audited.
source_typeThe type of item being audited.
source_labelThe name of the item being audited.
actionThe action performed. Possible values: login, create, update, destroy.
change_descriptionA short description of the change that occurred.
ip_addressThe IP address of the user who performed the action.
action_labelThe localized string for the action field.