> For the complete documentation index, see [llms.txt](https://docs.eesel.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eesel.ai/integrations/helpdesks/zoho-desk.md).

# Zoho Desk

Set up an AI agent for Zoho Desk. It drafts or sends ticket replies, tags and routes tickets, and learns from your help center and past tickets.

eesel's AI agent for Zoho Desk works inside your Zoho Desk portal. It drafts or sends ticket replies, leaves private comments, tags tickets and routes them to the right department, and learns from your help center and past tickets.

Invite your AI teammate into Zoho Desk and it works like any other agent on your team. It reads your help center, your past tickets and anything else you connect, such as Confluence, Notion or your website, so it already knows how your team answers before it handles anything. Then it picks up tickets the way you tell it to: drafting replies for a person to check, answering the routine ones itself, tagging and routing the rest.

In this example a customer emailed the support address, that raised a ticket, and the automation left its drafted reply as a private comment for the team.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-0b93a0eb8c41edc9bccc7b393d3565f9cb223e20%2Fzoho-desk-note-on-ticket.png?alt=media" alt="A Zoho Desk ticket with a private comment from eesel holding a drafted reply, marked Private so only the team can see it"><figcaption><p>A Zoho Desk ticket with the drafted reply waiting as a private comment.</p></figcaption></figure>

## Set up eesel in Zoho Desk

{% stepper %}
{% step %}

### Ask your agent to connect Zoho Desk

Open the chat in your dashboard and ask it to connect Zoho Desk. Your agent posts a link to approve in Zoho. Prefer to click? **Integrations** in the left sidebar has the same option.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-83402767c37782e906f7857db6944005899decab%2Fzoho-desk-connect-chat.png?alt=media" alt="The dashboard chat where the user asks the agent to connect Zoho Desk, and the agent explains there is one browser authorization and posts the connect link"><figcaption><p>The agent posts the link to approve in Zoho.</p></figcaption></figure>
{% endstep %}

{% step %}

### Approve it in Zoho

Open the link and sign in to Zoho if you are not already. Zoho names the Zoho Desk portal the approval applies to and lists what your agent is asking for. Tick the box, then click **Accept**.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-51b324f23cdd3991ba5bd66d8b7bc04342c4ff82%2Fzoho-desk-authorize.png?alt=media" alt="Zoho&#x27;s authorization screen for a Zoho Desk portal, listing the permissions eesel AI is asking for, with a consent checkbox and Accept and Reject buttons"><figcaption><p>Zoho lists what your agent is asking for before you accept.</p></figcaption></figure>

The list covers reading and updating tickets, creating tickets, reading your settings, searching records, reading help center articles, and managing webhooks. The webhook permission is how your agent hears about new tickets, so accept everything.

Zoho sends you back to the dashboard. Your agent confirms the connection in the chat and starts pulling your content in.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-c893220458b88b260c564471611531be55018bd2%2Fzoho-desk-connected-chat.png?alt=media" alt="The dashboard chat showing a connected event for Zoho Desk, the agent confirming it is connected, and an offer to look at the tickets and help center"><figcaption><p>The agent confirms the connection and offers to look around.</p></figcaption></figure>

**Check it worked.** The chat shows a connected event, and **Integrations > Zoho Desk** reads **Connected** next to your Zoho organization. From a terminal, `eesel status` lists Zoho Desk as connected.
{% endstep %}

{% step %}

### Check what it can read

**Integrations > Zoho Desk** in the left sidebar shows the connection and everything it pulled in. There are two sources, Help Center and Tickets. Each has its own toggle, so you can leave one out without disconnecting. Each shows a document count once its sync finishes.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-185fd351310a2fe8777eea71a625c9cdc0f2dee7%2Fzoho-desk-integration-page.png?alt=media" alt="The connected Zoho Desk integration page in eesel, listing Help Center and Tickets as sources with document counts and toggles, above the Actions groups"><figcaption><p>Each source has its own toggle and its own document count.</p></figcaption></figure>

Below the sources, the same page lists the actions in two groups, **Read** and **Write**. Read actions look things up, so your agent can answer questions about your tickets in chat straight after connecting. Write actions are the ones that change a ticket.
{% endstep %}

{% step %}

### Try it on a real ticket

Before you automate anything, ask your agent to work a ticket in the chat. Ask which tickets are unanswered, then ask for a draft on one of them. It reads the ticket, searches your help center and past tickets, and shows you the reply it would send.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-b7a63bcd64a24a8a1457ff0ea95bfa24b7f6cd68%2Fzoho-desk-draft-in-chat.png?alt=media" alt="The dashboard chat where the user asks for a draft reply to an open ticket, and the agent returns a full drafted reply after reading the ticket and the help center"><figcaption><p>Ask for a draft and your agent writes the reply it would send.</p></figcaption></figure>

Under the draft it explains its reasoning and names the help center articles it used.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-ffaf292c38d0155711aae10a2762ce230529d938%2Fzoho-desk-draft-sources.png?alt=media" alt="The same chat scrolled down, showing the agent&#x27;s reasoning and the list of help center articles it used as sources"><figcaption><p>Every draft lists the sources behind it.</p></figcaption></figure>
{% endstep %}

{% step %}

### Correct it once and it remembers

Tell it what to change and it rewrites the draft. Tone, sign-off, house rules.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-f2b4bf74333852d5fb98a2d9c6f01af6b737095f%2Fzoho-desk-draft-corrected.png?alt=media" alt="The dashboard chat where the user asks for a different tone and sign-off, and the agent returns the rewritten draft"><figcaption><p>Ask for a change and it rewrites the draft.</p></figcaption></figure>

Then ask it to keep those preferences. It writes them into its own [instructions](/instructions-and-memory/instructions-and-memory.md), so every later draft follows them.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-359fad4528359766c7bf4986ff4c1d98f3c13e2d%2Fzoho-desk-style-saved.png?alt=media" alt="The dashboard chat where the user asks to save the reply style, and the agent confirms it saved the rules and links the instructions page"><figcaption><p>It saves the rules and links you to them.</p></figcaption></figure>

**Check it worked.** Your **Instructions** page holds the rules in plain sentences, and you can edit them there. From a terminal, `eesel instructions` prints the same text.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-e5014ffcb2009d4b613e1a4423ae282457f84356%2Fzoho-desk-instructions.png?alt=media" alt="The Instructions page in eesel showing the saved reply style rules"><figcaption><p>The saved rules on your Instructions page.</p></figcaption></figure>
{% endstep %}

{% step %}

### Create your first automation

Connecting alone does not start your agent. It needs an automation first. Tell it what to handle and it creates an [automation](/automations-and-schedules/automations-and-schedules.md): a Zoho Desk trigger plus instructions. In the instructions you describe which tickets it should handle and what to do with them. It leaves the rest alone.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-e664a02a71dc8d54cdb5e71aaafebf1d69162a70%2Fzoho-desk-automation-chat.png?alt=media" alt="The dashboard chat where the user asks for a drafted internal note on every new ticket, and the agent reports the trigger it chose and what the automation will do"><figcaption><p>Ask in chat for the automation you want, and your agent builds it.</p></figcaption></figure>

It shows up on your Automations page, switched on and ready.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-a9b6e3353f3d670c5367aca1d5be967fa80e042f%2Fzoho-desk-automation-live.png?alt=media" alt="The Automations page in eesel with the new Zoho Desk automation listed and toggled on"><figcaption><p>The new automation on your Automations page, switched on.</p></figcaption></figure>

Open it to read or change the instructions. The trigger event is fixed when the automation is created. So a new automation is required for each different trigger event.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-38c6614b256c2549647f98f133f5917c02add9ba%2Fzoho-desk-automation-editor.png?alt=media" alt="The automation editor showing the Zoho Desk event it runs on and the instructions telling the agent which tickets to take and to draft a reply as an internal note"><figcaption><p>The automation editor, where you change the instructions it follows.</p></figcaption></figure>

**Check it worked.** From a terminal, `eesel automations` lists it as on, with its trigger key from the Triggers table below.
{% endstep %}

{% step %}

### Check automation work in Zoho Desk

This automation wakes when a customer email reaches your portal's support address and Zoho turns it into a ticket. The connection does not include your support address. Find it in Zoho Desk under **Setup > Channels > Email**. Send a test email there, or wait for the next real ticket.

Your **Activity** page shows each run and what your agent did.

Then open the ticket in Zoho Desk. Your agent's drafted reply sits there as a comment marked **Private**, for a teammate to review and send.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-8cc4db553430f65425b872ec12c0a8aff2d57a9d%2Fzoho-desk-note-on-ticket-callout.png?alt=media" alt="A Zoho Desk ticket with a private comment from eesel holding the drafted reply, marked Private, ready for a teammate to review and send"><figcaption><p>The drafted reply waiting as a private comment on the ticket.</p></figcaption></figure>

Your **Activity** page lists the run, and `eesel activity` shows the same from a terminal.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**From Claude Code, Cursor or a terminal.** The same setup works as commands: `eesel login`, then `eesel integrations connect zoho_desk`, `eesel integrations download start` to copy your sources in, and `eesel automations` to see and switch on the automations. `eesel approvals` lists any comment waiting on you. A person must open the approval link: print it for them, wait for `eesel status` to show Zoho Desk as connected, and do not open it yourself. Trigger keys for this page are in the Triggers table below. Full command reference: [The eesel CLI](/apis-and-developer-resources/cli.md). Step-by-step: [Set up from Claude Code or the terminal](/getting-started/set-up-from-a-coding-agent.md). From a Model Context Protocol client: [Claude Code and MCP clients](/apis-and-developer-resources/claude-code-and-mcp-clients.md).
{% endhint %}

## Sources, triggers and actions

### Sources

Sources are what it learns from:

| Source          | What your agent reads                                         |
| --------------- | ------------------------------------------------------------- |
| **Help Center** | Your published Zoho Desk help center articles                 |
| **Tickets**     | Your past tickets, so it learns how your team already answers |

Every other integration on your agent is also a source, so a Zoho Desk reply can draw on Confluence, your website and your files at once. See [Integrations](/integrations/overview.md).

### Triggers

Triggers are the Zoho Desk events an automation can run on. The last column is the trigger's key, its name in the API and the CLI. You only need it when setting eesel up from a terminal or a script:

| Trigger                                  | Fires when                                               | Best for                                        | Key                         |
| ---------------------------------------- | -------------------------------------------------------- | ----------------------------------------------- | --------------------------- |
| **Only on the customer's first message** | A customer opens a new ticket, before anyone has replied | Drafting the first reply, tagging and routing   | `zoho_desk_ticket_created`  |
| **When a customer sends a message**      | A customer replies on a ticket                           | Answering back and forth through a whole ticket | `zoho_desk_ticket_updated`  |
| **Call @eesel in an internal comment**   | A teammate mentions @eesel in a private comment          | On-demand help                                  | `zoho_desk_eesel_mentioned` |

### Actions

Actions are what it can do. The integration page groups them as **Read** and **Write**. Read actions look things up. Write actions change a ticket or your help center.

|                 | Action                      | What it does                                                                                 |
| --------------- | --------------------------- | -------------------------------------------------------------------------------------------- |
| **Respond**     | Send ticket reply           | Sends a reply the customer sees                                                              |
|                 | Leave internal note         | Adds a private comment only your team sees. Start here: the agent drafts, a person sends     |
| **Manage**      | Update ticket               | Changes status, assignee, team or priority                                                   |
|                 | Tag ticket                  | Adds tags to the ticket                                                                      |
|                 | Create ticket               | Creates a new ticket                                                                         |
| **Look up**     | Read ticket                 | Reads a ticket and its conversation                                                          |
|                 | Search tickets              | Finds tickets by keyword                                                                     |
| **Help center** | Create help center article  | Writes a help center article. It is saved as a draft unless you ask your agent to publish it |
|                 | List help center categories | Lists the categories an article can go in                                                    |

If you connected Zoho Desk before article creation was added, reconnect it once so your agent can create articles.

You stay in control the whole way. Adjust your AI agent's access to knowledge and its action permissions to your liking. See [Actions and Approvals](/instructions-and-memory/actions-and-approvals.md).

## Limitations

* **It cannot read your support address.** Find it in Zoho Desk under **Setup > Channels > Email**.
* **Past tickets are a recent window.** By default the Tickets source learns from closed tickets changed in the last 30 days, not your whole history.
* **Replies post as the connecting user.** They appear under the Zoho Desk user who approved the connection.
* **One trigger per automation.** The trigger event is fixed when the automation is created, so each trigger needs its own automation.
* **One portal per automation.** With several portals connected, each automation belongs to one of them.
* **No sender blocklist.** The first check cannot see the sender's email address. Your agent stands down on a sender rule only after it reads the ticket.
* **Departments are matched by ID.** The first check sees a ticket's department only as its ID, so name the department ID to keep an automation to one department.

## Troubleshooting

<details>

<summary>Agent not picking up tickets?</summary>

Check three things on the agent's **Automations** page: the automation is switched on, its instructions cover the tickets you expect, and your agent may use the action you want. Your **Activity** page lists every run, and the automation's own activity lists the tickets it looked at and skipped, with the reason for each.

</details>

<details>

<summary>The drafted comment never appeared?</summary>

Look at the run on your **Activity** page, or run `eesel approvals`. The run shows whether the comment was written, skipped, or is waiting for you to review it.

</details>

<details>

<summary>Which email address do customers write to?</summary>

Your agent cannot read that address from Zoho. Find it in Zoho Desk under **Setup > Channels > Email**. An email to that address becomes a ticket, and a new ticket is what wakes your agent.

</details>

<details>

<summary>Help center or tickets missing?</summary>

Check the source is toggled on on the integration page and that its sync has finished. The document count only appears once it has. If the count stays at zero, disconnect and connect again, accepting every permission on Zoho's authorization screen. A dropped permission leaves the connection incomplete.

</details>

## FAQ

<details>

<summary>How do I add an AI agent to Zoho Desk?</summary>

Ask your agent in the eesel chat to connect Zoho Desk, accept the authorization in Zoho, then ask for an automation. That is one browser authorization and one automation.

A good first automation is "draft a reply as an internal note on every new ticket". Your help center and past tickets sync on their own, and the document counts appear on the integration page when each sync finishes. The steps are in [Set up eesel in Zoho Desk](#set-up-eesel-in-zoho-desk).

</details>

<details>

<summary>Does the Zoho Desk AI agent send replies on its own, or draft them for review?</summary>

Either, depending on how you set it up. **Leave internal note** writes a private comment your team reads, edits and sends, **Send ticket reply** replies to the customer, and nothing runs until you create an automation.

Connecting only gives your agent access to your help center and tickets. It needs an automation before it acts at all.

</details>

<details>

<summary>Can I control which Zoho Desk tickets the AI agent handles?</summary>

Yes. Describe the tickets you want in the automation's instructions, in plain language, a queue, a tag or a language, and your agent only runs on those.

The automation's activity lists the tickets it took and the ones it skipped, with the reason for each. The first check cannot see the sender's email address, so a sender rule only takes effect once your agent reads the ticket.

</details>

<details>

<summary>Is eesel a Zoho Desk chatbot?</summary>

No. It is an AI agent that works your Zoho Desk tickets, not a chat widget inside Zoho.

If you want a chatbot on your own website, use the eesel chat bubble. See [Website](/integrations/knowledge/website.md).

</details>

<details>

<summary>Can I connect Zoho Desk to Claude or ChatGPT?</summary>

Yes, through eesel. Once Zoho Desk is connected, you can talk to your eesel agent from Claude, ChatGPT or Cursor, and it works with your Zoho Desk data.

See [Use eesel from Claude and other assistants](/apis-and-developer-resources/use-eesel-from-claude-and-other-assistants.md), [Use eesel from ChatGPT](/apis-and-developer-resources/use-eesel-from-chatgpt.md) and [Claude Code and MCP clients](/apis-and-developer-resources/claude-code-and-mcp-clients.md).

</details>

<details>

<summary>What reporting do I get for the Zoho Desk AI agent?</summary>

The Activity page lists every ticket your agent handled, and the [Reports](/reports/reports.md) page shows volume, triggers and approvals over time.

Each Activity entry links to the ticket in Zoho Desk and shows what it searched, each action it took, who approved it, and its reasoning. You can also ask your agent for a written report, or put one on a schedule.

</details>

<details>

<summary>Whose name do the Zoho Desk AI agent's replies appear under?</summary>

Replies and private comments post as the Zoho Desk user whose account approved the connection.

To change the name customers see, change that user's name in Zoho Desk.

</details>

<details>

<summary>Can I connect more than one Zoho Desk portal to eesel?</summary>

Yes. Connect each one the same way, and each automation belongs to a single Zoho Desk portal.

Reconnecting the same portal updates the existing connection rather than adding a second one. When more than one is connected, your agent asks which one you mean.

</details>

## Related pages

* [Helpdesk](/use-cases/helpdesk.md) for the job your teammate takes on in a ticket queue
* [Automations and Schedules](/automations-and-schedules/automations-and-schedules.md) for triggers, instructions and schedules
* [Actions and Approvals](/instructions-and-memory/actions-and-approvals.md) for choosing what your agent may do
* [Integrations overview](/integrations/overview.md) for how sources, triggers and actions fit together
* [Set up from Claude Code or the terminal](/getting-started/set-up-from-a-coding-agent.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.eesel.ai/integrations/helpdesks/zoho-desk.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
