Support category Standard Plan integration Certified by Stitch

Expected Zendesk Support data

Here’s a sample of the raw Zendesk Support data that Stitch will replicate to your analytics warehouse:

Tickets

This table records all ticket details, including the requester and assignee IDs.

Integrations Table Icon Table name: tickets

Audits

This table contains information about activity associated with a ticket, including status changes and both customer and agent responses.

Integrations Table Icon Table name: audits

Groups

Groups are how agents are organized in your Zendesk account. The groups table records information such as the gruop ID, URL, name, and creation and update information.

Integrations Table Icon Table name: groups

Organizations

The organizations table records company information about your end-users such as the name, ID, associated domain names, tags, and any custom fields.

Integrations Table Icon Table name: organizations

Users

This table contains details on end-users and agents, including names and emails.

Integrations Table Icon Table name: users

Tags

The tags table contains a list of all the tags in your account.

Integrations Table Icon Table name: tags

View all tables

Learn more about the Zendesk Support integration

Documentation

Detailed documentation on how to start syncing Zendesk Support data.

Zendesk Support Documentation

Zendesk Support to Your Data Warehouse in Minutes

ETL your Zendesk Support data to the data warehouse of your choice.

Jumpstart your Zendesk Support analytics with reusable blocks

dbt packages can speed up your work

Once you replicate your Zendesk Support data with Stitch, you can use it in many ways. For example, you can use the data modeling and transformation tool dbt to prepare data for reporting, analytics, or machine learning applications.

Dbt has prebuilt packages for many Stitch data sources, including Zendesk Support. Here’s a look at code for modeling Zendesk Support data. This particular block of code transforms your Zendesk Support data so you can analyze your ticket metrics.

View the source on GitHub →
                  
                    with tickets as (
    select * from {{ref('zendesk_tickets')}}
),
url as (
    select * from {{ref('zendesk_org_url')}}
),
metrics as (
    select * from {{ref('zendesk_ticket_metrics')}}
),
organizations as (
    select * from {{ref('zendesk_organizations')}}
),
users as (
    select * from {{ ref('zendesk_users') }}
),
final as (
    select
        tickets.*,
        metrics.created_at as ticket_created,
        metrics.initially_assigned_at,
        metrics.solved_at,
        metrics.reopens,
        metrics.replies,
        metrics.first_resolution_time_in_minutes_business,
        metrics.first_resolution_time_in_minutes_calendar,
        metrics.full_resolution_time_in_minutes_business,
        metrics.full_resolution_time_in_minutes_calendar,
        metrics.on_hold_time_in_minutes_business,
        metrics.on_hold_time_in_minutes_calendar,
        metrics.reply_time_in_minutes_business,
        metrics.reply_time_in_minutes_calendar,
        metrics.requester_wait_time_in_minutes_business,
        metrics.requester_wait_time_in_minutes_calendar,
        organizations.name as organization_name,
        requesters.email as requester_email,
        assignees.email as assignee_email,
        'https://' || url.org_url_identifier || '.zendesk.com/agent/tickets/'
            || tickets.ticket_id::varchar as web_url
    from tickets
    left join metrics
        on metrics.ticket_id = tickets.ticket_id
    left join organizations
        on organizations.organization_id = tickets.organization_id
    left join users as requesters
        on requesters.user_id = tickets.requester_id
    left join users as assignees
        on assignees.user_id = tickets.assignee_id
    inner join url
        on 1 = 1
)
select * from final
                  
                

... or use Looker blocks with your Zendesk Support data

We've developed a Looker Block for Zendesk Support data provisioned by Stitch. This block includes prebuilt code to create dashboards and models that can help uncover insights from your Zendesk Support data.

Here’s a look at one of the LookML files for Zendesk Support data. This Looker Block includes three dashboards that provide analysis on agent performance, ticket submissions, and overall customer support metrics. The LookML file shown here produces an overview dashboard that allows you to view understand ticket submission trends. Other dashboards included in this block are: Overview dashboard - View ticket submissions over time to understand the level at which your customers are leveraging your support team - See the breakdown of ticket submissions by channel to understand where most of your support requests are generated - See your top 20 all-time agents, requesters, and organizations by number of tickets to see identify the key players in customer support - See a ticket tag breakdown over time to understand how customer priorities have shifted Agent performance dashboard - Monitor your support team's all-time reply and resolution time to measure against SLAs - See how your team's response and reply time have fluctuated over time to identify trends and opportunities for improvement or celebration groups and more efficiently manage resources - Identify top performers in your organization Ticket submissions dashboard - Evaluate the volume at which organizations are submitting tickets to identify which organizations are requiring the most attention of your team - Identify how average tickets per organization changes over time to see whether documentation, tutorials, demos, and product changes or releases are taking a load off your team - See ticket submission volume by hour of the day and day of the week to more efficiently allocate resources

View the source on GitHub →
                  
                    - dashboard: overview
  title: Overview
  layout: grid
  rows:
    - elements: [new_open_tickets, pending_tickets, closed_tickets]
      height: 150
    - elements: [tickets_and_orgs]
      height: 400
    - elements: [tickets_by_channel, count_by_status]
      height: 400
    - elements: [top_orgs, top_requesters, top_assignees]
      height: 400
    - elements: [ticket_tags]
      height: 500

  filters:
 
  - name: date
    type: date_filter

  elements:

  - name: new_open_tickets
    type: single_value
    model: zendesk
    explore: tickets
    measures: [tickets.count]
    filters:
      tickets.status: new,open
    sorts: [tickets.count desc]
    limit: 500
    show_single_value_title: true
    single_value_title: New and open tickets
    show_comparison: false
    listen:
      date: tickets.created_at_date
      
  - name: pending_tickets
    title: Pending tickets
    type: single_value
    model: zendesk
    explore: tickets
    dimensions: [tickets.status]
    measures: [tickets.count]
    filters:
      tickets.status: pending
    sorts: [tickets.count desc]
    limit: 500
    show_single_value_title: true
    single_value_title: Pending tickets
    show_comparison: false
    listen:
      date: tickets.created_at_date
      
  - name: closed_tickets
    title: Untitled Visualization
    type: single_value
    model: zendesk
    explore: tickets
    measures: [tickets.count]
    filters:
      tickets.status: closed,solved
    sorts: [tickets.count desc]
    limit: 500
    show_single_value_title: true
    single_value_title: Closed and solved tickets
    show_comparison: false
    listen:
      date: tickets.created_at_date
      
  - name: tickets_by_channel
    title: Tickets submitted by channel
    type: looker_pie
    model: zendesk
    explore: tickets
    dimensions: [tickets.via__channel]
    measures: [tickets.count]
    sorts: [tickets.count desc]
    limit: 500
    value_labels: legend
    colors: ['#FFCC00', '#1E2023', '#3399CC', '#CC3399', '#66CC66', '#999999', '#FF4E00', '#A2ECBA', '#9932CC', '#0000CD']
    show_view_names: true
    listen:
      date: tickets.created_at_date
      
  - name: tickets_and_orgs
    title: Ticket submissions over time
    type: looker_line
    model: zendesk
    explore: tickets
    dimensions: [tickets.created_at_week]
    measures: [tickets.count, tickets.count_distinct_organizations]
    sorts: [tickets.created_at_week desc]
    limit: 500
    stacking: ''
    show_value_labels: false
    label_density: 25
    legend_position: center
    x_axis_gridlines: false
    y_axis_gridlines: true
    show_view_names: true
    limit_displayed_rows: false
    y_axis_combined: true
    show_y_axis_labels: true
    show_y_axis_ticks: true
    y_axis_tick_density: default
    show_x_axis_label: true
    show_x_axis_ticks: true
    x_axis_scale: auto
    y_axis_scale_mode: linear
    show_null_points: true
    point_style: none
    interpolation: linear
    colors: ['#FFCC00', '#1E2023', '#3399CC', '#CC3399', '#66CC66', '#999999', '#FF4E00', '#A2ECBA', '#9932CC', '#0000CD']
    listen:
      date: tickets.created_at_date
      
  - name: count_by_status
    title: New, open, solved, and pending ticket count
    type: looker_column
    model: zendesk
    explore: tickets
    measures: [tickets.count_solved_tickets, tickets.count_new_tickets, tickets.count_open_tickets,
      tickets.count_pending_tickets]
    sorts: [tickets.count_solved_tickets desc]
    limit: 500
    stacking: ''
    show_value_labels: false
    label_density: 25
    legend_position: center
    x_axis_gridlines: false
    y_axis_gridlines: true
    show_view_names: true
    limit_displayed_rows: false
    y_axis_combined: true
    show_y_axis_labels: true
    show_y_axis_ticks: true
    y_axis_tick_density: default
    show_x_axis_label: true
    show_x_axis_ticks: true
    x_axis_scale: auto
    y_axis_scale_mode: linear
    show_null_labels: false
    colors: ['#FFCC00', '#1E2023', '#3399CC', '#CC3399', '#66CC66', '#999999', '#FF4E00', '#A2ECBA', '#9932CC', '#0000CD']
    listen:
      date: tickets.created_at_date
      
  - name: top_orgs
    title: Top 20 organizations by tickets submitted
    type: table
    model: zendesk
    explore: tickets
    dimensions: [tickets.organization_name]
    measures: [tickets.count]
    sorts: [tickets.count desc]
    limit: 20
    show_view_names: true
    show_row_numbers: true
    truncate_column_names: false
    table_theme: editable
    limit_displayed_rows: false
    listen:
      date: tickets.created_at_date
      
  - name: top_requesters
    title: Top 20 requesters by tickets submitted
    type: table
    model: zendesk
    explore: tickets
    dimensions: [tickets.requester_email]
    measures: [tickets.count]
    sorts: [tickets.count desc]
    limit: 20
    show_view_names: true
    show_row_numbers: true
    truncate_column_names: false
    table_theme: editable
    limit_displayed_rows: false
    listen:
      date: tickets.created_at_date
      
  - name: top_assignees
    title: Top 20 agents by all time tickets
    type: table
    model: zendesk
    explore: tickets
    dimensions: [tickets.assignee_email]
    measures: [tickets.count]
    sorts: [tickets.count desc]
    limit: 20
    show_view_names: true
    show_row_numbers: true
    truncate_column_names: false
    table_theme: editable
    limit_displayed_rows: false
    listen:
      date: tickets.created_at_date
      
  - name: ticket_tags
    title: Ticket tags
    type: looker_column
    model: zendesk
    explore: ticket__tags
    dimensions: [ticket__tags.value, ticket__tags.created_at_month]
    pivots: [ticket__tags.value]
    measures: [ticket__tags.count]
    sorts: [ticket__tags.created_at_month desc, ticket__tags.value]
    limit: 500
    column_limit: 50
    stacking: percent
    show_value_labels: false
    label_density: 25
    legend_position: center
    x_axis_gridlines: false
    y_axis_gridlines: true
    show_view_names: true
    limit_displayed_rows: false
    y_axis_combined: true
    show_y_axis_labels: true
    show_y_axis_ticks: true
    y_axis_tick_density: default
    show_x_axis_label: true
    show_x_axis_ticks: true
    x_axis_scale: auto
    ordering: none
    show_null_labels: false
    colors: ['#FFCC00', '#1E2023', '#3399CC', '#CC3399', '#66CC66', '#999999', '#FF4E00', '#A2ECBA', '#9932CC', '#0000CD']
    listen:
      date: ticket__tags.created_at_date
                  
                
Stitch was easy to implement — just a few button clicks!

Sarah Griffis

Senior Director of Engineering, Kindbody

Why our customers choose Stitch

Stitch is a simple, powerful ETL service built for developers. Stitch connects to your first-party data sources – from databases like MongoDB and MySQL, to SaaS tools like Salesforce and Zendesk – and replicates that data to your warehouse. With Stitch, developers can provision data for their internal users in minutes, not weeks.

Explore all of Stitch's features
Simple Integrations Icon Simple setup
Start replicating data in minutes, and never worry about ETL maintenance.
Integration Infrastructure Icon Own your own data infrastructure
Stitch replicates to your warehouse, meaning you’re always in control.
Replication Features Icon Mature replication engine
Accurate data from any structure, all the time.
Explore all of Stitch's features

Connect to your ecosystem of data sources

Stitch integrates with leading databases and SaaS products. No API maintenance, ever, while you maintain full control over replication behavior.