Skip to main content

Zendesk Developer MCP Server

Create a powerful Model Context Protocol (MCP) server for Zendesk Developer APIs in minutes with our AI Gateway. This guide walks you through setting up comprehensive developer platform integration with enterprise-grade security and instant OAuth authentication.

About Zendesk Developer APIs

Zendesk Developer APIs provide the foundation for building custom applications, integrations, and extensions on the Zendesk platform. These APIs enable app development, marketplace integration, custom workflows, and advanced platform customization.

Key Capabilities

  • Apps Framework: Build custom Zendesk apps
  • Marketplace: Publish and manage apps
  • App Installation: Deploy and configure apps
  • Custom UI: Interface extensions
  • Data Storage: App-specific data
  • Event Handling: App lifecycle events
  • OAuth Management: App authentication
  • Version Control: App updates and releases

API Features

  • Apps API: App management and deployment
  • Installations API: App installation control
  • OAuth 2.0: Secure authentication framework
  • Manifest API: App configuration
  • Assets API: Resource management
  • Jobs API: Background processing
  • Locations API: UI placement
  • Settings API: App configuration

What You Can Do with Zendesk Developer MCP Server

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

App Development

  • App Creation

    • "Create new Zendesk app"
    • "Initialize app framework"
    • "Set up app structure"
    • "Configure app manifest"
  • App Management

    • "Update app version"
    • "Deploy to marketplace"
    • "Manage app settings"
    • "Handle app lifecycle"
  • Testing & Debug

    • "Test app locally"
    • "Debug app issues"
    • "Validate app manifest"
    • "Check app compatibility"

UI Extensions

  • Interface Locations

    • "Add sidebar app"
    • "Create nav bar extension"
    • "Build ticket app"
    • "Design modal interface"
  • Custom Components

    • "Create custom fields"
    • "Build interactive widgets"
    • "Design form elements"
    • "Add visualization components"
  • User Experience

    • "Implement responsive design"
    • "Add accessibility features"
    • "Create intuitive workflows"
    • "Optimize performance"

Data Management

  • App Storage

    • "Store app configuration"
    • "Manage user preferences"
    • "Cache API responses"
    • "Handle app state"
  • External Integration

    • "Connect to external APIs"
    • "Sync with third-party systems"
    • "Handle webhooks"
    • "Manage data flows"
  • Security

    • "Implement secure storage"
    • "Handle authentication"
    • "Manage API keys"
    • "Encrypt sensitive data"

Workflow Automation

  • Event Handling

    • "Listen to ticket events"
    • "Handle user actions"
    • "Process system events"
    • "Trigger custom workflows"
  • Business Logic

    • "Implement custom rules"
    • "Create approval workflows"
    • "Build automation chains"
    • "Handle exceptions"
  • Integration Points

    • "Connect multiple systems"
    • "Orchestrate data flows"
    • "Manage dependencies"
    • "Handle async operations"

Marketplace Operations

  • App Publishing

    • "Submit to marketplace"
    • "Manage app listing"
    • "Update app description"
    • "Handle marketplace reviews"
  • Version Management

    • "Release new versions"
    • "Manage compatibility"
    • "Handle deprecations"
    • "Migrate user data"
  • Analytics

    • "Track app usage"
    • "Monitor performance"
    • "Analyze user feedback"
    • "Measure adoption"

Configuration Management

  • App Settings

    • "Define configuration options"
    • "Create settings UI"
    • "Validate configuration"
    • "Handle defaults"
  • Installation Config

    • "Customize per-install"
    • "Manage installation flow"
    • "Handle requirements"
    • "Configure permissions"
  • Environment Setup

    • "Manage development env"
    • "Configure staging"
    • "Deploy to production"
    • "Handle rollbacks"

Security & Compliance

  • Authentication

    • "Implement OAuth flow"
    • "Manage app credentials"
    • "Handle token refresh"
    • "Secure API calls"
  • Permissions

    • "Define app permissions"
    • "Implement role checks"
    • "Control data access"
    • "Audit operations"
  • Compliance

    • "Ensure data privacy"
    • "Implement security measures"
    • "Handle sensitive data"
    • "Maintain audit logs"

Multi-Platform Support

  • Web Apps

    • "Build browser extensions"
    • "Create responsive UIs"
    • "Handle cross-browser compatibility"
    • "Optimize for performance"
  • Mobile Integration

    • "Create mobile-friendly UI"
    • "Handle touch interactions"
    • "Optimize for mobile"
    • "Support offline mode"
  • API Integration

    • "Build REST API clients"
    • "Handle GraphQL queries"
    • "Implement webhooks"
    • "Manage rate limits"

Prerequisites

  • Access to Cequence AI Gateway
  • Zendesk Developer account
  • Developer app permissions
  • OAuth application credentials

Step 1: Create Zendesk Developer Application

1.1 Access Developer Portal

  1. Go to Zendesk Developer Portal
  2. Sign in with your Zendesk account
  3. Navigate to My Apps
  4. Click Create App

1.2 Configure App

  1. Fill in app details:
    • App Name: "AI Gateway Developer MCP"
    • Description: "Developer API integration"
    • App Type: "Private" or "Public"
    • OAuth Redirect URL:
      https://auth.aigateway.cequence.ai/v1/outbound/oauth/callback

1.3 Set Permissions

  1. Select required scopes:
    • apps:read - Read app data
    • apps:write - Manage apps
    • installations:read - View installations
    • installations:write - Manage installations

1.4 Get Credentials

  1. After creation, copy:
    • Client ID
    • Client Secret
    • App ID
  2. Note your Subdomain

Step 2-4: Standard Setup

Follow standard steps to access AI Gateway, find Zendesk Developer APIs, and create MCP server.

Step 5: Configure API Endpoints

  1. Base URL: https://{subdomain}.zendesk.com/api/v2
  2. Apps API: https://{subdomain}.zendesk.com/api/apps
  3. Select endpoints:
    • Apps endpoints
    • Installations endpoints
    • OAuth endpoints
  4. Click Next

Step 6: MCP Server Configuration

  1. Name: "Zendesk Developer"
  2. Description: "Developer platform and apps framework"
  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 Developer OAuth Scopes

App Development Scopes

  • apps:read

    • View app details
    • Read app configurations
    • Access app metadata
    • See installation data
  • apps:write

    • Create apps
    • Update app settings
    • Manage versions
    • Deploy changes

Installation Management

  • installations:read

    • View installations
    • Read install configs
    • Access usage data
    • See user settings
  • installations:write

    • Install apps
    • Update configurations
    • Manage settings
    • Uninstall apps

For App Development:

apps:read
apps:write
installations:read
installations:write

For App Management:

apps:read
installations:read
installations:write

Step 8-10: Complete Setup

Configure security, choose deployment, and deploy.

Using Your Zendesk Developer MCP Server

With Claude Desktop

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

Natural Language Commands

  • "Create new Zendesk app for CRM integration"
  • "Deploy app to marketplace"
  • "Update app configuration settings"
  • "Install app in customer account"
  • "Monitor app performance metrics"

API Integration Example

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

// Create Zendesk app
const app = await mcpClient.zendesk.developer.apps.create({
app: {
name: 'Customer Success Dashboard',
description: 'Comprehensive customer health monitoring',
short_description: 'Monitor customer health and engagement',
long_description: `
Track customer engagement, identify at-risk accounts, and provide
actionable insights to improve customer success outcomes.
`,
installation_instructions: 'Click install and configure your API keys',
version: '1.0.0',
framework_version: '2.0',
author: {
name: 'Your Company',
email: 'developer@yourcompany.com',
url: 'https://yourcompany.com'
},
parameters: [
{
name: 'api_key',
type: 'text',
required: true,
secure: true,
default: '',
description: 'Your API key for external service'
},
{
name: 'sync_interval',
type: 'number',
required: false,
default: 300,
description: 'Data sync interval in seconds'
},
{
name: 'enable_notifications',
type: 'checkbox',
required: false,
default: true,
description: 'Enable email notifications'
}
],
locations: {
ticket_sidebar: {
url: 'assets/sidebar.html',
flexible: true,
size: {
width: '100%',
height: '400px'
}
},
nav_bar: {
url: 'assets/navbar.html'
},
ticket_editor: {
url: 'assets/editor.html'
}
},
defaultLocale: 'en',
private: false,
singleInstall: false
}
});

// Upload app assets
const assets = await mcpClient.zendesk.developer.apps.uploadAssets({
app_id: app.id,
assets: [
{
filename: 'sidebar.html',
content_type: 'text/html',
content: `
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Customer Dashboard</title>
<script src="https://assets.zendesk.com/apps/sdk/2.0/zaf_sdk.js"></script>
</head>
<body>
<div id="app">
<h3>Customer Health Score</h3>
<div id="health-score">Loading...</div>
<h3>Recent Activity</h3>
<div id="activity-feed">Loading...</div>
</div>
<script src="assets/main.js"></script>
</body>
</html>
`
},
{
filename: 'main.js',
content_type: 'application/javascript',
content: `
(function() {
var client = ZAFClient.init();

client.on('app.registered', function(appData) {
loadCustomerData();
});

function loadCustomerData() {
client.get('ticket.requester.id').then(function(data) {
var requesterId = data['ticket.requester.id'];
fetchCustomerHealth(requesterId);
fetchRecentActivity(requesterId);
});
}

function fetchCustomerHealth(userId) {
client.request({
url: '/api/v2/users/' + userId + '.json',
type: 'GET'
}).then(function(data) {
displayHealthScore(data.user);
});
}

function displayHealthScore(user) {
var score = calculateHealthScore(user);
document.getElementById('health-score').innerHTML =
'<span class="score score-' + score.level + '">' +
score.value + '/100</span>';
}

function calculateHealthScore(user) {
// Custom scoring logic
var score = Math.floor(Math.random() * 100);
var level = score > 80 ? 'high' : score > 50 ? 'medium' : 'low';
return { value: score, level: level };
}
})();
`
},
{
filename: 'styles.css',
content_type: 'text/css',
content: `
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto;
margin: 0;
padding: 16px;
}

.score {
font-size: 24px;
font-weight: bold;
padding: 8px 16px;
border-radius: 4px;
}

.score-high { background: #e8f5e8; color: #2e7d2e; }
.score-medium { background: #fff3cd; color: #856404; }
.score-low { background: #f8d7da; color: #721c24; }
`
}
]
});

// Install app in account
const installation = await mcpClient.zendesk.developer.apps.install({
app_id: app.id,
settings: {
api_key: 'customer-api-key-12345',
sync_interval: 600,
enable_notifications: true
},
plan_information: {
name: 'Basic Plan'
}
});

// Update app configuration
await mcpClient.zendesk.developer.installations.update({
installation_id: installation.id,
settings: {
sync_interval: 300,
enable_notifications: false,
alert_threshold: 25
}
});

// Get installation status
const status = await mcpClient.zendesk.developer.installations.get({
installation_id: installation.id
});

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

switch (event.type) {
case 'app.installed':
console.log('App installed:', event.app_id);
await initializeAppData(event.installation_id);
break;

case 'app.uninstalled':
console.log('App uninstalled:', event.app_id);
await cleanupAppData(event.installation_id);
break;

case 'app.updated':
console.log('App updated:', event.app_id);
await migrateAppData(event.installation_id, event.version);
break;
}

res.sendStatus(200);
});

// Create app job for background processing
const job = await mcpClient.zendesk.developer.jobs.create({
job: {
action: 'sync_customer_data',
data: {
installation_id: installation.id,
sync_type: 'full',
customer_ids: [123, 456, 789]
}
}
});

// Monitor job status
const jobStatus = await mcpClient.zendesk.developer.jobs.show({
id: job.job.id
});

// Update app in marketplace
const updatedApp = await mcpClient.zendesk.developer.apps.update({
app_id: app.id,
app: {
version: '1.1.0',
description: 'Enhanced customer success dashboard with new features',
changelog: `
Version 1.1.0:
- Added health score trending
- Improved performance
- New notification options
- Bug fixes
`,
parameters: [
...app.parameters,
{
name: 'alert_threshold',
type: 'number',
required: false,
default: 30,
description: 'Health score threshold for alerts'
}
]
}
});

// Get app analytics
const analytics = await mcpClient.zendesk.developer.apps.getAnalytics({
app_id: app.id,
start_date: '2025-01-01',
end_date: '2025-01-31',
metrics: [
'installations',
'active_users',
'api_calls',
'errors',
'performance'
]
});

Common Use Cases

Custom Integrations

  • CRM synchronization
  • External API connections
  • Data visualization
  • Workflow automation

UI Extensions

  • Custom dashboards
  • Specialized forms
  • Interactive widgets
  • Enhanced interfaces

Business Logic

  • Custom validation
  • Approval workflows
  • Data processing
  • Rule engines

Marketplace Apps

  • Commercial apps
  • Industry solutions
  • Specialized tools
  • Integration platforms

Security Best Practices

  1. App Security:

    • Validate all inputs
    • Use secure storage
    • Implement proper authentication
    • Follow OAuth best practices
  2. Code Security:

    • Sanitize user data
    • Prevent XSS attacks
    • Use HTTPS only
    • Implement CSP headers
  3. Data Protection:

    • Encrypt sensitive data
    • Minimize data collection
    • Implement retention policies
    • Audit data access

Troubleshooting

Common Issues

  1. App Installation

    • Check manifest syntax
    • Verify OAuth configuration
    • Test asset loading
    • Review error logs
  2. UI Issues

    • Validate HTML/CSS
    • Check JavaScript errors
    • Test responsive design
    • Review browser compatibility
  3. API Integration

    • Verify API permissions
    • Check rate limits
    • Test error handling
    • Review authentication

Getting Help