Zendesk

Knowi connects directly to your Zendesk Support instance to pull tickets, users, satisfaction ratings, and performance metrics into a unified analytics platform.

Build support operations dashboards, track resolution times, analyze customer satisfaction trends, and combine Zendesk data with other business data sources.

Overview

Connect to your Zendesk instance via OAuth. Knowi handles authentication, pagination, and data extraction automatically. Each Zendesk subdomain is a separate connection.

Connecting

  1. Log in to Knowi and select "Queries" from the left sidebar.

  2. Click on the "New Datasource +" button and select Zendesk from the list of datasources.

  3. Configure the following:

    a. Datasource Name: Enter a name (e.g., "Support Zendesk")

    b. Zendesk URL: Enter your Zendesk subdomain URL (e.g., yourcompany.zendesk.com)

  4. Click "Connect to Zendesk" to authorize Knowi. You will be redirected to Zendesk to approve the connection.

  5. After approving, you'll be redirected back to Knowi. Click "Save" to finish setup.

Collections

Tickets

Retrieves all tickets with comment counts. Best for dashboard-level ticket analysis.

Default Cloud9QL:

select tickets;
select expand(tickets);
select * order by created_at desc;

Incremental Tickets

Uses Zendesk's cursor-based incremental export API to fetch all tickets efficiently. Best for large ticket volumes and scheduled syncs ? fetches only new/updated tickets since the last sync.

Default Cloud9QL:

select tickets;
select expand(tickets);
select * order by created_at desc;

Ticket Metrics

Retrieves performance metrics for tickets, including first reply time, full resolution time, agent wait time, and requester wait time.

Default Cloud9QL:

select ticket_metrics;
select expand(ticket_metrics);

Users

Retrieves all Zendesk users (agents, admins, and end users).

Default Cloud9QL:

select users;
select expand(users);

Satisfaction Ratings

Retrieves CSAT (Customer Satisfaction) survey responses.

Common Use Cases

Ticket Volume by Status

select tickets;
select expand(tickets);
select status, count(*) as ticket_count
group by status;

Average Resolution Time

select ticket_metrics;
select expand(ticket_metrics);
select avg(full_resolution_time_in_minutes.business) as avg_resolution_minutes;

Agent Performance

select tickets;
select expand(tickets);
select assignee_id, count(*) as tickets_handled,
       sum(case when status = 'solved' then 1 else 0 end) as solved
group by assignee_id
order by tickets_handled desc;

CSAT Trend Analysis

Schedule the Satisfaction Ratings collection daily, then use Cloud9QL to analyze trends:

select score, count(*) as count, created_at
group by score, datetrunc('month', created_at)
order by created_at;

Scheduling

Schedule queries to run automatically. The Incremental Tickets collection is optimized for frequent scheduling ? it only fetches new or updated tickets, making it efficient for hourly or daily syncs.

Notes