Skip to main content

Zendesk Support MCP Server

Create a powerful Model Context Protocol (MCP) server for Zendesk Support in minutes with our AI Gateway. This guide walks you through setting up seamless customer service integration with enterprise-grade security and instant OAuth authentication.

About Zendesk Support API

Zendesk Support is the industry-leading customer service platform that helps businesses manage customer interactions across multiple channels. The API provides comprehensive access to tickets, users, organizations, automations, and analytics.

Key Capabilities

  • Ticket Management: Create, update, and track support tickets
  • User & Organization: Customer and company management
  • Automation: Triggers, macros, and views
  • Knowledge Base: Help center articles
  • SLA Management: Service level tracking
  • Custom Fields: Extended data model
  • Multi-channel: Email, chat, voice integration
  • Analytics: Performance metrics and insights

API Features

  • REST API v2: Comprehensive operations
  • OAuth 2.0: Secure authentication
  • Webhooks: Real-time events
  • Bulk Operations: Efficient data handling
  • Search API: Advanced querying
  • Incremental Export: Data synchronization
  • Rate Limiting: 700 requests/minute
  • Pagination: Efficient data retrieval

What You Can Do with Zendesk Support MCP Server

The MCP server transforms Zendesk Support API into a natural language interface, enabling AI agents to:

Ticket Management

  • Ticket Operations

    • "Create urgent support ticket"
    • "Update ticket priority to high"
    • "Assign ticket to tech team"
    • "Close resolved tickets"
  • Ticket Search

    • "Show all open tickets"
    • "Find tickets from VIP customers"
    • "List overdue tickets"
    • "Search tickets about billing"
  • Bulk Actions

    • "Update 50 tickets to solved"
    • "Assign all new tickets"
    • "Add tag to filtered tickets"
    • "Merge duplicate tickets"

Customer Management

  • User Operations

    • "Create customer profile"
    • "Update user email address"
    • "Merge duplicate users"
    • "Suspend spam accounts"
  • Organization Management

    • "Create company account"
    • "Link users to organization"
    • "Update company details"
    • "Set organization tags"
  • Contact Information

    • "Add phone number"
    • "Update timezone"
    • "Set preferred language"
    • "Configure notifications"

Communication

  • Ticket Comments

    • "Reply to customer"
    • "Add internal note"
    • "Send public update"
    • "Include attachments"
  • Macros & Templates

    • "Apply refund macro"
    • "Use greeting template"
    • "Send canned response"
    • "Execute macro chain"
  • Email Integration

    • "CC additional recipients"
    • "BCC team members"
    • "Set reply-to address"
    • "Configure signatures"

Automation

  • Triggers

    • "Create auto-response trigger"
    • "Set escalation rules"
    • "Configure SLA alerts"
    • "Build routing logic"
  • Automations

    • "Close inactive tickets"
    • "Update stale tickets"
    • "Send follow-up surveys"
    • "Archive old tickets"
  • Views

    • "Create VIP ticket view"
    • "Build SLA breach view"
    • "Design team dashboard"
    • "Configure filters"

Analytics & Reporting

  • Ticket Analytics

    • "Show resolution time"
    • "Track ticket volume"
    • "Measure satisfaction"
    • "Monitor SLA compliance"
  • Agent Performance

    • "Track response times"
    • "Measure productivity"
    • "Show ticket counts"
    • "Calculate efficiency"
  • Customer Insights

    • "Analyze satisfaction trends"
    • "Track repeat contacts"
    • "Measure resolution rates"
    • "Identify pain points"

Categorization

  • Tags Management

    • "Add product tags"
    • "Create tag hierarchy"
    • "Apply bulk tags"
    • "Clean up unused tags"
  • Custom Fields

    • "Create dropdown field"
    • "Add date picker"
    • "Build checkbox group"
    • "Set field dependencies"
  • Forms

    • "Design intake form"
    • "Create ticket template"
    • "Configure conditionals"
    • "Set required fields"

SLA Management

  • SLA Policies

    • "Create priority SLA"
    • "Set response targets"
    • "Configure escalations"
    • "Define business hours"
  • SLA Tracking

    • "Show SLA breaches"
    • "Monitor at-risk tickets"
    • "Track compliance rate"
    • "Alert on violations"
  • Escalation

    • "Escalate to manager"
    • "Notify stakeholders"
    • "Update priority"
    • "Reassign agent"

Search & Discovery

  • Advanced Search

    • "Search by multiple criteria"
    • "Use search operators"
    • "Filter by date range"
    • "Save search queries"
  • Saved Searches

    • "Create team searches"
    • "Share with agents"
    • "Schedule reports"
    • "Export results"
  • Quick Filters

    • "Filter by status"
    • "Sort by priority"
    • "Group by requester"
    • "Show by channel"

Prerequisites

  • Access to Cequence AI Gateway
  • Zendesk Support account (Team or above)
  • Admin or Agent permissions
  • OAuth application credentials

Step 1: Create Zendesk OAuth Application

1.1 Access Admin Center

  1. Log in to Zendesk Support
  2. Go to Admin Center > Apps and integrations
  3. Select APIs > Zendesk API
  4. Click OAuth Clients tab

1.2 Create OAuth Client

  1. Click Add OAuth Client
  2. Fill in details:
    • Client Name: "AI Gateway MCP Integration"
    • Company: Your company name
    • Description: "MCP server for AI-powered support"
    • Redirect URLs:
      https://auth.aigateway.cequence.ai/v1/outbound/oauth/callback

1.3 Configure Permissions

  1. Set client type to Confidential
  2. Select scopes:
    • read - Read access to all resources
    • write - Write access to all resources
    • tickets:read - Read tickets
    • tickets:write - Manage tickets
    • users:read - Read users
    • organizations:read - Read organizations

1.4 Save Credentials

  1. Click Save
  2. Copy Client ID
  3. Copy Client Secret
  4. Note your Subdomain (e.g., company.zendesk.com)

Step 2-4: Standard Setup

Follow standard steps to access AI Gateway, find Zendesk Support API, and create MCP server.

Step 5: Configure API Endpoints

  1. Base URL: https://{subdomain}.zendesk.com/api/v2
  2. Select endpoints:
    • Tickets endpoints
    • Users endpoints
    • Organizations endpoints
    • Search endpoints
  3. Click Next

Step 6: MCP Server Configuration

  1. Name: "Zendesk Support"
  2. Description: "Customer service and ticketing"
  3. Configure production mode
  4. Click Next

Step 7: Configure Authentication

  1. Authentication Type: OAuth 2.0
  2. Authorization URL:
    https://{subdomain}.zendesk.com/oauth/authorizations/new
  3. Token URL:
    https://{subdomain}.zendesk.com/oauth/tokens
  4. Enter Client ID and Secret
  5. Select required scopes

Available Zendesk OAuth Scopes

Core Scopes

  • read

    • Read all resources
    • View configurations
    • Access reports
    • Search data
  • write

    • Create resources
    • Update data
    • Delete items
    • Manage settings

Resource-Specific Scopes

  • tickets:read

    • View tickets
    • Read comments
    • Access attachments
    • See audit logs
  • tickets:write

    • Create tickets
    • Update status
    • Add comments
    • Manage tags
  • users:read

    • View user profiles
    • Access contact info
    • Read custom fields
    • See organizations
  • users:write

    • Create users
    • Update profiles
    • Manage roles
    • Set permissions

For Support Agents:

read
tickets:write
users:read
organizations:read

For Administrators:

read
write
tickets:write
users:write
organizations:write
auditlogs:read

Step 8-10: Complete Setup

Configure security, choose deployment, and deploy.

Using Your Zendesk Support MCP Server

With Claude Desktop

{
"servers": {
"zendesk-support": {
"url": "your-mcp-server-url",
"auth": {
"type": "oauth2",
"client_id": "your-client-id"
}
}
}
}

Natural Language Commands

  • "Create high priority ticket for customer issue"
  • "Show all open tickets assigned to me"
  • "Update ticket #12345 status to pending"
  • "Find tickets from Acme Corp this week"
  • "Apply refund macro to selected ticket"

API Integration Example

// Initialize MCP client
const mcpClient = new MCPClient({
serverUrl: 'your-mcp-server-url',
auth: {
type: 'oauth2',
token: 'access-token'
}
});

// Create a support ticket
const ticket = await mcpClient.zendesk.tickets.create({
ticket: {
subject: 'Unable to process payment',
comment: {
body: 'Customer reported error when trying to complete purchase. Error code: PAY-500',
public: true
},
priority: 'high',
type: 'problem',
tags: ['payment', 'urgent', 'error-500'],
custom_fields: [
{ id: 360000123456, value: 'payment_gateway' },
{ id: 360000123457, value: 'premium' }
],
requester: {
name: 'John Doe',
email: 'john.doe@example.com'
}
}
});

// Update ticket with internal note
await mcpClient.zendesk.tickets.update({
id: ticket.ticket.id,
ticket: {
comment: {
body: 'Escalated to payment team. Possible gateway timeout issue.',
public: false,
author_id: agentId
},
assignee_id: paymentTeamId,
group_id: paymentGroupId
}
});

// Search for related tickets
const relatedTickets = await mcpClient.zendesk.search.query({
query: 'type:problem tags:payment created>1week',
sort_by: 'created_at',
sort_order: 'desc'
});

// Create or update user
const user = await mcpClient.zendesk.users.createOrUpdate({
user: {
email: 'john.doe@example.com',
name: 'John Doe',
role: 'end-user',
organization_id: organizationId,
user_fields: {
customer_type: 'premium',
account_manager: 'Sarah Smith'
},
tags: ['vip', 'premium_support']
}
});

// Apply macro to ticket
await mcpClient.zendesk.macros.apply({
id: macroId,
ticket_id: ticket.ticket.id
});

// Create automation trigger
const trigger = await mcpClient.zendesk.triggers.create({
trigger: {
title: 'Auto-assign payment issues',
active: true,
conditions: {
all: [
{ field: 'status', operator: 'is', value: 'new' },
{ field: 'tags', operator: 'includes', value: 'payment' }
]
},
actions: [
{ field: 'group_id', value: paymentGroupId },
{ field: 'priority', value: 'high' },
{ field: 'notification_user', value: [
paymentManagerId,
'Payment issue requires attention: {{ticket.title}}'
]}
]
}
});

// Get ticket metrics
const metrics = await mcpClient.zendesk.tickets.metrics({
ticket_id: ticket.ticket.id
});

console.log(`First response time: ${metrics.reply_time_in_minutes.calendar} minutes`);
console.log(`Resolution time: ${metrics.full_resolution_time_in_minutes.calendar} minutes`);

// Bulk update tickets
const bulkUpdate = await mcpClient.zendesk.tickets.updateMany({
ids: [123, 456, 789],
ticket: {
status: 'pending',
tags: ['awaiting_customer'],
comment: {
body: 'We are investigating this issue and will update you soon.',
public: true
}
}
});

// Create SLA policy
const sla = await mcpClient.zendesk.slas.policies.create({
sla_policy: {
title: 'Premium Support SLA',
description: 'SLA for premium customers',
active: true,
filter: {
all: [
{ field: 'custom_fields_360000123457', operator: 'is', value: 'premium' }
]
},
policy_metrics: [
{
priority: 'urgent',
metric: 'first_reply_time',
target: 30,
business_hours: false
},
{
priority: 'high',
metric: 'first_reply_time',
target: 120,
business_hours: true
}
]
}
});

// Get satisfaction ratings
const satisfaction = await mcpClient.zendesk.satisfaction.ratings({
start_time: '2025-01-01',
end_time: '2025-01-31',
score: 'good'
});

Common Use Cases

Customer Support

  • Ticket management and routing
  • Multi-channel support
  • Customer communication
  • Issue escalation

Help Desk Operations

  • IT service management
  • Internal support
  • Asset tracking
  • Change requests

SLA Management

  • Response time tracking
  • Escalation workflows
  • Performance monitoring
  • Compliance reporting

Knowledge Management

  • FAQ creation
  • Solution articles
  • Self-service portal
  • Content organization

Security Best Practices

  1. OAuth Security:

    • Use minimal scopes required
    • Rotate credentials regularly
    • Implement IP restrictions
    • Monitor token usage
  2. Data Protection:

    • Encrypt sensitive data
    • Mask personal information
    • Implement retention policies
    • Audit data access
  3. Access Control:

    • Role-based permissions
    • Group-level restrictions
    • Custom role definitions
    • Regular access reviews

Troubleshooting

Common Issues

  1. Authentication Errors

    • Verify OAuth credentials
    • Check subdomain URL
    • Validate redirect URI
    • Review token expiration
  2. Rate Limiting

    • Monitor API usage
    • Implement exponential backoff
    • Use bulk endpoints
    • Cache frequently accessed data
  3. Data Sync Issues

    • Use incremental export
    • Handle pagination properly
    • Check field mappings
    • Validate data types

Getting Help