Skip to main content

Zendesk Talk MCP Server

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

About Zendesk Talk API

Zendesk Talk is a cloud-based call center solution that integrates voice support directly into Zendesk. The API provides comprehensive access to call management, phone numbers, agent availability, call recordings, and voice analytics.

Key Capabilities

  • Call Management: Inbound and outbound calls
  • Phone Numbers: Local and toll-free numbers
  • IVR System: Interactive voice response
  • Call Recording: Conversation capture
  • Agent Management: Availability and routing
  • Call Analytics: Performance metrics
  • Integration: CRM and ticketing sync
  • Global Coverage: Worldwide phone support

API Features

  • Calls API: Call operations and history
  • Phone Numbers API: Number management
  • Agents API: Availability control
  • Recording API: Audio file access
  • OAuth 2.0: Secure authentication
  • Webhooks: Real-time events
  • Stats API: Call analytics
  • IVR API: Menu configuration

What You Can Do with Zendesk Talk MCP Server

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

Call Management

  • Inbound Calls

    • "Accept incoming call"
    • "Route call to specialist"
    • "Transfer to manager"
    • "Put call on hold"
  • Outbound Calls

    • "Make call to customer"
    • "Schedule callback"
    • "Dial from ticket"
    • "Call from lead record"
  • Call Control

    • "Mute/unmute call"
    • "Start conference call"
    • "Record conversation"
    • "End call session"

Phone Number Management

  • Number Operations

    • "Purchase local number"
    • "Get toll-free number"
    • "Configure caller ID"
    • "Set up forwarding"
  • Number Configuration

    • "Route to department"
    • "Set business hours"
    • "Configure voicemail"
    • "Enable recording"
  • International Support

    • "Add country support"
    • "Configure time zones"
    • "Set local presence"
    • "Manage regulations"

IVR System

  • Menu Design

    • "Create welcome message"
    • "Build option menu"
    • "Set up routing tree"
    • "Configure announcements"
  • Call Routing

    • "Route by language"
    • "Direct to department"
    • "Queue management"
    • "Overflow handling"
  • Voice Prompts

    • "Record custom messages"
    • "Upload audio files"
    • "Set hold music"
    • "Configure announcements"

Agent Management

  • Availability Control

    • "Set agent available"
    • "Enable call forwarding"
    • "Configure do not disturb"
    • "Set break status"
  • Skills-based Routing

    • "Route by expertise"
    • "Language routing"
    • "Priority queuing"
    • "Load balancing"
  • Performance Tracking

    • "Track call metrics"
    • "Monitor response times"
    • "Measure quality scores"
    • "Generate reports"

Call Recording

  • Recording Management

    • "Enable call recording"
    • "Download recordings"
    • "Set retention policy"
    • "Manage permissions"
  • Compliance

    • "Legal hold settings"
    • "GDPR compliance"
    • "Consent management"
    • "Audit trails"
  • Quality Assurance

    • "Score recordings"
    • "Tag conversations"
    • "Create playlists"
    • "Training materials"

Analytics & Reporting

  • Call Metrics

    • "Show call volume"
    • "Track answer rates"
    • "Measure handle time"
    • "Monitor abandonment"
  • Agent Performance

    • "Individual statistics"
    • "Team comparisons"
    • "Productivity metrics"
    • "Quality scores"
  • Business Intelligence

    • "Peak time analysis"
    • "Customer satisfaction"
    • "Cost per call"
    • "ROI calculations"

Voice Integration

  • Ticket Integration

    • "Create ticket from call"
    • "Link call to ticket"
    • "Add call notes"
    • "Sync call history"
  • CRM Sync

    • "Update customer record"
    • "Log call activity"
    • "Sync contact info"
    • "Track interactions"
  • Automation

    • "Auto-dial from queue"
    • "Schedule callbacks"
    • "Trigger workflows"
    • "Send notifications"

Global Operations

  • Multi-region Support

    • "Deploy in regions"
    • "Local number presence"
    • "Compliance setup"
    • "Currency handling"
  • Language Support

    • "Multi-language IVR"
    • "Agent language skills"
    • "Translation services"
    • "Cultural adaptation"
  • Regulatory Compliance

    • "GDPR settings"
    • "TCPA compliance"
    • "Recording consent"
    • "Data residency"

Prerequisites

  • Access to Cequence AI Gateway
  • Zendesk Talk subscription
  • Admin permissions
  • OAuth application credentials

Step 1: Create Zendesk OAuth Application

1.1 Access Admin Center

  1. Log in to Zendesk
  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 Talk MCP"
    • Company: Your company name
    • Description: "Voice support integration"
    • Redirect URLs:
      https://auth.aigateway.cequence.ai/v1/outbound/oauth/callback

1.3 Configure Permissions

  1. Set client type to Confidential
  2. Select Talk-specific scopes:
    • talk:read - Read call data
    • talk:write - Manage calls

1.4 Save Credentials

  1. Click Save
  2. Copy Client ID
  3. Copy Client Secret
  4. Note your Subdomain

Step 2-4: Standard Setup

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

Step 5: Configure API Endpoints

  1. Base URL: https://{subdomain}.zendesk.com/api/v2/channels/voice
  2. Select endpoints:
    • Calls endpoints
    • Phone numbers endpoints
    • Agents endpoints
    • Stats endpoints
  3. Click Next

Step 6: MCP Server Configuration

  1. Name: "Zendesk Talk"
  2. Description: "Voice support and call center"
  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 Talk OAuth Scopes

Talk Scopes

  • talk:read

    • View call history
    • Read recordings
    • Access statistics
    • See configurations
  • talk:write

    • Make calls
    • Manage settings
    • Control routing
    • Update agents

Additional Permissions

  • Recording Access

    • Download recordings
    • Manage retention
    • Quality scoring
    • Compliance controls
  • Admin Functions

    • Number management
    • IVR configuration
    • Agent settings
    • Analytics access

For Agents:

talk:read
talk:write
tickets:write
users:read

For Supervisors:

talk:read
talk:write
read
write

Step 8-10: Complete Setup

Configure security, choose deployment, and deploy.

Using Your Zendesk Talk MCP Server

With Claude Desktop

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

Natural Language Commands

  • "Make outbound call to customer"
  • "Show today's call statistics"
  • "Set agent available for calls"
  • "Download call recording"
  • "Configure IVR menu options"

API Integration Example

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

// Make an outbound call
const call = await mcpClient.zendesk.talk.calls.create({
call: {
phone_number: '+1-555-0123',
caller_id: companyPhoneNumber,
user_id: ticketRequesterId,
ticket_id: ticketId,
via: 'api'
}
});

// Set agent availability
await mcpClient.zendesk.talk.agents.updateAvailability({
agent_id: currentAgentId,
availability: {
status: 'available',
max_queue_size: 5,
call_forwarding_enabled: false,
wrap_up_time: 60
}
});

// Configure IVR menu
const ivrMenu = await mcpClient.zendesk.talk.ivr.create({
menu: {
name: 'Main Menu',
greeting: {
text: 'Thank you for calling. Please select from the following options.',
audio_url: 'https://example.com/greeting.mp3'
},
options: [
{
digit: '1',
action: 'route_to_group',
target: salesGroupId,
description: 'Press 1 for Sales'
},
{
digit: '2',
action: 'route_to_group',
target: supportGroupId,
description: 'Press 2 for Support'
},
{
digit: '3',
action: 'route_to_group',
target: billingGroupId,
description: 'Press 3 for Billing'
},
{
digit: '0',
action: 'route_to_operator',
description: 'Press 0 for Operator'
}
],
timeout: 10,
max_attempts: 3,
invalid_option_message: 'Invalid selection. Please try again.'
}
});

// Purchase phone number
const phoneNumber = await mcpClient.zendesk.talk.phoneNumbers.purchase({
phone_number: {
country_code: 'US',
area_code: '555',
type: 'local',
name: 'Main Support Line'
}
});

// Configure call recording
await mcpClient.zendesk.talk.settings.updateRecording({
recording: {
enabled: true,
consent_required: true,
retention_days: 90,
consent_message: 'This call may be recorded for quality assurance purposes.',
auto_recording: true,
storage_location: 'secure_cloud'
}
});

// Get call statistics
const stats = await mcpClient.zendesk.talk.stats.getCalls({
start_time: '2025-01-01T00:00:00Z',
end_time: '2025-01-31T23:59:59Z',
group_by: 'day',
metrics: [
'total_calls',
'answered_calls',
'missed_calls',
'average_handle_time',
'average_wait_time',
'customer_satisfaction'
]
});

// Handle incoming call webhook
app.post('/webhook/talk', async (req, res) => {
const event = req.body;

if (event.type === 'call.started') {
const { call_id, phone_number, caller_id } = event.data;

// Look up customer by phone
const customer = await mcpClient.zendesk.users.search({
query: `phone:${caller_id}`
});

if (customer.users.length > 0) {
// Update call with customer context
await mcpClient.zendesk.talk.calls.update({
id: call_id,
call: {
user_id: customer.users[0].id,
tags: ['returning_customer'],
custom_fields: {
customer_tier: customer.users[0].user_fields?.tier || 'standard'
}
}
});
}
}

res.sendStatus(200);
});

// Create call summary
const callSummary = await mcpClient.zendesk.talk.calls.addSummary({
call_id: call.call.id,
summary: {
outcome: 'resolved',
resolution: 'Password reset completed successfully',
follow_up_required: false,
customer_satisfaction: 5,
agent_notes: 'Customer was very satisfied with quick resolution',
tags: ['password_reset', 'resolved_first_call'],
duration_seconds: 420,
ticket_created: false
}
});

// Configure business hours
await mcpClient.zendesk.talk.settings.updateBusinessHours({
business_hours: {
timezone: 'America/New_York',
monday: { enabled: true, start: '09:00', end: '17:00' },
tuesday: { enabled: true, start: '09:00', end: '17:00' },
wednesday: { enabled: true, start: '09:00', end: '17:00' },
thursday: { enabled: true, start: '09:00', end: '17:00' },
friday: { enabled: true, start: '09:00', end: '17:00' },
saturday: { enabled: false },
sunday: { enabled: false },
holidays: [
{ date: '2025-01-01', name: 'New Year\'s Day' },
{ date: '2025-07-04', name: 'Independence Day' },
{ date: '2025-12-25', name: 'Christmas Day' }
]
}
});

// Generate call quality report
const qualityReport = await mcpClient.zendesk.talk.reports.getQuality({
period: 'last_30_days',
agents: [agentId1, agentId2, agentId3],
metrics: [
'average_call_rating',
'first_call_resolution',
'call_abandonment_rate',
'average_speed_to_answer',
'customer_satisfaction_score'
],
group_by: 'agent'
});

Common Use Cases

Customer Support

  • Inbound call handling
  • Technical support
  • Order assistance
  • Complaint resolution

Sales Operations

  • Lead qualification
  • Sales calls
  • Follow-up calls
  • Deal closing

Service Management

  • Appointment scheduling
  • Service callbacks
  • Emergency support
  • Field service coordination

Quality Assurance

  • Call monitoring
  • Agent coaching
  • Performance evaluation
  • Training programs

Security Best Practices

  1. Call Security:

    • Encrypt recordings
    • Secure transmission
    • Access controls
    • Audit trails
  2. Compliance:

    • Recording consent
    • Data retention
    • Privacy regulations
    • Legal requirements
  3. Access Control:

    • Role-based permissions
    • Agent restrictions
    • Recording access
    • Admin controls

Troubleshooting

Common Issues

  1. Call Quality

    • Check network latency
    • Verify bandwidth
    • Test audio devices
    • Review call logs
  2. Routing Problems

    • Validate IVR settings
    • Check agent availability
    • Review group assignments
    • Test call flows
  3. Recording Issues

    • Verify permissions
    • Check storage limits
    • Review consent settings
    • Test playback

Getting Help