# Zoho Desk

Zoho Desk is a context-aware helpdesk platform enabling support teams to track tickets, automate workflows, and gain insights on customer interactions

- **Category:** crm
- **Auth:** OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 22
- **Triggers:** 0
- **Slug:** `ZOHO_DESK`
- **Version:** 20260309_00

## Tools

### Create Ticket

**Slug:** `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 webUrl for downstream chaining.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address of the requester. Use this if you don't have a contactId. Zoho Desk will look up or create a contact with this email. Mutually exclusive with 'contactId'. |
| `orgId` | string | No | Optional organization ID header; overrides the default org from auth. |
| `phone` | string | No | Phone number associated with the ticket |
| `status` | string | No | Status of the ticket |
| `channel` | string | No | Channel through which the ticket was created |
| `contact` | object | No | Contact information for creating a new contact with the ticket. |
| `dueDate` | string | No | Due date for the ticket in ISO 8601 format |
| `subject` | string | Yes | Subject/title of the ticket |
| `category` | string | No | Category of the ticket |
| `priority` | string | No | Priority level of the ticket |
| `contactId` | string | No | ID of an existing contact who is submitting the ticket. Use this if you already know the contact ID. Mutually exclusive with 'email' and 'contact'. |
| `productId` | string | No | ID of the product related to the ticket |
| `assigneeId` | string | No | ID of the agent to assign the ticket to |
| `description` | string | No | Detailed description of the issue or request |
| `subCategory` | string | No | Sub-category of the ticket |
| `departmentId` | string | Yes | ID of the department to which the ticket should be assigned |
| `classification` | string | No | Classification of the ticket |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Agent

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional organization ID header; must match the OAuth token's org. |
| `include` | array | No | List of related resources to include: 'profile', 'role', 'associatedDepartments', 'associatedChatDepartments', 'verifiedEmails'. |
| `agent_id` | string | Yes | The Zoho Desk agent ID to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Agents Count

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Zoho Desk organization ID header. If provided, will be added as 'orgId' header. |
| `status` | string ("ACTIVE" | "DISABLED") | No | Filter by agent activation status (ACTIVE or DISABLED). |
| `isConfirmed` | boolean | No | Filter by confirmation status (true: confirmed agents only). |
| `includeLightAgent` | boolean | No | Whether to include light agents in the count. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional organization ID header; must match the OAuth token's org. |
| `include` | array | No | List of related resources to include: 'accounts', 'owner'. |
| `contact_id` | string | Yes | The Zoho Desk contact ID to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contacts By IDs

**Slug:** `ZOHO_DESK_GET_CONTACTS_BY_IDS`

Tool to fetch multiple contacts by their IDs using Zoho Desk's contactsByIds endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | array | Yes | List of up to 20 contact IDs to retrieve (max 20). |
| `orgId` | string | No | Optional Zoho Desk organization ID header; if provided, must match the OAuth token's organization. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Department

**Slug:** `ZOHO_DESK_GET_DEPARTMENT`

Tool to fetch details of a Zoho Desk department by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional organization ID header; if provided, must match the OAuth token's organization. |
| `department_id` | string | Yes | The Zoho Desk department ID to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Department Logo

**Slug:** `ZOHO_DESK_GET_DEPARTMENT_LOGO`

Tool to get/download a department's logo from Zoho Desk.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Organization ID header. If omitted, the bound org from connection may be used. |
| `file_name` | string | No | Optional filename to use for the downloaded logo. If not provided, a default name like 'department_<id>_logo' will be used. |
| `department_id` | string | Yes | The Zoho Desk Department ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Departments Count

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Zoho Desk organization ID header. If provided, will be added as 'orgId' header. |
| `isEnabled` | boolean | No | Filter by department enabled status (true: enabled departments only). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Ticket

**Slug:** `ZOHO_DESK_GET_TICKET`

Get Ticket

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional Zoho Desk organization ID; if provided, overrides default. |
| `include` | string | No | Comma-separated list of related entities to embed. Allowed values: contacts, products, assignee, departments, contract, isRead, team, skills |
| `ticket_id` | integer | Yes | The Zoho Desk ticket ID to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Ticket Latest Thread

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional Zoho organization ID; if provided, overrides default. |
| `include` | string | No | Set to 'plainText' to return content in plain text. |
| `ticket_id` | integer | Yes | The Zoho Desk ticket ID to fetch the latest thread for. |
| `needPublic` | boolean | No | Whether to return only public threads. |
| `threadStatus` | string ("success" | "failed") | No | Filter threads by status; allowed values: 'success', 'failed'. |
| `needIncomingThread` | boolean | No | Whether to return only incoming threads. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Ticket Resolution

**Slug:** `ZOHO_DESK_GET_TICKET_RESOLUTION`

Get Ticket Resolution

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional Zoho Desk organization ID; if provided, will be sent as orgId header. |
| `ticket_id` | integer | Yes | The Zoho Desk ticket ID whose resolution is to be fetched. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Ticket Thread

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional Zoho Desk organization ID; if provided, overrides default. |
| `include` | string | No | Set to 'plainText' to return the thread content in plain text. |
| `thread_id` | integer | Yes | The ID of the thread to retrieve. |
| `ticket_id` | integer | Yes | The Zoho Desk ticket ID to fetch the thread from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contact Accounts

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of accounts to return (1–100). |
| `orgId` | string | No | Organization ID header; must match the OAuth token's org. |
| `sortBy` | string | No | Sort by fields: 'accountName', 'createdTime', or 'mappingType'; prefix with '-' for descending |
| `contact_id` | string | Yes | ID of the contact whose accounts to list. |
| `from_index` | integer | No | Zero- or one-based index to start listing from. Mapped to query parameter 'from'. |
| `startsWith` | string | No | Filter by the starting letter(s) of account names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contacts

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of contacts to fetch (1–100; default: 10) |
| `fields` | string | No | Comma-separated list of up to 30 fields to return |
| `sortBy` | string | No | Sort by fields: 'firstName', 'lastName', or 'createdTime'; prefix with '-' for descending |
| `viewId` | integer | No | ID of the view to apply while fetching contacts |
| `include` | array | No | Secondary information to include; allowed value: 'accounts' |
| `from_index` | integer | No | Offset index to start fetching from (default: 1). Mapped to 'from' query parameter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Departments

**Slug:** `ZOHO_DESK_LIST_DEPARTMENTS`

Tool to list all departments in the current Zoho Desk organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional Zoho Desk organization ID header; if provided, must match the OAuth token's organization |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Organizations

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional Zoho Desk organization ID header; if provided, must match the OAuth token's organization |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Roles

**Slug:** `ZOHO_DESK_LIST_ROLES`

List Roles

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `from` | integer | No | Start index for pagination (>=0) |
| `limit` | integer | No | Number of roles to return (0–500) |
| `orgId` | string | No | Optional Zoho Desk organization ID header; must match OAuth token's org |
| `isDefault` | boolean | No | Filter default vs custom roles |
| `isVisible` | boolean | No | Filter by UI visibility |
| `searchStr` | string | No | Search by name/description; supports string*, *string*, exact; max 100 chars |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Roles By IDs

**Slug:** `ZOHO_DESK_LIST_ROLES_BY_IDS`

List Roles By IDs

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional Zoho Desk organization ID header; must match OAuth token's org |
| `roleIds` | array | Yes | List of role IDs to retrieve (comma-joined in query; max 50) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Teams in Department

**Slug:** `ZOHO_DESK_LIST_TEAMS_IN_DEPARTMENT`

Tool to list teams in the specified Zoho Desk department.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Optional Zoho Desk organization ID header; if provided, must match the OAuth token's organization |
| `department_id` | string | Yes | ID of the department whose teams to list |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Ticket Conversations

**Slug:** `ZOHO_DESK_LIST_TICKET_CONVERSATIONS`

List Ticket Conversations

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `from` | integer | No | Starting index from which conversations are fetched; range: >= 0 |
| `limit` | integer | No | Number of conversations to fetch; range: 1–200; default decided by API |
| `orgId` | string | No | Zoho Desk organization ID to be passed in orgId header |
| `ticket_id` | integer | Yes | ID of the ticket whose conversations are to be listed |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tickets

**Slug:** `ZOHO_DESK_LIST_TICKETS`

List Tickets

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `from` | integer | No | Offset index to start fetching from (default: 1) |
| `limit` | integer | No | Number of tickets to fetch (1–100; default: 10) |
| `orgId` | string | No | Organization ID header |
| `viewId` | string | No | View ID to filter tickets |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Many Tasks

**Slug:** `ZOHO_DESK_UPDATE_MANY_TASKS`

Update multiple tasks in a single call using Zoho Desk API. Endpoint: POST /api/v1/tasks/updateMany

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | array | Yes | Array of task IDs to update (max 50) |
| `orgId` | string | No | (header) Organization ID of the Zoho Desk account |
| `fieldName` | string | Yes | Name of the field to update |
| `fieldValue` | string | No | Value to set for the field |
| `isCustomField` | boolean | No | Whether the field is a custom field |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Department Logo

**Slug:** `ZOHO_DESK_UPLOAD_DEPARTMENT_LOGO`

Tool to upload/update a department logo in Zoho Desk.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | No | Organization ID header. If omitted, the bound org from connection may be used. |
| `department_id` | string | Yes | The Zoho Desk Department ID. |
| `departmentLogo` | object | No | File to upload as department logo (jpg, jpeg, png, gif; max 2 MB). This will be sent as multipart form field named 'departmentLogo'. |
| `departmentLogoMime` | string | No | MIME type for the uploaded file (e.g., image/png, image/jpeg, image/gif). Defaults to image/png if not specified. |
| `departmentLogoName` | string | No | Filename to use when uploading (used if Base64 content is provided). |
| `departmentLogoBase64` | string | No | Base64-encoded image content to upload as the department logo. If provided, it will be decoded and sent as 'departmentLogo' multipart field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
