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

# Zendesk

> Integrate your bot with Zendesk using the official integration.

{/* vale on */}

[Open in Hub](https://studio.botpress.cloud/home?exploreHub=1\&hubItemId=intver_01KFGPZM7JH7PMSEBRSSM5C4H8)
*v3.0.6*

The official Zendesk integration allows you to create and manage support tickets directly from your bot. You can also assign a Zendesk agent to communicate directly with the user, all within the same conversation initially handled by the bot.

> [!WARNING]
>
> Zendesk integration versions below v3.0.0 are **deprecated** and will be retired on January 12, 2026.
>
> To avoid disruptions, upgrade to v3.0.0+ and reconnect using OAuth. If you’re already on v3.0.0+, no further action is required.

## Setup

> [!NOTE]
>
> You will need:
>
> * A [published bot](https://botpress.com/docs/get-started/quick-start.md)
> * A [Zendesk account](https://www.zendesk.com/lp/brand/?utm_source=google\&utm_medium=Search-Paid\&utm_network=g\&utm_campaign=SE_AW_AM_CA_EN_N_Sup_Brand_TM_Alpha_D_H\&matchtype=e\&utm_term=zendesk\&utm_content=598844228779\&theme=\&gad_source=1\&gad_campaignid=7993749347\&gbraid=0AAAAADn4z6gHcJduDz_4dLVEw2Vc9I-lF\&gclid=Cj0KCQjwrPHABhCIARIsAFW2XBOh1fGjHUcrDUDTaKTms6Qyrpi6Vo80Jj9_StfCFnEjiR_REi9zoZEaAjFjEALw_wcB)

> [!NOTE]
>
> We recommend that you **only link your Zendesk account with one bot**. Linking the same Zendesk account with multiple bots will raise an error and cause unexpected behaviour.

**Step 1**

In Botpress Studio, select **Explore Hub** in the upper-right corner.

**Step 2**

Search for the **Zendesk** integration, then select **Install Integration**.

**Step 3**

In the **Configuration** menu, select **Authorize Zendesk**.

**Step 4**

Follow the instructions to connect Botpress to your Zendesk account.

> [!TIP]
>
> Done! You can now create and manage support tickets directly from your bot.

***

## Cards

{/* vale off */}

Here's a reference for all [Cards](https://botpress.com/docs/studio/concepts/cards/introduction.md) available with the integration:

### Call API

Call Zendesk API

**input** `object`

**method** `enum\<string\>` *required*

HTTP Method

Available options: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`

**path** `string` *required*

URL Path (https\://\<subdomain>.zendesk.com/api/v2/PATH)

**headers** `string`

Headers (JSON)

**params** `string`

Query Params (JSON)

**requestBody** `string`

Request Body (JSON)

**output** `object`

**status** `number` *required*

HTTP response status code

**headers** `object` *required*

HTTP response headers as key-value pairs

**data** `object` *required*

Response body data

### Close ticket

Close a ticket by its id.

**input** `object`

**ticketId** `string` *required*

ID of the ticket to close

**comment** `string`

Closing comment

**output** `object`

**ticket** `object` *required*

The closed ticket object

**id** `number` *required*

Ticket ID

**subject** `string` *required*

Ticket subject

**description** `string` *required*

Ticket description

**status** `enum\<string\>` *required*

Ticket status

Available options: `new`, `open`, `pending`, `hold`, `solved`, `closed`

**priority** `string | null` *required*

**requesterId** `number` *required*

ID of the requester

**requester** `object`

Requester information

**name** `string`

Requester name

**email** `string`

Requester email

**ticketFormId** `string | null`

**assigneeId** `number | null` *required*

**createdAt** `string` *required*

Ticket creation date

**updatedAt** `string` *required*

Ticket last update date

**tags** `array` *required*

Ticket tags

**externalId** `string | null` *required*

**comment** `object`

Ticket comment

**via** `object`

How the ticket was created

**channel** `string`

Channel name

### Create Ticket

Creates a new ticket in Zendesk

**input** `object`

**subject** `string` *required*

Subject for the ticket

**comment** `string` *required*

Comment for the ticket

**requesterName** `string` *required*

Requester name

**requesterEmail** `string` *required*

Requester email

**ticketFormId** `string`

Ticket Form ID

**output** `object`

**ticket** `object` *required*

The created ticket object

**id** `number` *required*

Ticket ID

**subject** `string` *required*

Ticket subject

**description** `string` *required*

Ticket description

**status** `enum\<string\>` *required*

Ticket status

Available options: `new`, `open`, `pending`, `hold`, `solved`, `closed`

**priority** `string | null` *required*

**requesterId** `number` *required*

ID of the requester

**requester** `object`

Requester information

**name** `string`

Requester name

**email** `string`

Requester email

**ticketFormId** `string | null`

**assigneeId** `number | null` *required*

**createdAt** `string` *required*

Ticket creation date

**updatedAt** `string` *required*

Ticket last update date

**tags** `array` *required*

Ticket tags

**externalId** `string | null` *required*

**comment** `object`

Ticket comment

**via** `object`

How the ticket was created

**channel** `string`

Channel name

### Find Customer

Find a Customer in Zendesk

**input** `object`

**query** `string` *required*

partial or full value of any user property, including name, email address, notes, or phone.

**output** `object`

**customers** `array` *required*

Array of customer objects matching the search query

**array item properties**

**id** `number` *required*

User ID

**name** `string` *required*

User name

**email** `string` *required*

User email

**phone** `string | null`

**photo** `string | null`

**remotePhotoUrl** `string | null`

**role** `enum\<string\>` *required*

User role

Available options: `end-user`, `agent`, `admin`

**tags** `array` *required*

User tags

**createdAt** `string` *required*

User creation date

**updatedAt** `string` *required*

User last update date

**externalId** `string | null` *required*

**userFields** `object`

Custom user fields

### Get ticket

Get Ticket by id.

**input** `object`

**ticketId** `string` *required*

The ID of the ticket

**output** `object`

**ticket** `object` *required*

The retrieved ticket object

**id** `number` *required*

Ticket ID

**subject** `string` *required*

Ticket subject

**description** `string` *required*

Ticket description

**status** `enum\<string\>` *required*

Ticket status

Available options: `new`, `open`, `pending`, `hold`, `solved`, `closed`

**priority** `string | null` *required*

**requesterId** `number` *required*

ID of the requester

**requester** `object`

Requester information

**name** `string`

Requester name

**email** `string`

Requester email

**ticketFormId** `string | null`

**assigneeId** `number | null` *required*

**createdAt** `string` *required*

Ticket creation date

**updatedAt** `string` *required*

Ticket last update date

**tags** `array` *required*

Ticket tags

**externalId** `string | null` *required*

**comment** `object`

Ticket comment

**via** `object`

How the ticket was created

**channel** `string`

Channel name

### List Agents

List agents

**input** `object`

**isOnline** `boolean` (default: true)

Only return agents that are currently online

**output** `object`

**agents** `array` *required*

Array of agent user objects

**array item properties**

**id** `number` *required*

User ID

**name** `string` *required*

User name

**email** `string` *required*

User email

**phone** `string | null`

**photo** `string | null`

**remotePhotoUrl** `string | null`

**role** `enum\<string\>` *required*

User role

Available options: `end-user`, `agent`, `admin`

**tags** `array` *required*

User tags

**createdAt** `string` *required*

User creation date

**updatedAt** `string` *required*

User last update date

**externalId** `string | null` *required*

**userFields** `object`

Custom user fields

### Sync Knowledge Base

Sync Zendesk knowledge base to bot knowledge base

**input** `object`

**knowledgeBaseId** `string` *required*

ID of the bot knowledge base you want to sync with

**output** `object`

**success** `boolean` *required*

Indicates whether the sync operation was successful

***

## Triggers

{/* vale off */}

Here's a reference for all [Triggers](https://botpress.com/docs/studio/concepts/triggers.md) available with the integration:

> [!TIP]
>
> You can access data returned from any of these Triggers by reading `event.payload` after the Trigger fires.

### Article Published

Triggered when an article is published

**payload** `object`

**articleId** `string` *required*

The unique identifier of the published article

**articleTitle** `string` *required*

The title of the published article

### Article Unpublished

Triggered when an article is unpublished

**payload** `object`

**articleId** `string` *required*

The unique identifier of the unpublished article


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