> 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/zendesk/zendesk-messenger.md).

# Zendesk Messenger

Set up an AI agent for Zendesk Messenger. It answers live chats on your website and help center in real time, then hands a chat to your team as a ticket.

eesel's AI agent for Zendesk Messenger answers live chats in the Zendesk Messaging widget on your website and help center. It replies in real time from what it learned from your Zendesk account. It answers in your existing widget, with the bot name, avatar and greeting you set, so there is no separate chat widget to install.

Zendesk Messenger is the live chat widget on your website and help center. Connect it and the same teammate that handles your tickets answers chats in real time, using everything it already learned from your [Zendesk](/integrations/helpdesks/zendesk.md) help center, macros and past tickets. There's no separate knowledge to set up.

Live chat takes every conversation. The agent answers every chat on the channels you switch on, and replies go out straight away because the customer is waiting. On handover it opens a Zendesk ticket, so nothing is lost when your team picks the conversation up.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-45c96eaa9b43f04a88e2dfe912dcb6a992281955%2Fzendesk-messenger-hero.png?alt=media" alt="The Zendesk Messenger widget open on a website, where eesel AI answers a question about a missing refund after checking the order details"><figcaption><p>Your agent answers live chats in the widget, looking up what it needs mid-conversation.</p></figcaption></figure>

## What you can do

* Answer Zendesk Messaging conversations in real time, in the customer's language
* Send rich replies in the widget: product carousels (up to 10 cards), forms, quick replies, and webviews
* Hand a conversation to a human by creating a Zendesk ticket, with the fields you choose pre-filled
* **Auto-Handover**, which hands over on its own when a chat goes idle, after a wait you set (5 to 60 minutes)

{% hint style="info" %}
**Using Claude Code, Codex or Cursor?** Ask it to help set up Zendesk Messenger with [eesel CLI](https://docs.eesel.ai/apis-and-developer-resources/cli). Point it to the [setup guide](https://docs.eesel.ai/getting-started/set-up-from-a-coding-agent).

**Using Claude.ai or ChatGPT?** Use the eesel connector (MCP). See [Claude and other assistants](/apis-and-developer-resources/use-eesel-from-claude-and-other-assistants.md) or [ChatGPT](/apis-and-developer-resources/use-eesel-from-chatgpt.md). If the eesel connector is already linked to the correct workspace, keep using it. For steps it cannot complete, use the dashboard.

**CLI details for your coding tool:** Select the right workspace and agent, then ask `eesel chat` for the Zendesk Messenger connection link. The CLI can also check automations. An admin must authorize Zendesk Conversations, select messaging channels and make eesel the bot in Zendesk using the steps below. Test a widget reply and handover; a Zendesk connection alone does not mean Messenger is live.
{% endhint %}

## Set up eesel in Zendesk Messenger

You need an active [Zendesk](/integrations/helpdesks/zendesk.md) connection and Zendesk Messaging enabled in your Zendesk account.

{% stepper %}
{% step %}

### Connect the widget

Ask your agent in the dashboard chat to set up Zendesk Messenger. It sends you the authorization link, and you approve eesel AI for Zendesk Conversations in your browser.

Or click through it: open **Integrations > Zendesk** in the left sidebar, find the **Live chat** row (that is Zendesk Messenger), and click **Connect Zendesk Messaging Widget**.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-2eda112043cdc11bfdd385f774d5ff2b824e772c%2Fzendesk-messenger-connect-chat.png?alt=media" alt="The dashboard chat where the user asks to set up Zendesk Messenger and the agent replies with the connect link"><figcaption><p>The agent posts the connect link in the chat.</p></figcaption></figure>

Open the link and give your Zendesk subdomain.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-6267fe714a96a0243f66d9af0a2d3b64d36bd596%2Fzendesk-messenger-subdomain-sign-in.png?alt=media" alt="The Zendesk sign-in screen asking for the account subdomain before authorizing"><figcaption><p>Zendesk asks for your account subdomain first.</p></figcaption></figure>

Zendesk then asks you to allow eesel AI. It names what eesel can do: read your users' conversations, send messages on your behalf, and see profile information.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-6eff41653a3439cb42ce54319a74177e18827dd8%2Fzendesk-messenger-authorize.png?alt=media" alt="The Zendesk authorization screen asking to allow eesel AI, listing the three permissions it needs"><figcaption><p>The Zendesk approval screen with the three permissions listed.</p></figcaption></figure>

This approval is the one step a person has to do in the browser. If an AI agent is doing the setup for you, it hands you the link and waits.

**Check it worked.** The **Live chat** row under **Integrations > Zendesk** now shows settings instead of the Connect button. From a terminal, `eesel status` lists Zendesk as connected.
{% endstep %}

{% step %}

### Set the bot name, greeting and instructions

Once connected, go to **Integrations > Zendesk** and click **A customer sends a live chat message** under **Automations**. This opens the **Live chat** settings. Set the bot name, avatar and welcome message. You can also tell the agent how to behave in the widget: keep replies short, escalate refunds, never quote prices. Left blank, it uses its default behaviour. You can also ask your agent in chat to change these instructions, or to pause live chat. A clear greeting like "Hi! I'm Acme's AI assistant" tells customers they are talking to an AI.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-02a55d117a1e9f9bf5454b74fdd122c5dacbda91%2Fzendesk-messenger-live-chat-settings-2.png?alt=media" alt="The Live chat settings in eesel with avatar URL, bot name, welcome message and agent instructions"><figcaption><p>Set the avatar, bot name, welcome message and instructions here.</p></figcaption></figure>

Then check the automation is on. Open the agent's **Automations** page and make sure the **Live chat** row is switched on with **Chat reply** enabled.
{% endstep %}

{% step %}

### Choose the channels your agent answers

Scroll down the same page to **Channel configuration**. It lists every messaging channel in your Zendesk account, with its type. Switch on each channel the agent should answer, then press **Save**.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-544c2a4728205b49cbcb4ba3dc0bee8374fe05b1%2Fzendesk-messenger-channel-config.png?alt=media" alt="The Channel configuration table in the eesel Live chat settings, with one Web Widget channel switched on"><figcaption><p>Switch on each channel you want eesel to answer.</p></figcaption></figure>
{% endstep %}

{% step %}

### Turn it on in Zendesk

In the Zendesk Admin Center, go to **AI > AI agents > Manage Marketplace bots**. Click **eesel AI**, tick every channel it should answer, and press **Save**. This replaces whatever answered those channels before, such as Zendesk's own bot. To check it worked, open **Channels > Messaging**. The channel should show **eesel AI** as its response type.

When it is set up, the list shows **eesel AI** as the **Default** bot, with the channels it answers beside it.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-847f2aff3b8b05635cfbf524329e1586be9ae7f2%2Fzendesk-messenger-marketplace-bots-2.png?alt=media" alt="The Zendesk Admin Center Marketplace bots page with eesel AI marked Default and its connected channels highlighted"><figcaption><p>eesel AI is the default bot, with the channels it answers.</p></figcaption></figure>
{% endstep %}

{% step %}

### Test it

Open the widget on your site or help center and ask something. Test the handover too. Ask for a human, then check the Zendesk ticket it creates has the fields you expect.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-191780048f5f0e9ff3b3fb7681c350967d716c13%2Fzendesk-messenger-widget-live.png?alt=media" alt="A Zendesk help center with the Messenger widget open and eesel answering a visitor&#x27;s question"><figcaption><p>The agent answering a live question in the widget.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

## Actions

| Action                                  | What it does                                                                                                                                     |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Chat reply**                          | Sends a message in the live chat conversation                                                                                                    |
| **Hand off live chat to a human agent** | Transfers the chat to a human by creating a Zendesk ticket, fields pre-filled, and a tag on the ticket that points back to the chat it came from |

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).

If the customer keeps chatting after a handover, the agent can hand the same conversation over again. **Auto-Handover** can also create the ticket automatically when a chat goes idle for a wait you set, from 5 to 60 minutes. You switch it on in the Live chat settings under **Integrations > Zendesk**.

## Limitations

* **Connected is not live.** After you approve the connection, the agent answers nobody until you switch on at least one channel in eesel and pick eesel AI as the bot for it in Zendesk.
* **It answers every chat on a switched-on channel.** There is no skip filter by topic or sender. Use channels and handover rules instead.
* **It needs the Zendesk ticket connection first.** Messenger is set up from the Zendesk integration page.
* **At most 3 eesel live chat connections per Zendesk subdomain.** See Troubleshooting below.
* **It replaces the bot on those channels.** Picking eesel AI in the Zendesk Admin Center replaces whatever answered those channels before, such as Zendesk's own bot.

## Troubleshooting

<details>

<summary>Messenger not responding?</summary>

Check the **Live chat** trigger is enabled on the agent's **Automations** page, each channel you want answered is switched on in the **Live chat** settings, eesel AI is the responder for those channels in the Zendesk Admin Center, and the Messaging Widget is actually deployed on your site.

</details>

<details>

<summary>Can't configure your Zendesk channels?</summary>

Make sure eesel AI is set as the responder for the corresponding channels in Zendesk (**AI > AI agents > Manage Marketplace bots**).

</details>

<details>

<summary>Zendesk refused the live chat connection?</summary>

One Zendesk subdomain supports at most 3 eesel live chat connections. A refusal means all 3 slots are taken, usually by another eesel workspace at your company or an old test workspace. Contact eesel support with your subdomain and we'll free one up.

</details>

<details>

<summary>Handoff not working?</summary>

Verify the **Hand off live chat to a human agent** action is turned on, and that human agents are available in Zendesk to accept the conversation.

</details>

## FAQ

<details>

<summary>How do I add an AI chatbot to Zendesk Messenger?</summary>

Connect Zendesk first, then ask your agent in the dashboard chat to set up Zendesk Messenger and approve the link it sends. Switch on your channels in the **Live chat** settings, and pick eesel AI as the bot in the Zendesk Admin Center. Connecting alone does not reply to anyone: the agent only answers once the **Live chat** trigger and its actions are on, and only on the channels you turn on. The steps are in [Set up eesel in Zendesk Messenger](#set-up-eesel-in-zendesk-messenger).

</details>

<details>

<summary>Does the Zendesk Messenger AI agent send replies or draft them?</summary>

It sends. A customer in live chat is waiting, so replies go out in real time. To keep a person in the loop, use handover rules: name the topics it should pass to your team, and it opens a Zendesk ticket for them.

</details>

<details>

<summary>How do I make sure a customer can always reach a human in Zendesk Messenger?</summary>

Turn on **Hand off live chat to a human agent**, and turn on **Auto-Handover** so a chat that goes quiet is handed off after a wait you set. When the agent hands over, it creates a Zendesk ticket for your team to pick up.

</details>

<details>

<summary>Can I control which chats the Zendesk Messenger AI agent answers?</summary>

Yes, by channel, but not by topic or sender. Choose channels in two places: toggle them in the **Live chat** configuration on the eesel dashboard, and choose which channels use eesel AI as the responder in the Zendesk Admin Center. On a switched-on channel it answers every chat, so tell it which topics to hand to your team instead.

</details>

<details>

<summary>How is Zendesk Messenger different from the Zendesk ticket integration?</summary>

Messenger handles live chat, and the ticket integration handles tickets. The standard [Zendesk](/integrations/helpdesks/zendesk.md) integration is asynchronous, with the full set of reply, tag, assign and close actions. Zendesk Messenger works through the Messaging Widget in real time, with chat reply and human handover. Same agent and same knowledge, in a different place.

</details>

<details>

<summary>Is Zendesk Messenger the same as Zendesk Sunshine Conversations live chat?</summary>

Yes. Zendesk Messenger runs on Sunshine Conversations, Zendesk's messaging platform. When you connect, you approve eesel AI for Zendesk Conversations, and eesel answers the chats on the channels you choose. You do not need to build anything with the Sunshine Conversations API yourself.

</details>

<details>

<summary>Can I connect Zendesk Messenger to Claude or ChatGPT?</summary>

Yes, through eesel. You can talk to your eesel agent from Claude, ChatGPT or Cursor, and it works with the same Zendesk knowledge it uses in live chat. 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 Zendesk Messenger AI agent?</summary>

The Activity page lists every chat your agent handled, with what it searched, each action it took, and its reasoning. The [Reports](/reports/reports.md) page shows volume and triggers over time. You can also ask your agent for a written report, or put one on a schedule.

</details>

## Related

* [Zendesk](/integrations/helpdesks/zendesk.md) for tickets, sources and the rest of the integration
* [Automations and Schedules](/automations-and-schedules/automations-and-schedules.md) to turn the Live chat trigger on
* [Instructions and Memory](/instructions-and-memory/instructions-and-memory.md) to tell it when to hand off


---

# 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/zendesk/zendesk-messenger.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.
