> 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

Connect Zendesk Messenger so the agent that works your tickets also answers live chats on your website and help center, and hands a chat to your team.

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. While the Live chat trigger is on, the agent answers every chat on the channels you switch on. So set the handover rules before you turn it on. 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)

## Quick start

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, open the **Live chat** row under **Integrations > Zendesk** again. It now shows settings. Set the bot name, avatar and welcome message. The same settings list your Zendesk messaging channels. Switch on each channel the agent should answer. 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. 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-a98014677eb6de9cf4387f947d6a1cb49579c7dd%2Fzendesk-messenger-live-chat-settings.png?alt=media" alt="The Live chat channel settings in eesel with avatar URL, bot name, welcome message and agent instructions"><figcaption><p>The Live chat settings, where you set the bot name, greeting and instructions.</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 %}

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

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-690d6b35885386bd94527d6bc0a3a72d5bcb8974%2Fzendesk-messenger-marketplace-bots.png?alt=media" alt="The Zendesk Admin Center Marketplace bots page listing eesel AI as the default bot with its connected channels"><figcaption><p>eesel AI set as the bot for your messaging channels in Zendesk.</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 |

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

## 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 is this different from the Zendesk ticket integration?</summary>

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

</details>

<details>

<summary>Does connecting Zendesk Messenger start replying to customers automatically?</summary>

No. The agent only replies once you enable the **Live chat** trigger and its actions, and only on the channels you turn on. Until then it does nothing.

</details>

<details>

<summary>How do I make sure a customer can always reach a human?</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 limit which Zendesk messaging channels the agent answers on?</summary>

Yes, in two places: toggle channels in the **Live chat** configuration on the eesel dashboard, and choose which channels use eesel AI as the responder in the Zendesk Admin Center.

</details>

<details>

<summary>What does Zendesk Messenger cost?</summary>

Pay-as-you-go: a conversation your agent handles is one task, and chats you run from the eesel dashboard to test are free. See [Pricing](/pricing/overview.md).

</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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.eesel.ai/integrations/helpdesks/zendesk/zendesk-messenger.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
