Skip to main content
Zendesk

Zendesk

Discover Zendesk support infrastructure including tickets, users, organizations, and groups.

  • Entities: Tickets, Users, Organizations, Groups
  • Relationships: Links tickets to users, organizations, teams, and technical infrastructure
  • Discovery: Automated polling-based discovery
  • MCP Support: Query Zendesk data via Model Context Protocol

Support tickets with status, priority, assignee, and customer information.

Spec fields:

  • id: Ticket ID
  • subject: Ticket subject
  • description: Ticket description
  • status: new, open, pending, hold, solved, closed
  • priority: low, normal, high, urgent
  • type: problem, incident, question, task
  • requester_id: Customer who opened the ticket
  • assignee_id: Agent assigned to the ticket
  • organization_id: Customer organization
  • group_id: Support team assigned
  • tags: Ticket tags
  • created_at, updated_at: Timestamps

Labels:

  • status: Ticket status
  • priority: Ticket priority
  • type: Ticket type
  • tag/*: Ticket tags

Users including customers and support agents.

Spec fields:

  • id: User ID
  • name: Full name
  • email: Email address
  • role: end-user, agent, admin
  • organization_id: Organization membership
  • active: Whether user is active
  • suspended: Whether user is suspended
  • tags: User tags
  • created_at, updated_at: Timestamps

Labels:

  • name: User name
  • role: User role
  • active: Active status
  • tag/*: User tags

Customer organizations (companies).

Spec fields:

  • id: Organization ID
  • name: Organization name
  • domain_names: Associated domains
  • details: Organization details
  • tags: Organization tags
  • created_at, updated_at: Timestamps

Labels:

  • name: Organization name
  • tag/*: Organization tags

Support teams/groups for ticket assignment.

Spec fields:

  • id: Group ID
  • name: Group name
  • deleted: Whether group is deleted
  • created_at, updated_at: Timestamps

Labels:

  • name: Group name
  • deleted: Deletion status
SourceRelationTargetDescription
ZendeskTicketSUBMITTED_BYZendeskUserCustomer who opened ticket
ZendeskTicketASSIGNED_TOZendeskUserAgent assigned to ticket
ZendeskTicketBELONGS_TOZendeskOrganizationCustomer organization
ZendeskTicketASSIGNED_TO_GROUPZendeskGroupSupport team
ZendeskUserBELONGS_TOZendeskOrganizationUser's organization
SourceRelationTargetDescription
ZendeskTicketREPORTED_ERRORSentryErrorTicket about specific error
ZendeskTicketCAUSED_BYK8sDeploymentTicket caused by deployment
ZendeskTicketDURING_INCIDENTPagerDutyIncidentTicket during incident
ZendeskTicketRESOLVED_BYGitHubPullRequestPR that fixed the issue
ZendeskTicketABOUT_SERVICEK8sServiceTicket about specific service
discovery:
enabled: true
settings:
subdomain: "mycompany" # For mycompany.zendesk.com
email: "admin@example.com"
token: "YOUR_API_TOKEN"

# Optional settings
include_tickets: true
include_users: true
include_organizations: true
include_groups: true
ticket_days_back: 30
ticket_status_filter: "all" # new, open, pending, hold, solved, closed, or "all"
mcp:
enabled: true
settings:
subdomain: "mycompany"
email: "admin@example.com"
token: "YOUR_API_TOKEN"
  1. Go to Admin Center → Apps and integrations → APIs → Zendesk API
  2. Click "Add API token"
  3. Enter description (e.g., "SixDegree Integration")
  4. Copy the token (save it securely, it won't be shown again)

The API token user needs:

  • Read access to tickets, users, organizations, and groups
  • Typically requires Agent or Admin role
degree discovery run zendesk@1.0.0 --config zendesk-config.yaml

Query: "Which customers were affected by the production incident?"

PagerDutyIncident → CAUSED → ZendeskTicket → BELONGS_TO → ZendeskOrganization

Query: "Show me all P1 tickets opened in the last 7 days"

Filter: ZendeskTicket[priority=urgent, created_at > 7d]

Query: "How many support tickets were created after the last deployment?"

K8sDeployment → CAUSED → ZendeskTicket (created after deployment time)

Query: "Which support group has the most open tickets?"

ZendeskTicket[status=open] → ASSIGNED_TO_GROUP → ZendeskGroup (count by group)

Query: "Show me Enterprise customers with more than 5 open tickets"

ZendeskOrganization[tag=enterprise] ← BELONGS_TO ← ZendeskTicket[status=open] (count > 5)

Query: "Link Sentry errors to customer-reported tickets"

SentryError ← REPORTED_ERROR ← ZendeskTicket (match by error message/tags)

Zendesk API rate limits:

  • Enterprise plans: 700 requests/minute
  • Professional plans: 400 requests/minute
  • Essential plans: 200 requests/minute

The molecule implements:

  • 100ms delay between paginated requests
  • Automatic pagination handling
  • Efficient bulk data fetching
MATCH (t:ZendeskTicket {priority: "urgent", status: "open"})
RETURN t
MATCH (t:ZendeskTicket)-[:BELONGS_TO]->(o:ZendeskOrganization {name: "Acme Corp"})
RETURN t
MATCH (t:ZendeskTicket {status: "open"})-[:ASSIGNED_TO]->(u:ZendeskUser)
RETURN u.name, COUNT(t) AS ticket_count
ORDER BY ticket_count DESC
MATCH (incident:PagerDutyIncident)
MATCH (ticket:ZendeskTicket)
WHERE ticket.created_at >= incident.created_at
AND ticket.created_at <= incident.resolved_at
RETURN incident, ticket
  • Verify subdomain is correct (without .zendesk.com)

  • Ensure API token is active and not expired

  • Check email/token format: email/token in Basic Auth

  • Check ticket_days_back setting (default: 30 days)

  • Verify ticket_status_filter includes desired statuses

  • Ensure API token user has permission to view tickets

  • Reduce discovery frequency

  • Consider using incremental sync (future enhancement)

  • Upgrade Zendesk plan for higher rate limits

┌──────────────────┐
│ Zendesk API │
│ (REST v2) │
└────────┬─────────┘

│ HTTPS
│ Basic Auth

┌────────▼─────────┐
│ Zendesk Molecule │
│ - Discovery │
│ - Entity Mapping │
│ - Relationships │
└────────┬─────────┘

│ gRPC

┌────────▼─────────┐
│ SixDegree │
│ Knowledge Graph │
└──────────────────┘
  1. Integrate with HubSpot: Link Zendesk organizations to HubSpot companies
  2. Link to Sentry: Automatically match tickets to error reports
  3. Connect to K8s: Track which deployments caused ticket spikes
  4. PagerDuty Integration: Link incidents to customer complaints
  5. GitHub Integration: Track which PRs resolved customer issues