# Zendesk

Zendesk provides customer support software with ticketing, live chat, and knowledge base features, enabling efficient helpdesk operations and customer engagement

- **Category:** crm
- **Auth:** OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 19
- **Triggers:** 2
- **Slug:** `ZENDESK`
- **Version:** 20260316_00

## Frequently Asked Questions

### How do I set up custom OAuth credentials for Zendesk?

For a step-by-step guide on creating and configuring your own Zendesk OAuth credentials with Composio, see [How to create OAuth credentials for Zendesk](https://composio.dev/auth/zendesk).

## Tools

### Count Zendesk Organizations

**Slug:** `ZENDESK_COUNT_ZENDESK_ORGANIZATIONS`

Count the number of organizations in Zendesk. Returns a single numeric total only — no names, IDs, or custom fields. Use ZENDESK_GET_ALL_ZENDESK_ORGANIZATIONS for per-organization detail.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Zendesk Organization

**Slug:** `ZENDESK_CREATE_ZENDESK_ORGANIZATION`

Create an organization in Zendesk. Both `name` and `external_id` must be unique across the account; verify no duplicates exist before calling. Returns `data.id` — persist it for subsequent update or delete operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the organization Zendesk trims leading/trailing whitespace, so visually distinct strings may collide on uniqueness validation. |
| `external_id` | string | No | Optional external ID for the organization |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Zendesk Ticket

**Slug:** `ZENDESK_CREATE_ZENDESK_TICKET`

Create a ticket in Zendesk with full support for all ticket fields. Returns `ticket_id` and `ticket_url`; use ZENDESK_GET_ZENDESK_TICKET_BY_ID for the full ticket object.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | No | Array of tags to apply to the ticket. |
| `due_at` | string | No | Due date for the ticket in ISO 8601 format. Only applicable for task tickets. |
| `status` | string ("new" | "open" | "pending" | "hold" | "solved" | "closed") | No | The state of the ticket. Allowed values: 'new', 'open', 'pending', 'hold', 'solved', 'closed'. |
| `subject` | string | Yes | Short summary of the issue. Keep it concise (e.g. 'Cannot log in'). |
| `group_id` | integer | No | The ID of the group to assign the ticket to. |
| `priority` | string ("urgent" | "high" | "normal" | "low") | No | Zendesk priority. Must be one of: 'urgent', 'high', 'normal', 'low'. Defaults to 'normal'. |
| `email_ccs` | array | No | Array of email CC objects. Write-only field for adding/removing email CCs. |
| `followers` | array | No | Array of follower objects. Write-only field for adding/removing followers. |
| `assignee_id` | integer | No | The ID of the agent to assign to the ticket. |
| `description` | string | Yes | Long-form description / steps to reproduce. This becomes the initial comment on the ticket. |
| `external_id` | string | No | An external ID to link this ticket to records in another system. |
| `ticket_type` | string ("problem" | "incident" | "question" | "task") | No | The type of this ticket. Allowed values: 'problem', 'incident', 'question', 'task'. |
| `requester_id` | integer | No | The ID of the user requesting support. If provided, requester_name and requester_email are ignored. |
| `collaborators` | array | No | Array of collaborators to CC on the ticket. Each element can be: a user ID (integer), an email address (string), or an object with 'email' and optional 'name'. |
| `custom_fields` | array | No | Array of custom field objects with 'id' and 'value' properties. |
| `requester_name` | string | No | Name of the requester. If you supply this, you MUST also supply `requester_email`. Leave both blank to default to the authenticated user. Ignored if requester_id is provided. |
| `ticket_form_id` | integer | No | The ID of the ticket form to render for the ticket. Enterprise only. |
| `requester_email` | string | No | Email of the requester. Must accompany `requester_name`. Ignored if requester_id is provided. |
| `collaborator_ids` | array | No | Array of user IDs to add as collaborators (CCs) on the ticket. |
| `via_followup_source_id` | integer | No | The ID of a closed ticket to create a follow-up from. The new ticket will be linked to the source ticket. |
| `additional_collaborators` | array | No | Array of collaborators to add as CCs without removing existing collaborators. Each element can be: a user ID (integer), an email address (string), or an object with 'email' and optional 'name'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Zendesk User

**Slug:** `ZENDESK_CREATE_ZENDESK_USER`

Tool to create a new user in Zendesk. Search for existing users first to avoid duplicate accounts with the same email. Use when you need to onboard a user with specific details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user` | object | Yes | User object containing all attributes to create `name` is mandatory; omitting it causes a validation error. `role` must be one of: 'end-user', 'agent', or 'admin'. `organization_id` must be a numeric ID of an existing organization — not a name string. Only include fields supported by the Zendesk user schema; unsupported or incorrectly typed fields trigger validation errors. |
| `skip_verify_email` | boolean | No | If true, do not send a verification email upon creation. Passed as a URL query parameter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Zendesk Organization

**Slug:** `ZENDESK_DELETE_ZENDESK_ORGANIZATION`

Delete an organization in Zendesk. This operation is irreversible; confirm organization_id and get explicit user confirmation before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_id` | string | Yes | ID of the organization to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Zendesk Ticket

**Slug:** `ZENDESK_DELETE_ZENDESK_TICKET`

Permanently deletes a ticket in Zendesk, including its entire conversation history. This action is irreversible; always confirm the correct ticket_id before executing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ticket_id` | integer | Yes | ID of the ticket to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Zendesk User

**Slug:** `ZENDESK_DELETE_ZENDESK_USER`

Tool to permanently delete a user from Zendesk. Use when you need to remove a user account. This action cannot be undone and requires appropriate admin permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | The ID of the user to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Delete Zendesk Organizations

**Slug:** `ZENDESK_DESTROY_MANY_ORGANIZATIONS`

Tool to bulk delete Zendesk organizations. Irreversible — confirm ids/external_ids before calling. Use when cleaning up test data or removing obsolete organizations in one call. Returns a job_status payload (initial status typically 'queued'); deletions complete asynchronously and may require follow-up polling to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | string | No | Comma-separated list of Zendesk organization IDs to delete (max 100). Required if external_ids is not provided. |
| `external_ids` | string | No | Comma-separated list of Zendesk external organization IDs to delete (max 100). Required if ids is not provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Zendesk About Me

**Slug:** `ZENDESK_GET_ABOUT_ME`

Get information about the currently authenticated user in Zendesk. Returns only the caller's own account; to look up other users, use ZENDESK_SEARCH_ZENDESK_USERS. Response nests the user object under data.owner_info.user. Useful for verifying the acting user's identity and permissions before performing bulk operations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Zendesk Organizations

**Slug:** `ZENDESK_GET_ALL_ZENDESK_ORGANIZATIONS`

Get all organizations in Zendesk. Returns results nested under an 'organizations' array; an empty list is valid. Accepts no server-side filters — all filtering by name, domain_names (an array field), or organization_fields must be done client-side. Large accounts require pagination; missing pages will undercount results. Multiple organizations may share similar names or domains — always disambiguate using external_id or domain_names and confirm organization_id before acting. Avoid repeated full-list fetches on large accounts; cache or batch client-side instead.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User

**Slug:** `ZENDESK_GET_USER`

Tool to fetch a single Zendesk user by numeric user_id. Use when you have a user ID from ticket payloads (requester_id, submitter_id, assignee_id, author_id) and need to enrich with full user details (name, email, role, organization_id, etc.).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | The numeric ID of the Zendesk user to retrieve. This is the user ID found in ticket payloads (requester_id, submitter_id, assignee_id, author_id). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Zendesk Organization

**Slug:** `ZENDESK_GET_ZENDESK_ORGANIZATION`

Get metadata for a specific Zendesk organization by ID. Response fields are available under data.organization_info. Does not return member/user lists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_id` | integer | Yes | Numeric ID of the organization to retrieve (e.g. 123456). Must be a non-null integer; cast to int if sourced from tools that return it as a string. Do not pass null (skip the call if ticket's organization_id is null). Obtain from ZENDESK_GET_ALL_ZENDESK_ORGANIZATIONS or ZENDESK_CREATE_ZENDESK_ORGANIZATION; never derive from organization name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Zendesk Ticket

**Slug:** `ZENDESK_GET_ZENDESK_TICKET_BY_ID`

Get ticket details from Zendesk. Response wraps all data under a top-level `data` key; access `data['comments']` for comments and `data['comments'][i]['attachments']` for attachments (attachments unavailable from list endpoints). Each comment has both `html_body` and plain `body` fields — choose appropriately. Fields like `subject`, `organization_id`, `author_id`, and `body` may be null; handle defensively. First comment in `data.comments` is not necessarily from the requester — compare `author_id` against ticket `requester_id` to identify requester messages. For bulk calls, honor `Retry-After` headers on HTTP 429.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ticket_id` | integer | Yes | ID of the ticket to get details for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tickets

**Slug:** `ZENDESK_LIST_ZENDESK_TICKETS`

List Zendesk tickets with pagination and filtering. Only server-side filter available is external_id; status, priority, tags, assignee_id, and date-range filters must be applied client-side. Timestamps (created_at, updated_at) are ISO 8601 UTC. ticket.subject may be null — coerce to string before filtering. Attachments are not included; retrieve via ZENDESK_GET_ZENDESK_TICKET_BY_ID. HTTP 429 rate limit responses include Retry-After header; apply exponential backoff. Paginate by following next_page until null to avoid missing tickets.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for offset pagination (1-100). Limited to first 100 pages or 10,000 records total. For larger datasets, use cursor pagination (page_size) instead. |
| `sort_by` | string | No | Field to sort by: 'assignee', 'assignee.name', 'created_at', 'group', 'id', 'requester', 'requester.name', 'status', 'subject', 'updated_at' Omitting sort_by provides no guaranteed ordering; set explicitly when ticket order matters. |
| `per_page` | integer | No | Number of tickets per page for offset pagination (max 100). Note: page * per_page cannot exceed 10,000. Set to 100 for large accounts to minimize requests before client-side filtering. |
| `page_size` | integer | No | Number of tickets per page for cursor pagination (max 100). Use this for large datasets instead of page/per_page. |
| `page_after` | string | No | Cursor value to retrieve the next page of results. Obtained from previous response's 'after_cursor' or 'next' link. |
| `sort_order` | string ("asc" | "desc") | No | Sort order: 'asc' or 'desc' |
| `external_id` | string | No | Filter tickets by external ID |
| `page_before` | string | No | Cursor value to retrieve the previous page of results. Obtained from previous response's 'before_cursor' or 'prev' link. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Users

**Slug:** `ZENDESK_LIST_ZENDESK_USERS`

Tool to list/enumerate Zendesk users via the Users API. Use when you need to export or iterate through the user directory without a specific name/email filter. Supports both cursor and offset pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for offset pagination (starts at 1). Cannot be used with cursor pagination. |
| `role` | string ("end-user" | "agent" | "admin") | No | Filter results by a single role. Use 'end-user', 'agent', or 'admin'. |
| `per_page` | integer | No | Number of users per page for offset pagination (max 100). Cannot be used with cursor pagination. |
| `page_size` | integer | No | Number of users per page for cursor pagination (max 100). Use with page_after. Cannot be used with offset pagination. |
| `role_list` | array | No | Filter results by multiple roles. Provide a list of roles to include users matching any of them. |
| `page_after` | string | No | Cursor for fetching next page in cursor pagination. Use with page_size. Cannot be used with offset pagination. |
| `external_id` | string | No | Filter by external ID. Must be unique per user under the same account. |
| `permission_set` | integer | No | Filter by custom role ID (Enterprise plan only). Only one role ID per request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reply to Zendesk Ticket

**Slug:** `ZENDESK_REPLY_ZENDESK_TICKET`

Action to reply to a Zendesk ticket by adding a comment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | No | Comment content Must contain only the final reply text — do not include draft reasoning or mixed content. |
| `public` | boolean | No | Whether the comment is public or internal Public comments are customer-facing and trigger email notifications to the requester; set to false for internal agent notes to prevent unintended customer visibility. |
| `ticket_id` | integer | Yes | ID of the ticket to reply to. Note: Closed tickets cannot be updated. |
| `assignee_id` | integer | No | The ID of the agent to assign the ticket to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Zendesk

**Slug:** `ZENDESK_SEARCH_ZENDESK`

Tool to search for tickets, users, organizations, and groups in Zendesk using query syntax. Use when you need to find resources across Zendesk using flexible search criteria.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | The search query string. Supports Zendesk query syntax for filtering by type, status, priority, etc. Example: 'type:ticket status:open priority:urgent' or 'assignee:me status:pending'. |
| `include` | string | No | Comma-separated list of related resources to sideload in the response. Available sideloads depend on the result types (e.g., 'users', 'groups', 'organizations'). |
| `sort_by` | string | No | Field to sort results by. Options: 'updated_at', 'created_at', 'priority', 'status', 'ticket_type'. Defaults to sorting by relevance if not specified. |
| `sort_order` | string | No | Sort order direction. Options: 'asc' (ascending) or 'desc' (descending). Defaults to 'desc' if not specified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Users

**Slug:** `ZENDESK_SEARCH_ZENDESK_USERS`

Tool to search Zendesk users by email or name. At least one of 'email' or 'name' must be provided; pagination-only calls fail. Results span all roles (end-users, agents, admins); filter by 'role' client-side if needed. No org-scoped filtering — filter by 'organization_id' client-side. A response with count=0 and empty users array means no match, not an error. Use before ticket creation to confirm user identity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Full or partial name to search for. For phrase searches, enclose in quotes. Partial matches may return many results across roles; verify the correct user via email or 'organization_id' before using a returned user_id. |
| `page` | integer | No | Page number for offset pagination (starts at 1). |
| `email` | string | No | Email address to search for. Exact match (e.g., 'jdoe@example.com'). Domain-fragment searches (e.g., '@example.com') are unsupported; fetch broader results and filter client-side. |
| `per_page` | integer | No | Number of users per page (max 100). Increment 'page' until the returned users array is empty to paginate through all results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Zendesk Organization

**Slug:** `ZENDESK_UPDATE_ZENDESK_ORGANIZATION`

Update an organization in Zendesk. After updating, re-fetch via ZENDESK_GET_ZENDESK_ORGANIZATION if downstream logic depends on current data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | New data for the organization Must use valid Zendesk organization field names (e.g., `name`, `notes`, `domain_names`, `external_id`); invalid fields may be silently ignored. `domain_names` must be an array and is treated as a full replacement — always include existing domains alongside new ones to avoid removing them. Zendesk trims whitespace from `name`, so near-identical strings may collide on uniqueness validation. |
| `organization_id` | integer | Yes | ID of the organization to update Verify the exact ID before updating — multiple organizations may share similar names and updates are persistent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Zendesk Ticket

**Slug:** `ZENDESK_UPDATE_ZENDESK_TICKET`

Tool to update a ticket in Zendesk. Use when you need to modify ticket fields like status, priority, or subject after confirming the ticket ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | No | Optional raw ticket update object. Provide this to send fields under the 'ticket' wrapper directly. Alternatively, use the un-nested fields above. |
| `tags` | array | No | Tags to set on the ticket. Using tags here replaces all existing tags. |
| `due_at` | string | No | Due date/time for task-type tickets (ISO 8601). |
| `status` | string ("new" | "open" | "pending" | "hold" | "solved") | No | Ticket status category. Allowed values: new, open, pending, hold, solved. Note: If your account has custom statuses enabled, use custom_status_id instead. |
| `subject` | string | No | Ticket subject/title to set during update. |
| `group_id` | integer | No | The numeric ID of the group to assign the ticket to. |
| `metadata` | object | No | Custom metadata to attach to this update's audit (approximately up to 1 KB). |
| `priority` | string ("urgent" | "high" | "normal" | "low") | No | Ticket priority. Allowed values: urgent, high, normal, low. Values are case-sensitive. |
| `email_ccs` | array | No | Email CCs to add/remove. Each object includes user_id or user_email, optional user_name, and action ('put'\|'delete'). |
| `followers` | array | No | Followers to add/remove. Each object should include user_id or user_email, with optional action ('put'\|'delete'). |
| `ticket_id` | integer | Yes | ID of the ticket to update. |
| `assignee_id` | integer | No | The numeric ID of the agent to assign the ticket to. The agent must be a member of the group the ticket is assigned to. Use this parameter directly rather than passing through data to avoid 400 errors. |
| `safe_update` | boolean | No | Enable optimistic locking to prevent overwrites during collisions. Must be paired with updated_stamp to take effect. |
| `comment_body` | string | No | Text body of the comment to add. |
| `collaborators` | array | No | Collaborators to set (replaces existing). Accepts user IDs, emails, or {name, email} objects. |
| `custom_fields` | array | No | List of custom field values. Each item: {id: number, value: any}. |
| `updated_stamp` | string | No | Last-known updated_at timestamp (ISO 8601) used together with safe_update. |
| `comment_public` | boolean | No | Whether the added comment is public (visible to requester) or internal. Defaults to true (public); set false to create an internal note. |
| `comment_uploads` | array | No | Upload tokens to attach files to the comment. |
| `collaborator_ids` | array | No | Collaborator user IDs to set (replaces existing). |
| `custom_status_id` | integer | No | The ID of a custom ticket status. Required for accounts with custom statuses enabled. Use this instead of 'status' when custom statuses are active. Retrieve available custom status IDs from the Custom Ticket Statuses API. |
| `comment_author_id` | integer | No | Author ID for the comment, if different from the authenticated user. |
| `comment_html_body` | string | No | HTML body of the comment to add. |
| `additional_collaborators` | array | No | Add collaborators without removing existing ones. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |


## Triggers

### New User Created

**Slug:** `ZENDESK_NEW_USER_TRIGGER`

**Type:** webhook

Triggered when a new user is created in Zendesk.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `events` | array | Yes | The events to subscribe to. |
| `name` | string | Yes | Name of the webhook. |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | Yes | The Zendesk account ID |
| `detail` | object | Yes | Detailed information about the user |
| `event` | object | No | Additional event information |
| `id` | string | Yes | The event UUID |
| `subject` | string | Yes | The subject of the event |
| `time` | string | Yes | The timestamp of the event |
| `type` | string | Yes | The type of the event |
| `zendesk_event_version` | string | Yes | The version of the Zendesk event |

### New Zendesk Ticket

**Slug:** `ZENDESK_NEW_ZENDESK_TICKET_TRIGGER`

**Type:** poll

Triggers when a new ticket is created in a specified Zendesk view.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `interval` | number | No | Periodic Interval to Check for Updates & Send a Trigger in Minutes |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_type` | string | No | Type of Zendesk ticket event |
| `ticket` | object | Yes | Ticket details |
