> ## Documentation Index
> Fetch the complete documentation index at: https://cntillion.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Zendesk email handoff

> Create Zendesk tickets from email conversations and resume AI replies when support resolves them

An email escalation can create a Zendesk ticket and pause the agent on that
conversation. Your team answers in Zendesk. When the ticket becomes **Solved**
or **Closed**, Centillion can answer future messages in the original email
conversation again.

## Before connecting

You need administrator access to your Centillion workspace and Zendesk account,
a working [email channel](https://cntillion.com/docs/channels/email.md), and Centillion Helpdesk enabled for
the agent.

Zendesk handoff requires Standard or above. New ticket creation and message
relay stop when the workspace loses that [plan access](https://cntillion.com/docs/workspaces/billing.md).

Configure Zendesk's support address and requester notification triggers so
public agent replies reach the customer. Zendesk sends those replies.
Centillion records public comments in its conversation history.

## Connect with Zendesk

1. Open **Tools** and create or edit a **Create ticket** tool.
2. Expand **General** and choose **Zendesk** under **Helpdesk destination**.
3. Enable Centillion Helpdesk if prompted.
4. Enter your **Zendesk subdomain**, such as `acme` for `acme.zendesk.com`.
5. Choose **Connect with Zendesk**. Sign in to Zendesk as an administrator and
   review the permissions on its authorization screen.
6. Choose **Allow**. Centillion returns you to the connection page and displays
   **Connected with Zendesk** after setup succeeds.
7. Return to **Tools**, finish the tool's **When to use** instructions,
   select **Email**, and choose **Save & enable**.

You do not need to create a token or share a client secret for this flow.
Centillion encrypts the authorization credentials and renews them automatically,
including when the connection is idle. Save tool edits before leaving for
Zendesk authorization.

| Permission | Used for |
| - | - |
| Read and write tickets | Create tickets, relay customer messages, and read status and comments |
| Read users | Confirm the authorizing administrator's identity |
| Write triggers | Create and remove the ticket-update trigger |
| Read and write webhooks | Create the callback, read its signing secret, and remove it on disconnect |

Centillion creates a webhook and a trigger limited to this agent's Zendesk
tickets. Keep both active so updates reach Centillion. If setup is incomplete,
disconnect the incomplete connection and try again.

If you choose **Deny**, no connection is created. An expired authorization or a
workspace switch requires starting again from the intended workspace.

> [!NOTE]
>
> A self-hosted installation's operator must configure Zendesk sign-in. An
> installation serving multiple companies needs a global OAuth client approved
> by Zendesk. A development client can authorize only its own Zendesk account.

The Zendesk destination supports email. Use Centillion Helpdesk for an action
that also needs website chat or other messaging channels.

### Internal and self-managed installations

If your operator enables **Use your own credentials** for an internal
installation, you can connect your organization's confidential OAuth client.
Create it in Zendesk Admin Center under **Apps and integrations → APIs → OAuth
clients**, choose **Confidential**, and use an administrator as its owner.
Allow these scopes:

```text theme={null}
tickets:read tickets:write users:read triggers:write webhooks:read webhooks:write
```

Copy the **Identifier** and one-time **Secret** into the connection panel and
choose **Connect Zendesk**. This internal client-credentials flow does not need
a redirect URL. It is separate from the customer sign-in flow above.

**API token (legacy)** is available only when the installation allows internal
credentials and your Zendesk account still supports it. New accounts cannot use
API tokens from July 28, 2026. New-token creation ends for existing accounts on
October 27, 2026, and all API tokens are deactivated on April 30, 2027. Inactivity
can deactivate a token sooner. Use OAuth for new connections.

## What happens during a handoff

When the agent runs the action, Centillion pauses automatic replies on that
email conversation and cancels unsent delayed drafts. It creates one Zendesk
ticket with the customer's email address, the escalation details, and a text
transcript. The Centillion ticket records the Zendesk ticket link.

Your team can reply publicly from Zendesk. Centillion copies public ticket
comments into its conversation history. Further customer emails arriving on
the original Centillion thread are relayed to the active Zendesk ticket while
the handoff owns the conversation. Automatic replies stay paused.
Messages that arrive while the Zendesk ticket is being created wait for that
ticket, then relay through the background scheduler.

Centillion checks the ticket's current status before resuming. **New**, **Open**,
**Pending**, and **On-hold** keep the conversation paused. **Solved** and
**Closed** release the Zendesk handoff. The agent can then answer future
messages, provided automatic replies are enabled for the email channel.

A newer manual takeover remains in effect. Resolving an older Zendesk ticket
does not release a conversation that a teammate has taken over since then, and
an ended conversation or a customer who opted out stays without automatic
replies. Messages held during the handoff do not receive retroactive AI answers.
Attachments stay in the Centillion conversation; the Zendesk ticket gets the
message text.

## Test the handoff

1. Send an email from a test account to your configured support address.
2. Request help that matches the action's instructions.
3. Confirm the Zendesk ticket contains the customer address and transcript,
   and that the Centillion email conversation is paused.
4. Reply publicly in Zendesk. Check that the customer receives the email and
   that the comment appears in Centillion.
5. Send a follow-up on the original email thread and confirm it reaches the
   active Zendesk ticket without an AI reply.
6. Mark the Zendesk ticket **Solved**. Confirm Centillion shows that AI replies
   have resumed, then send another message on the original thread.
7. Repeat with **Closed** and with a newer manual takeover to check the cases
   your team uses.

The Email Playground previews formatting. It does not create a Zendesk ticket
or exercise the status callback.

## Troubleshooting

| Symptom | Check |
| - | - |
| Zendesk will not connect | Check the subdomain and authorize as a Zendesk administrator; keep the same Centillion workspace active |
| Zendesk reports missing access | Check the authorizing administrator's permissions; your installation operator can verify the OAuth client scopes |
| An API token stops working | Reconnect with OAuth; check the token retirement schedule and inactivity rules above |
| Setup is incomplete | Disconnect the incomplete connection, check OAuth scopes and administrator permissions, and connect again |
| Ticket creation cannot be confirmed | Review the Centillion conversation and search Zendesk for the ticket before retrying manually |
| Customer receives no public reply | Check Zendesk's support address, requester email, and notification triggers |
| A resolved ticket leaves the conversation paused | Check the webhook and trigger, then check for a newer manual takeover or a disabled email channel |
| A customer follow-up needs review | Open the message in Centillion and confirm whether it reached Zendesk before sending it again |

When ticket creation or relay delivery is uncertain, Centillion keeps the
conversation paused for review. This avoids creating duplicate tickets or
answering alongside your support team.

To recover a failed handoff, inspect Zendesk and the Centillion conversation
first. When it is appropriate for the agent to answer again, choose **Allow AI
replies** in the Centillion ticket, or resume the conversation. The next
scheduler run completes the old handoff locally. Zendesk's ticket is kept, and
later updates from that old ticket cannot release a newer manual takeover.

## Disconnect or change accounts

Resolve the agent's open Zendesk handoffs first. Then return to the connection
panel and choose **Disconnect Zendesk**. Centillion removes its webhook and
trigger and revokes the customer authorization; existing Zendesk tickets remain in Zendesk. If access was already revoked in Zendesk, the local connection is removed, and an administrator can remove any remaining webhook and trigger there.

Connect again to use another account, rotate the client secret, or migrate a
legacy API token to OAuth. Disconnecting is blocked while unresolved handoffs
still depend on that connection. After a manual recovery, allow the next
scheduler run, normally within a minute, before disconnecting.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.