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

# Zendesk agent functions

> Zendesk tools for Retell AI agents: identify callers by phone, read and update their tickets, create new ones, and add public comments or private notes.

A [connected Zendesk account](/integrations/zendesk) gives your agents live access to your helpdesk, during a conversation or [before and after it](/integrations/overview#run-tools-before-or-after-the-call-or-chat): identify the caller by phone number, read their open tickets, create or update tickets, and record what was discussed as a public comment or private note.

## Available tools

These tools appear in your agent's function menu once the account is connected. See [use integration tools in an agent](/integrations/overview#use-integration-tools-in-an-agent) for how to add and configure them.

| Tool                            | What it does                                                                                   |
| ------------------------------- | ---------------------------------------------------------------------------------------------- |
| **Search User**                 | Find a Zendesk user by phone number — typically the caller's number, to identify who's calling |
| **Get User**                    | Fetch a user's profile by ID                                                                   |
| **Get Ticket**                  | Fetch a ticket by ID, for example one the caller is asking about                               |
| **List User Requested Tickets** | List a user's active tickets, most recently updated first (up to 50)                           |
| **Create Ticket**               | Open a new ticket with a subject and description from the conversation                         |
| **Update Ticket**               | Change fields on a ticket, such as status or priority                                          |
| **Add Ticket Comment**          | Add a public comment the requester sees, or a private internal note                            |

A typical support agent uses **Search User** at the start of the call to identify the caller by `{{user_number}}`, **List User Requested Tickets** to read their open tickets, and **Create Ticket** or **Add Ticket Comment** to record the outcome.

<Tip>
  Pass the caller's number as-is, for example `{{user_number}}`. **Search User** strips the country code and matches the remaining digits against any format Zendesk stores, so 10-digit and E.164 profiles both match.
</Tip>

## Required role

Every tool call runs as the account that signed in when connecting, under Zendesk's `read` and `write` OAuth scopes; there are no per-tool scopes to grant. The account's role sets what each tool can do:

* **Agent or admin** — every tool works.
* **Light agent** — the read tools work, and so does **Create Ticket**, including on behalf of an end user. **Add Ticket Comment** can add private notes but not public replies, and **Update Ticket** can change status or fields only on tickets the account itself requested. Because every light-agent comment is private, a ticket a light agent opens stays invisible to the requester until a full agent adds a public comment.
* **End user** — can't search users or work tickets through the API; reconnect with an agent or admin account.

If the role changes after connecting, the token's permissions change with it. The connection isn't flagged; the affected tools just start failing.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Search User never finds callers">
    The search strips the country code and matches the remaining digits against any stored format, so a format mismatch usually isn't the cause. Check that the number is on the Zendesk user profile's phone field at all, and that the search input is a real phone number rather than an extension or free text.
  </Accordion>
</AccordionGroup>

## FAQ

<AccordionGroup>
  <Accordion title="What's the difference between a public comment and a private note?">
    The **Add Ticket Comment** tool takes a `public` flag. When true, the requester sees the comment and gets Zendesk's usual notifications; when false, it's an internal note visible only to your team. Configure the flag as a fixed value on the tool, or let the agent decide from context.
  </Accordion>

  <Accordion title="Who do created tickets and comments belong to?">
    By default, the account that signed in when connecting (see [Prerequisites](/integrations/zendesk#prerequisites) on using a dedicated integration account). The **Create Ticket** tool also takes an optional requester ID, so you can file the ticket as coming from the caller by passing the user ID a **Search User** call returned.
  </Accordion>

  <Accordion title="Does Retell import or sync my tickets?">
    No. Zendesk tools read and write your helpdesk live. Nothing is copied into Retell, and there's no background sync to configure.
  </Accordion>

  <Accordion title="Can the agent close a ticket?">
    Yes. **Update Ticket** can set the status, including solved. Have the agent confirm with the caller before closing anything.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Integration tools for prompt agents" icon="wand-magic-sparkles" href="/build/single-multi-prompt/integration-tools">
    Add Zendesk tools to a single- or multi-prompt agent and test them with live requests.
  </Card>

  <Card title="Integration tools in conversation flow" icon="diagram-project" href="/build/conversation-flow/integration-tools">
    Call Zendesk tools from a function node and branch on the result.
  </Card>

  <Card title="Connect Zendesk" icon="plug" href="/integrations/zendesk">
    Set up the OAuth connection and what the signed-in account needs.
  </Card>

  <Card title="Dynamic variables" icon="code" href="/build/dynamic-variables">
    Pass the caller's number into tools and reuse tool results later in the call.
  </Card>
</CardGroup>
