# Zendesk

The Zendesk Data Operation provides the capability to create a [Zendesk ticket](https://developer.zendesk.com/rest_api/docs/support/tickets), update a Zendesk ticket, and query Zendesk tickets. For more information, see [Zendesk Integration](../../integration-guides/integrations-overview/integration-guides/zendesk-integration).

## Use Cases

* Gather information from a form and create a ticket in Zendesk with the form data
* Update fields in a ticket throughout a customer journey

\#Data Operation Properties

### Datasource

The Zendesk Instance to perform the Data Operation on. The dropdown options are populated by the list of integrated Instances in your Airkit App under **Settings > Integrations**.

### Operation

There are three types of operations that can be performed:

#### Create ticket (Create Ticket)

\####Requester

The user requesting the ticket and can either be selected from a dropdown or an Expression can be passed in. When using an Expression, the requester expects the `requester_id`.

By checking **Use a custom expression**, the field becomes an Expression editor.

\####Ticket Fields

The fields associated with the ticket when creating a ticket.

\####First Comment (Description) Format _(optional)_

Expects type `text`.

The format of the first comment to be attached to the Zendesk ticket. The format can either be HTML or Plain Text.

\####Is the first comment/description public (optional)

If checked, the first comment is public. If unchecked, the first comment is an internal note.

\####First Comment/Description

Expects type `text`.

The description of the submitted ticket. The first comment expects a string or HTML.&#x20;

\####Tags _(optional)_

Expects type `list`.

The array of tags applied to this ticket.

By checking **Use a custom expression**, the field becomes an Expression editor.

#### Update ticket (Update Ticket)

\####Ticket ID

The ID of the ticket. The ID can either be selected from a dropdown or through an expression.&#x20;

\####Requester

The requester is the user requesting the ticket. The requester can either be selected from a dropdown or an expression can be passed in. When using an expression, the requester expects the `requester_id`.

\#####Ticket Fields

Expects type `text`.

The fields associated with the ticket when creating a ticket. Ticket fields can be updated through the dropdowns by clicking on the '+' icon. Or through passing a JSON object by clicking on the expression icon.

\####First Comment (Description) Format _(optional)_

Expects type `text`.

The description of the submitted ticket. The first comment expects a string or HTML.&#x20;

\####Is the first comment/description public _(optional)_

If checked, the first comment is public. If unchecked, the first comment is an internal note.&#x20;

\####First Comment/Description

The description of the submitted ticket. The first comment expects a string or HTML.&#x20;

#### List tickets (List all tickets)

## Run Results

**Create ticket:** The response from the created ticket with some metadata attached. This is stored in variable so it can be parsed or transformed across your Data Flow.

**Update ticket:** The response from the updated ticket with some metadata attached. This is stored in variable so it can be parsed or transformed across your Data Flow.

**List tickets:** The response lists all the tickets from the Zendesk environment, sorted by ID from smallest to largest. Returns a maximum of 100 records per page. If there are more than 100 records, the results will include a pagination url.
