# Turn a hand-off into a Zendesk ticket | Busymate AI

Source: https://busymate.ai/hi/docs/guides/zendesk
Last modified: 2026-09-13T13:56:19+03:00
Busymate AI hands a conversation it cannot finish to Zendesk as a ticket, so the request joins the queue your agents already work — carrying the thread, the page the visitor had open and, where your site knows who they are, the requester filled in for them.

## 1. Issue an API token

In Zendesk, open **Admin Center → Apps and integrations → APIs → Zendesk API**, switch to **Settings**, and choose **Add API token**. Describe it, then copy the value; Zendesk displays it once. A token authenticates as the agent whose address is paired with it, in the form `<email>/token`, so pick an agent account your team is content to see as the submitter.

No Zendesk app is installed and no authorization flow runs: an API token is the entire credential today. An OAuth app is planned, and [the changelog](https://busymate.ai/changelog) will carry the news.

## 2. Fill in the three required values

Open [Console → Connections](https://busymate.ai/console/connections) and pick the Zendesk card.

| Value | Where it comes from |
|---|---|
| Subdomain | The first label of your help desk address — for acme.zendesk.com, enter acme. |
| Agent email | The Zendesk user the token was issued to. |
| API token | The value you just copied. |

The token is kept write-only. The card shows its closing characters and nothing further, and pasting a replacement swaps it in place.

## 3. Choose the status a raised ticket starts in

One optional setting decides where the work lands in your triage flow: `new`, `open` or `pending`. Left empty, `new` applies — the state most queues are worked from.

## 4. Send a test ticket

**Send test ticket** on the card runs everything at once: subdomain, agent, credential and status. A ticket shows up in your views in seconds. Use it on the first save and after every credential change.

## 5. What the ticket carries

- The conversation up to the point a person was asked for, as the ticket description.
- The address of the page that visitor had open, so an agent sees the context without asking for it.
- A requester, but only where your own site has identified the visitor. Nobody else is turned into a Zendesk user: an anonymous conversation opens a ticket with no requester rather than a fabricated one.

Nothing else in your help desk is touched. Organizations, user profiles and custom fields stay exactly as your agents maintain them — there is no background sync of people.

## 6. Checking a requester mid-conversation

For a visitor your site has identified, the assistant can read that person's existing record and their open tickets before replying — enough to say a request is already with your team. It is a read and never a write, and it is switched off for anonymous visitors.

## Verify

1. Save the three values and press **Send test ticket**; the ticket appears with the status you chose.
2. Ask for a person on your own site while signed in as a test customer — the new ticket names that customer.
3. Open it and confirm the description holds the transcript and the page address.
4. Do the same signed out: a ticket arrives with nobody named, and your user list gains nothing.
5. Revoke the token in Zendesk, confirm a test ticket no longer arrives, then paste a replacement and run the test again.

<!-- qa:start -->
### Does an agent's reply come back into the chat?
Not today. The ticket is how your team picks the request up and answers it in Zendesk; the conversation itself is taken over from the Inbox instead.

### Why is an agent email needed as well as the token?
Zendesk authenticates a token against the user it belongs to. That pairing is what decides which agent a raised ticket is submitted as.

### What happens when the credential is wrong or revoked?
The attempt fails and is retried with a widening gap. Queued work is held rather than discarded, so it completes once a working token is saved.

### Can I point this at a sandbox first?
Yes. Enter your sandbox subdomain with a token issued there, check the result, then swap both for production values when you are satisfied.
<!-- qa:end -->

## Next

- **[Set up human handoff](https://busymate.ai/hi/docs/guides/human-handoff-setup)** — what your team sees in the Inbox meanwhile.
- **[Recognize signed-in customers](https://busymate.ai/hi/docs/guides/identified-visitors)** — how a visitor gains a name.
- **[Connect Telegram for team alerts](https://busymate.ai/hi/docs/guides/telegram)** — tell a teammate the second one is raised.
