# Zendesk MCP MCP

> Zendesk lets your AI agent interact with your entire customer service stack—managing tickets, finding user profiles, and mapping out organizational structures inside Zendesk. Instead of logging into the dashboard for basic checks, you just chat with it. It gives you visibility into every active ticket, which customers belong to what organization, and exactly who is assigned where.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** ticket-management, customer-service, support-automation, omnichannel-support, issue-tracking, helpdesk

## Description

You connect your Zendesk account directly to your agent through this MCP. You manage all customer service operations—from viewing individual tickets to auditing team structures—using natural conversation. Need to find a user's contact details? Just ask. Want to audit the entire queue for 'escalation' tags across every ticket? The agent handles complex searches that usually take minutes of manual clicking. This connection allows your AI client to become your support operations coordinator, pulling data on tickets, users, and groups instantly. Because credentials pass through Vinkius's zero-trust proxy, you never worry about storing API keys locally; they are only used in transit for the call. The real power comes when you combine this with other MCPs, letting your agent chain together a sequence—maybe checking a user profile first, then pulling up their open tickets, and finally listing the relevant support macros to suggest a reply.

## Tools

### get_ticket
Gets full details for one specific support ticket.

### get_user
Retrieves all contact and profile data for a single user account.

### list_groups
Shows you every defined support agent group in the system.

### list_macros
Lists all available canned response templates your team can use for replies.

### list_organizations
Shows you a list of every organization defined in Zendesk.

### list_tickets
Lists all support tickets that exist in the account.

### list_users
Retrieves a list of every user, including both customers and agents.

### list_views
Lists shared and personal ticket views within the system.

### search_tickets
Searches for tickets using specific Zendesk syntax, like 'type:ticket status:open tags:escalation'.

## Prompt Examples

**Prompt:** 
```
List all open tickets in Zendesk.
```

**Response:** 
```
I found 8 open tickets. The most recent are: 1. 'Login issue' (ID: 501, Priority: High), 2. 'Billing question' (ID: 502, Priority: Normal), and 3. 'Feature request' (ID: 503, Priority: Low). Which one would you like to inspect?
```

**Prompt:** 
```
Search for tickets with the tag 'escalation' that are still pending.
```

**Response:** 
```
Searching Zendesk... I found 3 pending tickets with the 'escalation' tag: 1. #550 (Escalated to Engineering), 2. #555 (Critical bug report), and 3. #560 (Data recovery request). Would you like the full details for any of these?
```

**Prompt:** 
```
Show me the contact info for user ID '123456789'.
```

**Response:** 
```
User ID 123456789 found: Name: John Doe, Email: john@example.com, Role: End-user, Organization: Acme Corp. He has 3 active tickets. Would you like me to list them for you?
```

## Capabilities

### Get Specific Ticket Details
Retrieves all metadata for one specific ticket, including its subject, priority, and internal comments.

### Search Tickets by Complex Criteria
Searches the entire ticket database using Zendesk’s full search syntax to pinpoint issues like 'open tickets with tag: billing'.

### Look Up User Profiles
Fetches deep contact and membership details for any specific customer or agent in your system.

### List All Support Groups
Retrieves a list of all defined support teams (groups) within the Zendesk instance.

### Identify Available Templates
Browses and lists every standard macro or canned response available to your team for quick replies.

### List Organizational Structures
Provides an inventory of all defined organizations, helping you understand how customers are grouped.

## Use Cases

### Auditing an Escalation Incident
A manager needs to know if a critical bug report is still open and who owns it. The agent runs `search_tickets` with the criteria 'status:open tags:escalation', then uses `get_ticket` on the resulting ID to find the last internal comment and assignee.

### Onboarding a New User
A CS team member needs to verify if a new client, John Doe, is part of the 'Acme Corp' organization and what his contact details are. The agent first uses `list_organizations` for verification, then runs `get_user` using the provided ID.

### Checking Team Coverage
An ops analyst needs to confirm that a new support channel was correctly added and assigned. They use `list_groups` to verify group existence, followed by checking `list_views` to ensure the correct team view is set up.

### Investigating Billing Issues
A billing specialist needs to see all tickets related only to payments. They use `search_tickets` with 'tags:billing' and then run `list_macros` to check if a specific payment-related response template exists for agent use.

## Benefits

- Find specific tickets quickly. Instead of browsing, you can use `search_tickets` to pull records based on complex criteria, like finding all open tickets tagged 'escalation'.
- Deep user context is instant. Use `get_user` or `list_users` to get a full contact and membership profile for any customer without leaving your chat window.
- Audit team structure effortlessly. You can run `list_groups` to confirm which support teams exist, or use `list_organizations` to understand client hierarchy.
- Understand operational readiness. Running `list_macros` lets you check every available canned response template so your agent knows what quick replies are possible.
- Handle single record lookups efficiently. Need details on one ticket? The `get_ticket` tool pulls all the necessary metadata instantly for review.

## How It Works

The bottom line is, you stop logging into the Zendesk web dashboard and start talking to it instead.

1. Subscribe to this MCP and provide your Zendesk Subdomain, Email, and API Token.
2. Connect the MCP to your preferred client (like Claude or Cursor) via the Vinkius platform.
3. Start chatting with your agent. You can now ask it to list open tickets or find a user's full contact record.

## Frequently Asked Questions

**How do I find tickets with multiple tags using the search_tickets tool?**
You must pass all criteria into the search syntax. For example, to find open billing issues, use 'type:ticket status:open tags:billing'. The agent handles the complex filtering logic for you.

**Can I check a user's contact info using get_user?**
Yes. `get_user` retrieves deep profile details, including name, email, and what organization they belong to, making it useful for quick outreach verification.

**Is list_groups the best way to audit support teams?**
It's a solid starting point. `list_groups` provides an inventory of all defined groups. For checking if specific tickets are assigned correctly, you might also want to check `list_views`.

**What should I use for listing all ticket types?**
The best way is using the full search syntax within `search_tickets`. This allows you to filter by 'type:ticket' combined with other status or tag criteria.

**When listing tickets with list_tickets, what level of API scope is required to see private vs. public records?**
You need sufficient read scopes tied to your Zendesk API token. The MCP will only expose data matching the permissions granted by that token. If you can't see it in the dashboard, your agent won't be able to retrieve it.

**If I use get_user with an invalid ID, what specific error message does the MCP return?**
The system returns a 404 Not Found error code. This means the user ID provided doesn't exist in your Zendesk instance. The agent will report this specific failure type directly to your client.

**How do I use list_views to find shared ticket views that multiple agents can access?**
list_views lists both personal and shared views, allowing you to identify team-wide templates. You should look for views that are not flagged as 'private' when reviewing the output metadata.

**When performing bulk data operations with list_users, does the MCP handle rate limiting automatically?**
Yes, Vinkius manages rate limiting for high-volume calls. If a limit is hit, your agent will receive an error and can pause or retry the request later, preventing workflow failure.

**Can I search for tickets with specific tags through the agent?**
Yes. The `search_tickets` tool supports the full Zendesk advanced search syntax. You can search by tags, status, type, and more (e.g., `tags:billing status:pending`), making it easy to perform complex filtering via chat.

**How do I see the latest comments on a specific support ticket?**
You can use the `get_ticket_details` tool. Provide the unique numeric ticket ID, and your agent will return the full metadata, including the ticket description and the most recent public or internal comments.

**Is it possible to see all my available support macros via chat?**
Absolutely. Use the `list_available_macros` tool to retrieve a list of all active support macros (canned responses) configured in your Zendesk account, helping you verify your team's standard reply templates.