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

# Zendesk

> Reference for the Tracecat Zendesk integration: registered actions, required secrets, expected inputs, and example workflow usage.

## Get group users

Action ID: `tools.zendesk.get_group_users`

Retrieve all users in a specific group.

Reference: [https://developer.zendesk.com/api-reference/ticketing/groups/groups/](https://developer.zendesk.com/api-reference/ticketing/groups/groups/)

### Secrets

Required secrets:

* `zendesk`: required values `ZENDESK_EMAIL`, `ZENDESK_API_TOKEN`.

### Input fields

<ParamField path="group_id" type="integer" required>
  The ID of the group
</ParamField>

<ParamField path="subdomain" type="string" required>
  Your Zendesk subdomain (e.g., 'company' for company.zendesk.com)
</ParamField>

<ParamField path="page" type="integer | null">
  Page number for pagination (1-based)

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer">
  Number of users per page (max 100)

  Default: `100`.
</ParamField>

## Get groups

Action ID: `tools.zendesk.get_groups`

Retrieve all groups from Zendesk.

Reference: [https://developer.zendesk.com/api-reference/ticketing/groups/groups/](https://developer.zendesk.com/api-reference/ticketing/groups/groups/)

### Secrets

Required secrets:

* `zendesk`: required values `ZENDESK_EMAIL`, `ZENDESK_API_TOKEN`.

### Input fields

<ParamField path="subdomain" type="string" required>
  Your Zendesk subdomain (e.g., 'company' for company.zendesk.com)
</ParamField>

<ParamField path="page" type="integer | null">
  Page number for pagination (1-based)

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer">
  Number of groups per page (max 100)

  Default: `100`.
</ParamField>

## Get ticket

Action ID: `tools.zendesk.get_ticket`

Retrieve a specific ticket by ID from Zendesk.

Reference: [https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#show-ticket](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#show-ticket)

### Secrets

Required secrets:

* `zendesk`: required values `ZENDESK_EMAIL`, `ZENDESK_API_TOKEN`.

### Input fields

<ParamField path="subdomain" type="string" required>
  Your Zendesk subdomain (e.g., 'company' for company.zendesk.com)
</ParamField>

<ParamField path="ticket_id" type="integer" required>
  The ID of the ticket to retrieve
</ParamField>

## Get ticket attachments

Action ID: `tools.zendesk.get_ticket_attachments`

Retrieve attachments from a specific ticket.

Reference: [https://developer.zendesk.com/api-reference/ticketing/tickets/ticket\_comments/](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/)

### Secrets

Required secrets:

* `zendesk`: required values `ZENDESK_EMAIL`, `ZENDESK_API_TOKEN`.

### Input fields

<ParamField path="subdomain" type="string" required>
  Your Zendesk subdomain (e.g., 'company' for company.zendesk.com)
</ParamField>

<ParamField path="ticket_id" type="integer" required>
  The ID of the ticket
</ParamField>

## Get ticket comments

Action ID: `tools.zendesk.get_ticket_comments`

Retrieve all comments for a specific ticket.

Reference: [https://developer.zendesk.com/api-reference/ticketing/tickets/ticket\_comments/](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/)

### Secrets

Required secrets:

* `zendesk`: required values `ZENDESK_EMAIL`, `ZENDESK_API_TOKEN`.

### Input fields

<ParamField path="subdomain" type="string" required>
  Your Zendesk subdomain (e.g., 'company' for company.zendesk.com)
</ParamField>

<ParamField path="ticket_id" type="integer" required>
  The ID of the ticket
</ParamField>

<ParamField path="page" type="integer | null">
  Page number for pagination (1-based)

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer">
  Number of comments per page (max 100)

  Default: `100`.
</ParamField>

## Get Twilio recordings

Action ID: `tools.zendesk.get_twilio_recordings`

Retrieve Twilio call recordings associated with tickets (requires Twilio integration).

Reference: [https://developer.zendesk.com/api-reference/voice/talk-api/recordings/](https://developer.zendesk.com/api-reference/voice/talk-api/recordings/)

### Secrets

Required secrets:

* `zendesk`: required values `ZENDESK_EMAIL`, `ZENDESK_API_TOKEN`.

### Input fields

<ParamField path="call_id" type="string" required>
  Call ID
</ParamField>

<ParamField path="subdomain" type="string" required>
  Your Zendesk subdomain (e.g., 'company' for company.zendesk.com)
</ParamField>

## Search Zendesk

Action ID: `tools.zendesk.search_tickets`

Search Zendesk using search query syntax.

Reference: [https://developer.zendesk.com/api-reference/ticketing/ticket-management/search/#list-search-results](https://developer.zendesk.com/api-reference/ticketing/ticket-management/search/#list-search-results)

### Secrets

Required secrets:

* `zendesk`: required values `ZENDESK_EMAIL`, `ZENDESK_API_TOKEN`.

### Input fields

<ParamField path="subdomain" type="string" required>
  Your Zendesk subdomain (e.g., 'company' for company.zendesk.com)
</ParamField>

<ParamField path="page" type="integer | null">
  Page number for pagination (1-based)

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer">
  Number of results per page (max 100)

  Default: `100`.
</ParamField>

<ParamField path="query" type="string">
  Search query using Zendesk search syntax. Default type:ticket -status:solved -status:closed

  Default: `"type:ticket -status:solved -status:closed"`.
</ParamField>

<ParamField path="sort_by" type="string | null">
  Field to sort results by (created\_at, updated\_at, priority, status, ticket\_type)

  Default: `null`.
</ParamField>

<ParamField path="sort_order" type="string | null">
  Sort order (asc, desc)

  Default: `null`.
</ParamField>
