# Zoho Desk

Manage Zoho Desk: tickets, contacts, accounts, agents, threads, departments. Exposes **30 actions** covering the full API surface
the agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `zohodesk_tickets_list` | List tickets - GET /tickets. |
| `zohodesk_ticket_get` | Get a single ticket - GET /tickets/&#123;ticket_id&#125;. |
| `zohodesk_tickets_search` | Search tickets by criteria - POST /tickets/search. |
| `zohodesk_ticket_create` | Create a ticket - POST /tickets. |
| `zohodesk_ticket_update` | Update a ticket - PATCH /tickets/&#123;ticket_id&#125;. |
| `zohodesk_ticket_assign` | Assign a ticket to an agent - PUT /tickets/&#123;ticket_id&#125;/assignee. |
| `zohodesk_contacts_list` | List contacts - GET /contacts. |
| `zohodesk_contact_get` | Get one contact - GET /contacts/&#123;contact_id&#125;. |
| `zohodesk_contact_create` | Create a contact - POST /contacts. |
| `zohodesk_contact_update` | Update a contact - PATCH /contacts/&#123;contact_id&#125;. |
| `zohodesk_contact_delete` | Delete a contact - DELETE /contacts/&#123;contact_id&#125;. |
| `zohodesk_accounts_list` | List accounts - GET /accounts. |
| `zohodesk_account_get` | Get one account - GET /accounts/&#123;account_id&#125;. |
| `zohodesk_account_create` | Create an account - POST /accounts. |
| `zohodesk_account_update` | Update an account - PATCH /accounts/&#123;account_id&#125;. |
| `zohodesk_account_delete` | Delete an account - DELETE /accounts/&#123;account_id&#125;. |
| `zohodesk_agents_list` | List agents - GET /agents. |
| `zohodesk_agent_get` | Get one agent - GET /agents/&#123;agent_id&#125;. |
| `zohodesk_departments_list` | List departments - GET /departments. |
| `zohodesk_department_get` | Get one department - GET /departments/&#123;department_id&#125;. |
| `zohodesk_threads_list` | List conversation threads in a ticket - GET /tickets/&#123;ticket_id&#125;/threads. |
| `zohodesk_thread_get` | Get one thread - GET /tickets/&#123;ticket_id&#125;/threads/&#123;thread_id&#125;. |
| `zohodesk_comments_list` | List comments on a ticket - GET /tickets/&#123;ticket_id&#125;/comments. |
| `zohodesk_comment_get` | Get one comment - GET /tickets/&#123;ticket_id&#125;/comments/&#123;comment_id&#125;. |
| `zohodesk_comment_create` | Create a comment on a ticket - POST /tickets/&#123;ticket_id&#125;/comments. |
| `zohodesk_comment_update` | Update a comment - PATCH /tickets/&#123;ticket_id&#125;/comments/&#123;comment_id&#125;. |
| `zohodesk_comment_delete` | Delete a comment - DELETE /tickets/&#123;ticket_id&#125;/comments/&#123;comment_id&#125;. |
| `zohodesk_articles_search` | Search KB articles - GET /search/articles. |
| `zohodesk_article_get` | Get one KB article - GET /articles/&#123;article_id&#125;. |
| `zohodesk_custom_fields_list` | List custom fields for an entity type - GET /customfields. |

## How to get credentials

This connector uses **OAuth 2.0**. In FlyMyAI, open the tool and click
**Connect** - you'll be redirected to Zoho Desk to authorize, then back to
FlyMyAI. There is no API key to paste.

> The OAuth app must be registered by FlyMyAI for this provider. If you see
> *"connection not configured"*, the provider's client credentials are still
> being set up - check back shortly.

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| _(none)_ | Connect via OAuth - nothing to paste. |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the OAuth connection expired or was revoked - reconnect.
- **`429 Too Many Requests`** - you hit the provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [Zoho Desk API documentation](https://desk.zoho.com/DeskAPIDocument)
