# Zoho Desk — how to use (mcp.ai)

Connect your Zoho Desk account and use 31 tools for CRM straight from your AI agent. Connect in one click, no API key needed. Zoho Desk is a context-aware helpdesk platform enabling support teams to track tickets, automate workflows, and gain insights on customer interactions.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_zoho_desk?ms=1787291340000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `zoho_desk_create_contact`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/zoho_desk`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/zoho_desk/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/zoho_desk/create/contact` — Tool to create a new contact in Zoho Desk with name, email, and other details. Use this action when you need to add a new contact to the system, such as when onboarding a new customer or registering a
  - body: { zip?: string, city?: string, type?: string, email?: string, orgId?: string, phone?: string, state?: string, title?: string, mobile?: string, street?: string, country?: string, ownerId?: string, language?: string, lastName: string, accountId?: string, firstName: string, description?: string, secondaryEmail?: string }
- `POST https://api.mcp.ai/api/zoho_desk/create/ticket` — Tool to create a new Zoho Desk ticket with subject, description, department, and requester details. Use when you need to create a support ticket in Zoho Desk. Returns the created ticket with id and we
  - body: { email?: string, orgId?: string, phone?: string, status?: string, channel?: string, contact?: object, dueDate?: string, subject: string, category?: string, priority?: string, contactId?: string, productId?: string, assigneeId?: string, description?: string, subCategory?: string, departmentId: string, classification?: string }
- `POST https://api.mcp.ai/api/zoho_desk/download/ticket/attachment` — Download a file attachment from a Zoho Desk ticket by attachment ID. Use this action when you need to retrieve a specific file that was previously attached to a ticket. Requires both the ticket ID and
  - body: { orgId?: string, file_name?: string, ticket_id: string, attachment_id: string }
- `POST https://api.mcp.ai/api/zoho_desk/get/agent` — Tool to fetch details of a Zoho Desk agent. Use when you have an agent ID and need its full data, optionally including related resources.
  - body: { orgId?: string, include?: string[], agent_id: string }
- `POST https://api.mcp.ai/api/zoho_desk/get/agents/count` — Tool to get the total count of agents in Zoho Desk. Use when you need the number of agents optionally filtered by status, confirmation, or light agents.
  - body: { orgId?: string, status?: string, isConfirmed?: boolean, includeLightAgent?: boolean }
- `POST https://api.mcp.ai/api/zoho_desk/get/contact` — Tool to fetch details of a Zoho Desk contact. Use when you have a contact ID and need its full data, optionally including accounts or owner details.
  - body: { orgId?: string, include?: string[], contact_id: string }
- `POST https://api.mcp.ai/api/zoho_desk/get/contacts/by/ids` — Tool to fetch multiple contacts by their IDs using Zoho Desk's contactsByIds endpoint.
  - body: { ids: string[], orgId?: string }
- `POST https://api.mcp.ai/api/zoho_desk/get/department` — Tool to fetch details of a Zoho Desk department by ID.
  - body: { orgId?: string, department_id: string }
- `POST https://api.mcp.ai/api/zoho_desk/get/department/logo` — Tool to get/download a department's logo from Zoho Desk.
  - body: { orgId?: string, file_name?: string, department_id: string }
- `POST https://api.mcp.ai/api/zoho_desk/get/departments/count` — Tool to get the total count of departments in Zoho Desk. Use when you need the number of departments, optionally filtered by enabled status.
  - body: { orgId?: string, isEnabled?: boolean }
- `POST https://api.mcp.ai/api/zoho_desk/get/ticket` — Get Ticket
  - body: { orgId?: string, include?: string, ticket_id: integer }
- `POST https://api.mcp.ai/api/zoho_desk/get/ticket/latest/thread` — Tool to fetch the most recent thread of a ticket. Use when you need the latest conversation on a ticket.
  - body: { orgId?: string, include?: string, ticket_id: integer, needPublic?: boolean, threadStatus?: string, needIncomingThread?: boolean }
- `POST https://api.mcp.ai/api/zoho_desk/get/ticket/resolution` — Get Ticket Resolution
  - body: { orgId?: string, ticket_id: integer }
- `POST https://api.mcp.ai/api/zoho_desk/get/ticket/thread` — Tool to fetch a specific thread within a Zoho Desk ticket. Use when you need detailed thread information by ticket and thread IDs.
  - body: { orgId?: string, include?: string, thread_id: integer, ticket_id: integer }
- `POST https://api.mcp.ai/api/zoho_desk/list/agents` — Tool to list all agents in the Zoho Desk organization with optional filtering and pagination. Use when you need to retrieve multiple agents, optionally filtered by status or confirmation state.
  - body: { limit?: integer, orgId?: string, status?: string, include?: string[], from_index?: integer, isConfirmed?: boolean }
- `POST https://api.mcp.ai/api/zoho_desk/list/contact/accounts` — Tool to list accounts associated with a Zoho Desk contact. Use when you need to retrieve the accounts linked to a specific contact.
  - body: { limit?: integer, orgId?: string, sortBy?: string, contact_id: string, from_index?: integer, startsWith?: string }
- `POST https://api.mcp.ai/api/zoho_desk/list/contacts` — Tool to list contacts with filters and pagination. Use when you need to fetch contacts from Zoho Desk with optional filtering, sorting, or field selection.
  - body: { limit?: integer, fields?: string, sortBy?: string, viewId?: integer, include?: string[], from_index?: integer }
- `POST https://api.mcp.ai/api/zoho_desk/list/departments` — Tool to list all departments in the current Zoho Desk organization.
  - body: { orgId?: string }
- `POST https://api.mcp.ai/api/zoho_desk/list/organizations` — Tool to list all organizations the current user belongs to. Use when you need to retrieve organization metadata like portal URLs, names, and editions.
  - body: { orgId?: string }
- `POST https://api.mcp.ai/api/zoho_desk/list/roles` — List Roles
  - body: { from?: integer, limit?: integer, orgId?: string, isDefault?: boolean, isVisible?: boolean, searchStr?: string }
- `POST https://api.mcp.ai/api/zoho_desk/list/roles/by/ids` — List Roles By IDs
  - body: { orgId?: string, roleIds: string[] }
- `POST https://api.mcp.ai/api/zoho_desk/list/teams/in/department` — Tool to list teams in the specified Zoho Desk department.
  - body: { orgId?: string, department_id: string }
- `POST https://api.mcp.ai/api/zoho_desk/list/ticket/conversations` — List Ticket Conversations
  - body: { from?: integer, limit?: integer, orgId?: string, ticket_id: integer }
- `POST https://api.mcp.ai/api/zoho_desk/list/tickets` — List Tickets
  - body: { from?: integer, limit?: integer, orgId?: string, viewId?: string }
- `POST https://api.mcp.ai/api/zoho_desk/list/views` — List all ticket views in the Zoho Desk organization with pagination support. Views are saved filters that help organize and display tickets based on specific criteria. Use this action when you need to
  - body: { from?: integer, limit?: integer, orgId?: string, module: string }
- `POST https://api.mcp.ai/api/zoho_desk/search` — Search across Zoho Desk modules including tickets, accounts, contacts, and tasks using keywords or phrases. Use this action when you need to find records across multiple modules or within a specific m
  - body: { from?: integer, limit?: integer, orgId?: string, module?: string, sortBy?: string, searchStr?: string, departmentId?: string }
- `POST https://api.mcp.ai/api/zoho_desk/update/account` — Tool to update an existing Zoho Desk account's information such as name, email, phone, website, or description. Use this action when you need to modify account details after the account has been creat
  - body: { email?: string, orgId?: string, phone?: string, website?: string, account_id: string, accountName?: string, description?: string }
- `POST https://api.mcp.ai/api/zoho_desk/update/many/tasks` — Update multiple tasks in a single call using Zoho Desk API. Endpoint: POST /api/v1/tasks/updateMany
  - body: { ids: integer[], orgId?: string, fieldName: string, fieldValue?: string, isCustomField?: boolean }
- `POST https://api.mcp.ai/api/zoho_desk/update/ticket` — Updates an existing Zoho Desk ticket by modifying one or more fields such as status, priority, assignee, description, or other ticket properties. Use this action when you need to modify an existing su
  - body: { orgId?: string, phone?: string, status?: string, channel?: string, dueDate?: string, subject?: string, category?: string, priority?: string, contactId?: string, productId?: string, ticket_id: string, assigneeId?: string, description?: string, subCategory?: string, departmentId?: string, classification?: string }
- `POST https://api.mcp.ai/api/zoho_desk/upload/department/logo` — Tool to upload/update a department logo in Zoho Desk.
  - body: { orgId?: string, department_id: string, departmentLogo?: object, departmentLogoMime?: string, departmentLogoName?: string, departmentLogoBase64?: string }
- `POST https://api.mcp.ai/api/zoho_desk/upload/ticket/attachment` — Uploads a file attachment to a specific Zoho Desk ticket. The uploaded file becomes accessible as an attachment within the ticket for support agents and customers to reference. Use this action when yo
  - body: { file: object, orgId?: string, ticketId: string }

## Example prompts
- "What can I do in Zoho Desk?"
- "Show me a summary of my Zoho Desk account"

## More
- Page: https://mcp.ai/zoho_desk
- Agent spec (llms.txt): https://mcp.ai/zoho_desk/llms.txt
- Postman collection: https://mcp.ai/zoho_desk/postman.json
