# Zendesk (/integrations/zendesk)





{/* MANUAL-CONTENT-START:intro */}

Use [Zendesk](https://www.zendesk.com/) in Sim to manage tickets, users, and organizations and search support records. The reference includes single-record and bulk operations, ticket merging, organization autocomplete, and search counts.

{/* MANUAL-CONTENT-END */}

## Use the block [#usage-instructions]

Read, create, update, or delete tickets, users, and organizations, including supported bulk operations. Merge tickets, autocomplete organizations, search records, or count search results. Ticket events can start workflows.

## Actions [#actions]

### Get Tickets from Zendesk [#get-tickets-from-zendesk]

Retrieve a list of tickets from Zendesk with optional filtering

<ReferenceDetails>
  #### Input [#input]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain (e.g., "mycompany" for mycompany.zendesk.com) |
  | `status` | string | No | Filter by status: "new", "open", "pending", "hold", "solved", or "closed" |
  | `priority` | string | No | Filter by priority: "low", "normal", "high", or "urgent" |
  | `type` | string | No | Filter by type: "problem", "incident", "question", or "task" |
  | `assigneeId` | string | No | Filter by assignee user ID as a numeric string (e.g., "12345") |
  | `organizationId` | string | No | Filter by organization ID as a numeric string (e.g., "67890") |
  | `sort` | string | No | Sort field for ticket listing (only applies without filters): "updated\_at", "id", or "status". Prefix with "-" for descending (e.g., "-updated\_at") |
  | `perPage` | string | No | Results per page as a number string (default: "100", max: "100") |
  | `pageAfter` | string | No | Cursor from a previous response to fetch the next page of results |

  #### Output [#output]

  | Parameter | Type | Description |
  | - | - | - |
  | `tickets` | array | Array of ticket objects |
  | ↳ `id` | number | Automatically assigned ticket ID |
  | ↳ `url` | string | API URL of the ticket |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `via` | object | How the ticket was created |
  | ↳ `channel` | string | Channel through which the ticket was created (e.g., email, web, api) |
  | ↳ `source` | object | Source details for the channel |
  | ↳ `from` | object | Information about the source sender |
  | ↳ `address` | string | Email address or other identifier |
  | ↳ `name` | string | Name of the sender |
  | ↳ `to` | object | Information about the recipient |
  | ↳ `address` | string | Email address or other identifier |
  | ↳ `name` | string | Name of the recipient |
  | ↳ `rel` | string | Relationship type |
  | ↳ `created_at` | string | When the ticket was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the ticket was last updated (ISO 8601 format) |
  | ↳ `type` | string | Ticket type (problem, incident, question, task) |
  | ↳ `subject` | string | Subject of the ticket |
  | ↳ `raw_subject` | string | Subject of the ticket as entered by the requester |
  | ↳ `description` | string | Read-only first comment on the ticket |
  | ↳ `priority` | string | Priority level (low, normal, high, urgent) |
  | ↳ `status` | string | Ticket status (new, open, pending, hold, solved, closed) |
  | ↳ `recipient` | string | Original recipient email address |
  | ↳ `requester_id` | number | User ID of the ticket requester |
  | ↳ `submitter_id` | number | User ID of the ticket submitter |
  | ↳ `assignee_id` | number | User ID of the agent assigned to the ticket |
  | ↳ `organization_id` | number | Organization ID of the requester |
  | ↳ `group_id` | number | Group ID assigned to the ticket |
  | ↳ `collaborator_ids` | array | User IDs of collaborators (CC) |
  | ↳ `follower_ids` | array | User IDs of followers |
  | ↳ `email_cc_ids` | array | User IDs of email CCs |
  | ↳ `forum_topic_id` | number | Topic ID in the community forum |
  | ↳ `problem_id` | number | For incident tickets, the ID of the associated problem ticket |
  | ↳ `has_incidents` | boolean | Whether the ticket has incident tickets linked |
  | ↳ `is_public` | boolean | Whether the first comment is public |
  | ↳ `due_at` | string | Due date for task tickets (ISO 8601 format) |
  | ↳ `tags` | array | Tags associated with the ticket |
  | ↳ `custom_fields` | array | Custom ticket fields |
  | ↳ `id` | number | Custom field ID |
  | ↳ `value` | string | Custom field value |
  | ↳ `custom_status_id` | number | Custom status ID |
  | ↳ `satisfaction_rating` | object | Customer satisfaction rating |
  | ↳ `id` | number | Satisfaction rating ID |
  | ↳ `score` | string | Rating score (e.g., good, bad, offered, unoffered) |
  | ↳ `comment` | string | Comment left with the rating |
  | ↳ `sharing_agreement_ids` | array | Sharing agreement IDs |
  | ↳ `followup_ids` | array | IDs of follow-up tickets |
  | ↳ `brand_id` | number | Brand ID the ticket belongs to |
  | ↳ `allow_attachments` | boolean | Whether attachments are allowed |
  | ↳ `allow_channelback` | boolean | Whether channelback is enabled |
  | ↳ `from_messaging_channel` | boolean | Whether the ticket originated from a messaging channel |
  | ↳ `ticket_form_id` | number | Ticket form ID |
  | ↳ `generated_timestamp` | number | Unix timestamp of the ticket generation |
  | `paging` | object | Cursor-based pagination information |
  | ↳ `after_cursor` | string | Cursor for fetching the next page of results |
  | ↳ `has_more` | boolean | Whether more results are available |
  | ↳ `next_page` | string | URL for next page of results |
  | `metadata` | object | Response metadata |
  | ↳ `total_returned` | number | Number of items returned in this response |
  | ↳ `has_more` | boolean | Whether more items are available |
</ReferenceDetails>

### Get Single Ticket from Zendesk [#get-single-ticket-from-zendesk]

Get a single ticket by ID from Zendesk

<ReferenceDetails>
  #### Input [#input-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `ticketId` | string | Yes | Ticket ID to retrieve as a numeric string (e.g., "12345") |

  #### Output [#output-1]

  | Parameter | Type | Description |
  | - | - | - |
  | `ticket` | object | Ticket object |
  | ↳ `id` | number | Automatically assigned ticket ID |
  | ↳ `url` | string | API URL of the ticket |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `via` | object | How the ticket was created |
  | ↳ `channel` | string | Channel through which the ticket was created (e.g., email, web, api) |
  | ↳ `source` | object | Source details for the channel |
  | ↳ `from` | object | Information about the source sender |
  | ↳ `address` | string | Email address or other identifier |
  | ↳ `name` | string | Name of the sender |
  | ↳ `to` | object | Information about the recipient |
  | ↳ `address` | string | Email address or other identifier |
  | ↳ `name` | string | Name of the recipient |
  | ↳ `rel` | string | Relationship type |
  | ↳ `created_at` | string | When the ticket was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the ticket was last updated (ISO 8601 format) |
  | ↳ `type` | string | Ticket type (problem, incident, question, task) |
  | ↳ `subject` | string | Subject of the ticket |
  | ↳ `raw_subject` | string | Subject of the ticket as entered by the requester |
  | ↳ `description` | string | Read-only first comment on the ticket |
  | ↳ `priority` | string | Priority level (low, normal, high, urgent) |
  | ↳ `status` | string | Ticket status (new, open, pending, hold, solved, closed) |
  | ↳ `recipient` | string | Original recipient email address |
  | ↳ `requester_id` | number | User ID of the ticket requester |
  | ↳ `submitter_id` | number | User ID of the ticket submitter |
  | ↳ `assignee_id` | number | User ID of the agent assigned to the ticket |
  | ↳ `organization_id` | number | Organization ID of the requester |
  | ↳ `group_id` | number | Group ID assigned to the ticket |
  | ↳ `collaborator_ids` | array | User IDs of collaborators (CC) |
  | ↳ `follower_ids` | array | User IDs of followers |
  | ↳ `email_cc_ids` | array | User IDs of email CCs |
  | ↳ `forum_topic_id` | number | Topic ID in the community forum |
  | ↳ `problem_id` | number | For incident tickets, the ID of the associated problem ticket |
  | ↳ `has_incidents` | boolean | Whether the ticket has incident tickets linked |
  | ↳ `is_public` | boolean | Whether the first comment is public |
  | ↳ `due_at` | string | Due date for task tickets (ISO 8601 format) |
  | ↳ `tags` | array | Tags associated with the ticket |
  | ↳ `custom_fields` | array | Custom ticket fields |
  | ↳ `id` | number | Custom field ID |
  | ↳ `value` | string | Custom field value |
  | ↳ `custom_status_id` | number | Custom status ID |
  | ↳ `satisfaction_rating` | object | Customer satisfaction rating |
  | ↳ `id` | number | Satisfaction rating ID |
  | ↳ `score` | string | Rating score (e.g., good, bad, offered, unoffered) |
  | ↳ `comment` | string | Comment left with the rating |
  | ↳ `sharing_agreement_ids` | array | Sharing agreement IDs |
  | ↳ `followup_ids` | array | IDs of follow-up tickets |
  | ↳ `brand_id` | number | Brand ID the ticket belongs to |
  | ↳ `allow_attachments` | boolean | Whether attachments are allowed |
  | ↳ `allow_channelback` | boolean | Whether channelback is enabled |
  | ↳ `from_messaging_channel` | boolean | Whether the ticket originated from a messaging channel |
  | ↳ `ticket_form_id` | number | Ticket form ID |
  | ↳ `generated_timestamp` | number | Unix timestamp of the ticket generation |
  | `ticket_id` | number | The ticket ID |
</ReferenceDetails>

### Create Ticket in Zendesk [#create-ticket-in-zendesk]

Create a new ticket in Zendesk with support for custom fields

<ReferenceDetails>
  #### Input [#input-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `subject` | string | No | Ticket subject (optional - will be auto-generated if not provided) |
  | `description` | string | Yes | Ticket description text (first comment) |
  | `priority` | string | No | Priority: "low", "normal", "high", or "urgent" |
  | `status` | string | No | Status: "new", "open", "pending", "hold", "solved", or "closed" |
  | `type` | string | No | Type: "problem", "incident", "question", or "task" |
  | `tags` | string | No | Comma-separated tags (e.g., "billing, urgent") |
  | `assigneeId` | string | No | Assignee user ID as a numeric string (e.g., "12345") |
  | `groupId` | string | No | Group ID as a numeric string (e.g., "67890") |
  | `requesterId` | string | No | Requester user ID as a numeric string (e.g., "11111") |
  | `customFields` | string | No | Custom fields as JSON object (e.g., \{"field\_id": "value"}) |

  #### Output [#output-2]

  | Parameter | Type | Description |
  | - | - | - |
  | `ticket` | object | Created ticket object |
  | ↳ `id` | number | Automatically assigned ticket ID |
  | ↳ `url` | string | API URL of the ticket |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `via` | object | How the ticket was created |
  | ↳ `channel` | string | Channel through which the ticket was created (e.g., email, web, api) |
  | ↳ `source` | object | Source details for the channel |
  | ↳ `from` | object | Information about the source sender |
  | ↳ `address` | string | Email address or other identifier |
  | ↳ `name` | string | Name of the sender |
  | ↳ `to` | object | Information about the recipient |
  | ↳ `address` | string | Email address or other identifier |
  | ↳ `name` | string | Name of the recipient |
  | ↳ `rel` | string | Relationship type |
  | ↳ `created_at` | string | When the ticket was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the ticket was last updated (ISO 8601 format) |
  | ↳ `type` | string | Ticket type (problem, incident, question, task) |
  | ↳ `subject` | string | Subject of the ticket |
  | ↳ `raw_subject` | string | Subject of the ticket as entered by the requester |
  | ↳ `description` | string | Read-only first comment on the ticket |
  | ↳ `priority` | string | Priority level (low, normal, high, urgent) |
  | ↳ `status` | string | Ticket status (new, open, pending, hold, solved, closed) |
  | ↳ `recipient` | string | Original recipient email address |
  | ↳ `requester_id` | number | User ID of the ticket requester |
  | ↳ `submitter_id` | number | User ID of the ticket submitter |
  | ↳ `assignee_id` | number | User ID of the agent assigned to the ticket |
  | ↳ `organization_id` | number | Organization ID of the requester |
  | ↳ `group_id` | number | Group ID assigned to the ticket |
  | ↳ `collaborator_ids` | array | User IDs of collaborators (CC) |
  | ↳ `follower_ids` | array | User IDs of followers |
  | ↳ `email_cc_ids` | array | User IDs of email CCs |
  | ↳ `forum_topic_id` | number | Topic ID in the community forum |
  | ↳ `problem_id` | number | For incident tickets, the ID of the associated problem ticket |
  | ↳ `has_incidents` | boolean | Whether the ticket has incident tickets linked |
  | ↳ `is_public` | boolean | Whether the first comment is public |
  | ↳ `due_at` | string | Due date for task tickets (ISO 8601 format) |
  | ↳ `tags` | array | Tags associated with the ticket |
  | ↳ `custom_fields` | array | Custom ticket fields |
  | ↳ `id` | number | Custom field ID |
  | ↳ `value` | string | Custom field value |
  | ↳ `custom_status_id` | number | Custom status ID |
  | ↳ `satisfaction_rating` | object | Customer satisfaction rating |
  | ↳ `id` | number | Satisfaction rating ID |
  | ↳ `score` | string | Rating score (e.g., good, bad, offered, unoffered) |
  | ↳ `comment` | string | Comment left with the rating |
  | ↳ `sharing_agreement_ids` | array | Sharing agreement IDs |
  | ↳ `followup_ids` | array | IDs of follow-up tickets |
  | ↳ `brand_id` | number | Brand ID the ticket belongs to |
  | ↳ `allow_attachments` | boolean | Whether attachments are allowed |
  | ↳ `allow_channelback` | boolean | Whether channelback is enabled |
  | ↳ `from_messaging_channel` | boolean | Whether the ticket originated from a messaging channel |
  | ↳ `ticket_form_id` | number | Ticket form ID |
  | ↳ `generated_timestamp` | number | Unix timestamp of the ticket generation |
  | `ticket_id` | number | The created ticket ID |
</ReferenceDetails>

### Bulk Create Tickets in Zendesk [#bulk-create-tickets-in-zendesk]

Create multiple tickets in Zendesk at once (max 100)

<ReferenceDetails>
  #### Input [#input-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `tickets` | string | Yes | JSON array of ticket objects to create (max 100). Each ticket should have subject and comment properties (e.g., \[\{"subject": "Issue 1", "comment": \{"body": "Description"}}]) |

  #### Output [#output-3]

  | Parameter | Type | Description |
  | - | - | - |
  | `job_status` | object | Job status object for bulk operations |
  | ↳ `id` | string | Automatically assigned job ID |
  | ↳ `url` | string | URL to poll for status updates |
  | ↳ `status` | string | Current job status (queued, working, failed, completed) |
  | ↳ `job_type` | string | Category of background task |
  | ↳ `total` | number | Total number of tasks in this job |
  | ↳ `progress` | number | Number of tasks already completed |
  | ↳ `message` | string | Message from the job worker |
  | ↳ `results` | array | Array of result objects from the job |
  | ↳ `id` | number | ID of the created or updated resource |
  | ↳ `index` | number | Position of the result in the batch |
  | ↳ `action` | string | Action performed (e.g., create, update) |
  | ↳ `success` | boolean | Whether the operation succeeded |
  | ↳ `status` | string | Status message (e.g., Updated, Created) |
  | ↳ `error` | string | Error message if operation failed |
  | `job_id` | string | The bulk operation job ID |
</ReferenceDetails>

### Update Ticket in Zendesk [#update-ticket-in-zendesk]

Update an existing ticket in Zendesk with support for custom fields

<ReferenceDetails>
  #### Input [#input-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `ticketId` | string | Yes | Ticket ID to update as a numeric string (e.g., "12345") |
  | `subject` | string | No | New ticket subject text |
  | `comment` | string | No | Comment text to add to the ticket |
  | `priority` | string | No | Priority: "low", "normal", "high", or "urgent" |
  | `status` | string | No | Status: "new", "open", "pending", "hold", "solved", or "closed" |
  | `type` | string | No | Type: "problem", "incident", "question", or "task" |
  | `tags` | string | No | Comma-separated tags (e.g., "billing, urgent") |
  | `assigneeId` | string | No | Assignee user ID as a numeric string (e.g., "12345") |
  | `groupId` | string | No | Group ID as a numeric string (e.g., "67890") |
  | `customFields` | string | No | Custom fields as JSON object (e.g., \{"field\_id": "value"}) |

  #### Output [#output-4]

  | Parameter | Type | Description |
  | - | - | - |
  | `ticket` | object | Updated ticket object |
  | ↳ `id` | number | Automatically assigned ticket ID |
  | ↳ `url` | string | API URL of the ticket |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `via` | object | How the ticket was created |
  | ↳ `channel` | string | Channel through which the ticket was created (e.g., email, web, api) |
  | ↳ `source` | object | Source details for the channel |
  | ↳ `from` | object | Information about the source sender |
  | ↳ `address` | string | Email address or other identifier |
  | ↳ `name` | string | Name of the sender |
  | ↳ `to` | object | Information about the recipient |
  | ↳ `address` | string | Email address or other identifier |
  | ↳ `name` | string | Name of the recipient |
  | ↳ `rel` | string | Relationship type |
  | ↳ `created_at` | string | When the ticket was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the ticket was last updated (ISO 8601 format) |
  | ↳ `type` | string | Ticket type (problem, incident, question, task) |
  | ↳ `subject` | string | Subject of the ticket |
  | ↳ `raw_subject` | string | Subject of the ticket as entered by the requester |
  | ↳ `description` | string | Read-only first comment on the ticket |
  | ↳ `priority` | string | Priority level (low, normal, high, urgent) |
  | ↳ `status` | string | Ticket status (new, open, pending, hold, solved, closed) |
  | ↳ `recipient` | string | Original recipient email address |
  | ↳ `requester_id` | number | User ID of the ticket requester |
  | ↳ `submitter_id` | number | User ID of the ticket submitter |
  | ↳ `assignee_id` | number | User ID of the agent assigned to the ticket |
  | ↳ `organization_id` | number | Organization ID of the requester |
  | ↳ `group_id` | number | Group ID assigned to the ticket |
  | ↳ `collaborator_ids` | array | User IDs of collaborators (CC) |
  | ↳ `follower_ids` | array | User IDs of followers |
  | ↳ `email_cc_ids` | array | User IDs of email CCs |
  | ↳ `forum_topic_id` | number | Topic ID in the community forum |
  | ↳ `problem_id` | number | For incident tickets, the ID of the associated problem ticket |
  | ↳ `has_incidents` | boolean | Whether the ticket has incident tickets linked |
  | ↳ `is_public` | boolean | Whether the first comment is public |
  | ↳ `due_at` | string | Due date for task tickets (ISO 8601 format) |
  | ↳ `tags` | array | Tags associated with the ticket |
  | ↳ `custom_fields` | array | Custom ticket fields |
  | ↳ `id` | number | Custom field ID |
  | ↳ `value` | string | Custom field value |
  | ↳ `custom_status_id` | number | Custom status ID |
  | ↳ `satisfaction_rating` | object | Customer satisfaction rating |
  | ↳ `id` | number | Satisfaction rating ID |
  | ↳ `score` | string | Rating score (e.g., good, bad, offered, unoffered) |
  | ↳ `comment` | string | Comment left with the rating |
  | ↳ `sharing_agreement_ids` | array | Sharing agreement IDs |
  | ↳ `followup_ids` | array | IDs of follow-up tickets |
  | ↳ `brand_id` | number | Brand ID the ticket belongs to |
  | ↳ `allow_attachments` | boolean | Whether attachments are allowed |
  | ↳ `allow_channelback` | boolean | Whether channelback is enabled |
  | ↳ `from_messaging_channel` | boolean | Whether the ticket originated from a messaging channel |
  | ↳ `ticket_form_id` | number | Ticket form ID |
  | ↳ `generated_timestamp` | number | Unix timestamp of the ticket generation |
  | `ticket_id` | number | The updated ticket ID |
</ReferenceDetails>

### Bulk Update Tickets in Zendesk [#bulk-update-tickets-in-zendesk]

Update multiple tickets in Zendesk at once (max 100)

<ReferenceDetails>
  #### Input [#input-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `ticketIds` | string | Yes | Comma-separated ticket IDs to update (max 100, e.g., "111, 222, 333") |
  | `status` | string | No | New status for all tickets: "new", "open", "pending", "hold", "solved", or "closed" |
  | `priority` | string | No | New priority for all tickets: "low", "normal", "high", or "urgent" |
  | `assigneeId` | string | No | New assignee ID for all tickets as a numeric string (e.g., "12345") |
  | `groupId` | string | No | New group ID for all tickets as a numeric string (e.g., "67890") |
  | `tags` | string | No | Comma-separated tags to add to all tickets (e.g., "bulk-update, processed") |

  #### Output [#output-5]

  | Parameter | Type | Description |
  | - | - | - |
  | `job_status` | object | Job status object for bulk operations |
  | ↳ `id` | string | Automatically assigned job ID |
  | ↳ `url` | string | URL to poll for status updates |
  | ↳ `status` | string | Current job status (queued, working, failed, completed) |
  | ↳ `job_type` | string | Category of background task |
  | ↳ `total` | number | Total number of tasks in this job |
  | ↳ `progress` | number | Number of tasks already completed |
  | ↳ `message` | string | Message from the job worker |
  | ↳ `results` | array | Array of result objects from the job |
  | ↳ `id` | number | ID of the created or updated resource |
  | ↳ `index` | number | Position of the result in the batch |
  | ↳ `action` | string | Action performed (e.g., create, update) |
  | ↳ `success` | boolean | Whether the operation succeeded |
  | ↳ `status` | string | Status message (e.g., Updated, Created) |
  | ↳ `error` | string | Error message if operation failed |
  | `job_id` | string | The bulk operation job ID |
</ReferenceDetails>

### Delete Ticket from Zendesk [#delete-ticket-from-zendesk]

Delete a ticket from Zendesk

<ReferenceDetails>
  #### Input [#input-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `ticketId` | string | Yes | Ticket ID to delete as a numeric string (e.g., "12345") |

  #### Output [#output-6]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Deletion success |
  | `ticket_id` | string | The deleted ticket ID |
</ReferenceDetails>

### Merge Tickets in Zendesk [#merge-tickets-in-zendesk]

Merge multiple tickets into a target ticket

<ReferenceDetails>
  #### Input [#input-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `targetTicketId` | string | Yes | Target ticket ID as a numeric string (tickets will be merged into this one, e.g., "12345") |
  | `sourceTicketIds` | string | Yes | Comma-separated source ticket IDs to merge (e.g., "111, 222, 333") |
  | `targetComment` | string | No | Comment text to add to target ticket after merge |

  #### Output [#output-7]

  | Parameter | Type | Description |
  | - | - | - |
  | `job_status` | object | Job status object for bulk operations |
  | ↳ `id` | string | Automatically assigned job ID |
  | ↳ `url` | string | URL to poll for status updates |
  | ↳ `status` | string | Current job status (queued, working, failed, completed) |
  | ↳ `job_type` | string | Category of background task |
  | ↳ `total` | number | Total number of tasks in this job |
  | ↳ `progress` | number | Number of tasks already completed |
  | ↳ `message` | string | Message from the job worker |
  | ↳ `results` | array | Array of result objects from the job |
  | ↳ `id` | number | ID of the created or updated resource |
  | ↳ `index` | number | Position of the result in the batch |
  | ↳ `action` | string | Action performed (e.g., create, update) |
  | ↳ `success` | boolean | Whether the operation succeeded |
  | ↳ `status` | string | Status message (e.g., Updated, Created) |
  | ↳ `error` | string | Error message if operation failed |
  | `job_id` | string | The merge job ID |
  | `target_ticket_id` | string | The target ticket ID that tickets were merged into |
</ReferenceDetails>

### Get Users from Zendesk [#get-users-from-zendesk]

Retrieve a list of users from Zendesk with optional filtering

<ReferenceDetails>
  #### Input [#input-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain (e.g., "mycompany" for mycompany.zendesk.com) |
  | `role` | string | No | Filter by role: "end-user", "agent", or "admin" |
  | `permissionSet` | string | No | Filter by permission set ID as a numeric string (e.g., "12345") |
  | `perPage` | string | No | Results per page as a number string (default: "100", max: "100") |
  | `pageAfter` | string | No | Cursor from a previous response to fetch the next page of results |

  #### Output [#output-8]

  | Parameter | Type | Description |
  | - | - | - |
  | `users` | array | Array of user objects |
  | ↳ `id` | number | Automatically assigned user ID |
  | ↳ `url` | string | API URL of the user |
  | ↳ `name` | string | User name |
  | ↳ `email` | string | Primary email address |
  | ↳ `created_at` | string | When the user was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the user was last updated (ISO 8601 format) |
  | ↳ `time_zone` | string | Time zone (e.g., Eastern Time (US & Canada)) |
  | ↳ `iana_time_zone` | string | IANA time zone (e.g., America/New\_York) |
  | ↳ `phone` | string | Phone number |
  | ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
  | ↳ `photo` | object | User photo details |
  | ↳ `content_url` | string | URL to the photo |
  | ↳ `file_name` | string | Photo file name |
  | ↳ `size` | number | File size in bytes |
  | ↳ `locale` | string | Locale (e.g., en-US) |
  | ↳ `locale_id` | number | Locale ID |
  | ↳ `organization_id` | number | Primary organization ID |
  | ↳ `role` | string | User role (end-user, agent, admin) |
  | ↳ `role_type` | number | Role type identifier |
  | ↳ `custom_role_id` | number | Custom role ID |
  | ↳ `active` | boolean | Whether the user is active (false if deleted) |
  | ↳ `verified` | boolean | Whether any user identity has been verified |
  | ↳ `alias` | string | Alias displayed to end users |
  | ↳ `details` | string | Details about the user |
  | ↳ `notes` | string | Notes about the user |
  | ↳ `signature` | string | User signature for email replies |
  | ↳ `default_group_id` | number | Default group ID for the user |
  | ↳ `tags` | array | Tags associated with the user |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
  | ↳ `suspended` | boolean | Whether the user is suspended |
  | ↳ `moderator` | boolean | Whether the user has moderator permissions |
  | ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
  | ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
  | ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
  | ↳ `last_login_at` | string | Last login time (ISO 8601 format) |
  | ↳ `ticket_restriction` | string | Ticket access restriction (organization, groups, assigned, requested) |
  | ↳ `user_fields` | json | Custom user fields (dynamic key-value pairs) |
  | ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
  | ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
  | ↳ `remote_photo_url` | string | URL to a remote photo |
  | `paging` | object | Cursor-based pagination information |
  | ↳ `after_cursor` | string | Cursor for fetching the next page of results |
  | ↳ `has_more` | boolean | Whether more results are available |
  | ↳ `next_page` | string | URL for next page of results |
  | `metadata` | object | Response metadata |
  | ↳ `total_returned` | number | Number of items returned in this response |
  | ↳ `has_more` | boolean | Whether more items are available |
</ReferenceDetails>

### Get Single User from Zendesk [#get-single-user-from-zendesk]

Get a single user by ID from Zendesk

<ReferenceDetails>
  #### Input [#input-9]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `userId` | string | Yes | User ID to retrieve as a numeric string (e.g., "12345") |

  #### Output [#output-9]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | User object |
  | ↳ `id` | number | Automatically assigned user ID |
  | ↳ `url` | string | API URL of the user |
  | ↳ `name` | string | User name |
  | ↳ `email` | string | Primary email address |
  | ↳ `created_at` | string | When the user was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the user was last updated (ISO 8601 format) |
  | ↳ `time_zone` | string | Time zone (e.g., Eastern Time (US & Canada)) |
  | ↳ `iana_time_zone` | string | IANA time zone (e.g., America/New\_York) |
  | ↳ `phone` | string | Phone number |
  | ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
  | ↳ `photo` | object | User photo details |
  | ↳ `content_url` | string | URL to the photo |
  | ↳ `file_name` | string | Photo file name |
  | ↳ `size` | number | File size in bytes |
  | ↳ `locale` | string | Locale (e.g., en-US) |
  | ↳ `locale_id` | number | Locale ID |
  | ↳ `organization_id` | number | Primary organization ID |
  | ↳ `role` | string | User role (end-user, agent, admin) |
  | ↳ `role_type` | number | Role type identifier |
  | ↳ `custom_role_id` | number | Custom role ID |
  | ↳ `active` | boolean | Whether the user is active (false if deleted) |
  | ↳ `verified` | boolean | Whether any user identity has been verified |
  | ↳ `alias` | string | Alias displayed to end users |
  | ↳ `details` | string | Details about the user |
  | ↳ `notes` | string | Notes about the user |
  | ↳ `signature` | string | User signature for email replies |
  | ↳ `default_group_id` | number | Default group ID for the user |
  | ↳ `tags` | array | Tags associated with the user |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
  | ↳ `suspended` | boolean | Whether the user is suspended |
  | ↳ `moderator` | boolean | Whether the user has moderator permissions |
  | ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
  | ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
  | ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
  | ↳ `last_login_at` | string | Last login time (ISO 8601 format) |
  | ↳ `ticket_restriction` | string | Ticket access restriction (organization, groups, assigned, requested) |
  | ↳ `user_fields` | json | Custom user fields (dynamic key-value pairs) |
  | ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
  | ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
  | ↳ `remote_photo_url` | string | URL to a remote photo |
  | `user_id` | number | The user ID |
</ReferenceDetails>

### Get Current User from Zendesk [#get-current-user-from-zendesk]

Get the currently authenticated user from Zendesk

<ReferenceDetails>
  #### Input [#input-10]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |

  #### Output [#output-10]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | Current user object |
  | ↳ `id` | number | Automatically assigned user ID |
  | ↳ `url` | string | API URL of the user |
  | ↳ `name` | string | User name |
  | ↳ `email` | string | Primary email address |
  | ↳ `created_at` | string | When the user was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the user was last updated (ISO 8601 format) |
  | ↳ `time_zone` | string | Time zone (e.g., Eastern Time (US & Canada)) |
  | ↳ `iana_time_zone` | string | IANA time zone (e.g., America/New\_York) |
  | ↳ `phone` | string | Phone number |
  | ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
  | ↳ `photo` | object | User photo details |
  | ↳ `content_url` | string | URL to the photo |
  | ↳ `file_name` | string | Photo file name |
  | ↳ `size` | number | File size in bytes |
  | ↳ `locale` | string | Locale (e.g., en-US) |
  | ↳ `locale_id` | number | Locale ID |
  | ↳ `organization_id` | number | Primary organization ID |
  | ↳ `role` | string | User role (end-user, agent, admin) |
  | ↳ `role_type` | number | Role type identifier |
  | ↳ `custom_role_id` | number | Custom role ID |
  | ↳ `active` | boolean | Whether the user is active (false if deleted) |
  | ↳ `verified` | boolean | Whether any user identity has been verified |
  | ↳ `alias` | string | Alias displayed to end users |
  | ↳ `details` | string | Details about the user |
  | ↳ `notes` | string | Notes about the user |
  | ↳ `signature` | string | User signature for email replies |
  | ↳ `default_group_id` | number | Default group ID for the user |
  | ↳ `tags` | array | Tags associated with the user |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
  | ↳ `suspended` | boolean | Whether the user is suspended |
  | ↳ `moderator` | boolean | Whether the user has moderator permissions |
  | ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
  | ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
  | ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
  | ↳ `last_login_at` | string | Last login time (ISO 8601 format) |
  | ↳ `ticket_restriction` | string | Ticket access restriction (organization, groups, assigned, requested) |
  | ↳ `user_fields` | json | Custom user fields (dynamic key-value pairs) |
  | ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
  | ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
  | ↳ `remote_photo_url` | string | URL to a remote photo |
  | `user_id` | number | The current user ID |
</ReferenceDetails>

### Search Users in Zendesk [#search-users-in-zendesk]

Search for users in Zendesk using a query string

<ReferenceDetails>
  #### Input [#input-11]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `query` | string | No | Search query string (e.g., user name or email) |
  | `externalId` | string | No | External ID to search by (your system identifier) |
  | `perPage` | string | No | Results per page as a number string (default: "100", max: "100") |
  | `page` | string | No | Page number for pagination (1-based) |

  #### Output [#output-11]

  | Parameter | Type | Description |
  | - | - | - |
  | `users` | array | Array of user objects |
  | ↳ `id` | number | Automatically assigned user ID |
  | ↳ `url` | string | API URL of the user |
  | ↳ `name` | string | User name |
  | ↳ `email` | string | Primary email address |
  | ↳ `created_at` | string | When the user was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the user was last updated (ISO 8601 format) |
  | ↳ `time_zone` | string | Time zone (e.g., Eastern Time (US & Canada)) |
  | ↳ `iana_time_zone` | string | IANA time zone (e.g., America/New\_York) |
  | ↳ `phone` | string | Phone number |
  | ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
  | ↳ `photo` | object | User photo details |
  | ↳ `content_url` | string | URL to the photo |
  | ↳ `file_name` | string | Photo file name |
  | ↳ `size` | number | File size in bytes |
  | ↳ `locale` | string | Locale (e.g., en-US) |
  | ↳ `locale_id` | number | Locale ID |
  | ↳ `organization_id` | number | Primary organization ID |
  | ↳ `role` | string | User role (end-user, agent, admin) |
  | ↳ `role_type` | number | Role type identifier |
  | ↳ `custom_role_id` | number | Custom role ID |
  | ↳ `active` | boolean | Whether the user is active (false if deleted) |
  | ↳ `verified` | boolean | Whether any user identity has been verified |
  | ↳ `alias` | string | Alias displayed to end users |
  | ↳ `details` | string | Details about the user |
  | ↳ `notes` | string | Notes about the user |
  | ↳ `signature` | string | User signature for email replies |
  | ↳ `default_group_id` | number | Default group ID for the user |
  | ↳ `tags` | array | Tags associated with the user |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
  | ↳ `suspended` | boolean | Whether the user is suspended |
  | ↳ `moderator` | boolean | Whether the user has moderator permissions |
  | ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
  | ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
  | ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
  | ↳ `last_login_at` | string | Last login time (ISO 8601 format) |
  | ↳ `ticket_restriction` | string | Ticket access restriction (organization, groups, assigned, requested) |
  | ↳ `user_fields` | json | Custom user fields (dynamic key-value pairs) |
  | ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
  | ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
  | ↳ `remote_photo_url` | string | URL to a remote photo |
  | `paging` | object | Cursor-based pagination information |
  | ↳ `after_cursor` | string | Cursor for fetching the next page of results |
  | ↳ `has_more` | boolean | Whether more results are available |
  | ↳ `next_page` | string | URL for next page of results |
  | `metadata` | object | Response metadata |
  | ↳ `total_returned` | number | Number of items returned in this response |
  | ↳ `has_more` | boolean | Whether more items are available |
</ReferenceDetails>

### Create User in Zendesk [#create-user-in-zendesk]

Create a new user in Zendesk

<ReferenceDetails>
  #### Input [#input-12]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `name` | string | Yes | User full name (e.g., "John Smith") |
  | `userEmail` | string | No | User email address (e.g., "[john@example.com](mailto:john@example.com)") |
  | `role` | string | No | User role: "end-user", "agent", or "admin" |
  | `phone` | string | No | User phone number (e.g., "+1-555-123-4567") |
  | `organizationId` | string | No | Organization ID as a numeric string (e.g., "12345") |
  | `verified` | string | No | Set to "true" to skip email verification, or "false" otherwise |
  | `tags` | string | No | Comma-separated tags (e.g., "vip, enterprise") |
  | `customFields` | string | No | Custom fields as JSON object (e.g., \{"field\_id": "value"}) |

  #### Output [#output-12]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | Created user object |
  | ↳ `id` | number | Automatically assigned user ID |
  | ↳ `url` | string | API URL of the user |
  | ↳ `name` | string | User name |
  | ↳ `email` | string | Primary email address |
  | ↳ `created_at` | string | When the user was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the user was last updated (ISO 8601 format) |
  | ↳ `time_zone` | string | Time zone (e.g., Eastern Time (US & Canada)) |
  | ↳ `iana_time_zone` | string | IANA time zone (e.g., America/New\_York) |
  | ↳ `phone` | string | Phone number |
  | ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
  | ↳ `photo` | object | User photo details |
  | ↳ `content_url` | string | URL to the photo |
  | ↳ `file_name` | string | Photo file name |
  | ↳ `size` | number | File size in bytes |
  | ↳ `locale` | string | Locale (e.g., en-US) |
  | ↳ `locale_id` | number | Locale ID |
  | ↳ `organization_id` | number | Primary organization ID |
  | ↳ `role` | string | User role (end-user, agent, admin) |
  | ↳ `role_type` | number | Role type identifier |
  | ↳ `custom_role_id` | number | Custom role ID |
  | ↳ `active` | boolean | Whether the user is active (false if deleted) |
  | ↳ `verified` | boolean | Whether any user identity has been verified |
  | ↳ `alias` | string | Alias displayed to end users |
  | ↳ `details` | string | Details about the user |
  | ↳ `notes` | string | Notes about the user |
  | ↳ `signature` | string | User signature for email replies |
  | ↳ `default_group_id` | number | Default group ID for the user |
  | ↳ `tags` | array | Tags associated with the user |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
  | ↳ `suspended` | boolean | Whether the user is suspended |
  | ↳ `moderator` | boolean | Whether the user has moderator permissions |
  | ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
  | ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
  | ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
  | ↳ `last_login_at` | string | Last login time (ISO 8601 format) |
  | ↳ `ticket_restriction` | string | Ticket access restriction (organization, groups, assigned, requested) |
  | ↳ `user_fields` | json | Custom user fields (dynamic key-value pairs) |
  | ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
  | ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
  | ↳ `remote_photo_url` | string | URL to a remote photo |
  | `user_id` | number | The created user ID |
</ReferenceDetails>

### Bulk Create Users in Zendesk [#bulk-create-users-in-zendesk]

Create multiple users in Zendesk using bulk import

<ReferenceDetails>
  #### Input [#input-13]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `users` | string | Yes | JSON array of user objects to create (e.g., \[\{"name": "User1", "email": "[user1@example.com](mailto:user1@example.com)"}]) |

  #### Output [#output-13]

  | Parameter | Type | Description |
  | - | - | - |
  | `job_status` | object | Job status object for bulk operations |
  | ↳ `id` | string | Automatically assigned job ID |
  | ↳ `url` | string | URL to poll for status updates |
  | ↳ `status` | string | Current job status (queued, working, failed, completed) |
  | ↳ `job_type` | string | Category of background task |
  | ↳ `total` | number | Total number of tasks in this job |
  | ↳ `progress` | number | Number of tasks already completed |
  | ↳ `message` | string | Message from the job worker |
  | ↳ `results` | array | Array of result objects from the job |
  | ↳ `id` | number | ID of the created or updated resource |
  | ↳ `index` | number | Position of the result in the batch |
  | ↳ `action` | string | Action performed (e.g., create, update) |
  | ↳ `success` | boolean | Whether the operation succeeded |
  | ↳ `status` | string | Status message (e.g., Updated, Created) |
  | ↳ `error` | string | Error message if operation failed |
  | `job_id` | string | The bulk operation job ID |
</ReferenceDetails>

### Update User in Zendesk [#update-user-in-zendesk]

Update an existing user in Zendesk

<ReferenceDetails>
  #### Input [#input-14]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `userId` | string | Yes | User ID to update as a numeric string (e.g., "12345") |
  | `name` | string | No | New user full name (e.g., "John Smith") |
  | `userEmail` | string | No | New user email address (e.g., "[john@example.com](mailto:john@example.com)") |
  | `role` | string | No | User role: "end-user", "agent", or "admin" |
  | `phone` | string | No | User phone number (e.g., "+1-555-123-4567") |
  | `organizationId` | string | No | Organization ID as a numeric string (e.g., "67890") |
  | `verified` | string | No | Set to "true" to mark user as verified, or "false" otherwise |
  | `tags` | string | No | Comma-separated tags (e.g., "vip, enterprise") |
  | `customFields` | string | No | Custom fields as JSON object (e.g., \{"field\_id": "value"}) |

  #### Output [#output-14]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | Updated user object |
  | ↳ `id` | number | Automatically assigned user ID |
  | ↳ `url` | string | API URL of the user |
  | ↳ `name` | string | User name |
  | ↳ `email` | string | Primary email address |
  | ↳ `created_at` | string | When the user was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the user was last updated (ISO 8601 format) |
  | ↳ `time_zone` | string | Time zone (e.g., Eastern Time (US & Canada)) |
  | ↳ `iana_time_zone` | string | IANA time zone (e.g., America/New\_York) |
  | ↳ `phone` | string | Phone number |
  | ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
  | ↳ `photo` | object | User photo details |
  | ↳ `content_url` | string | URL to the photo |
  | ↳ `file_name` | string | Photo file name |
  | ↳ `size` | number | File size in bytes |
  | ↳ `locale` | string | Locale (e.g., en-US) |
  | ↳ `locale_id` | number | Locale ID |
  | ↳ `organization_id` | number | Primary organization ID |
  | ↳ `role` | string | User role (end-user, agent, admin) |
  | ↳ `role_type` | number | Role type identifier |
  | ↳ `custom_role_id` | number | Custom role ID |
  | ↳ `active` | boolean | Whether the user is active (false if deleted) |
  | ↳ `verified` | boolean | Whether any user identity has been verified |
  | ↳ `alias` | string | Alias displayed to end users |
  | ↳ `details` | string | Details about the user |
  | ↳ `notes` | string | Notes about the user |
  | ↳ `signature` | string | User signature for email replies |
  | ↳ `default_group_id` | number | Default group ID for the user |
  | ↳ `tags` | array | Tags associated with the user |
  | ↳ `external_id` | string | External ID for linking to external records |
  | ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
  | ↳ `suspended` | boolean | Whether the user is suspended |
  | ↳ `moderator` | boolean | Whether the user has moderator permissions |
  | ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
  | ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
  | ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
  | ↳ `last_login_at` | string | Last login time (ISO 8601 format) |
  | ↳ `ticket_restriction` | string | Ticket access restriction (organization, groups, assigned, requested) |
  | ↳ `user_fields` | json | Custom user fields (dynamic key-value pairs) |
  | ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
  | ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
  | ↳ `remote_photo_url` | string | URL to a remote photo |
  | `user_id` | number | The updated user ID |
</ReferenceDetails>

### Bulk Update Users in Zendesk [#bulk-update-users-in-zendesk]

Update multiple users in Zendesk using bulk update

<ReferenceDetails>
  #### Input [#input-15]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `users` | string | Yes | JSON array of user objects to update, each must include id field (e.g., \[\{"id": "123", "name": "New Name"}]) |

  #### Output [#output-15]

  | Parameter | Type | Description |
  | - | - | - |
  | `job_status` | object | Job status object for bulk operations |
  | ↳ `id` | string | Automatically assigned job ID |
  | ↳ `url` | string | URL to poll for status updates |
  | ↳ `status` | string | Current job status (queued, working, failed, completed) |
  | ↳ `job_type` | string | Category of background task |
  | ↳ `total` | number | Total number of tasks in this job |
  | ↳ `progress` | number | Number of tasks already completed |
  | ↳ `message` | string | Message from the job worker |
  | ↳ `results` | array | Array of result objects from the job |
  | ↳ `id` | number | ID of the created or updated resource |
  | ↳ `index` | number | Position of the result in the batch |
  | ↳ `action` | string | Action performed (e.g., create, update) |
  | ↳ `success` | boolean | Whether the operation succeeded |
  | ↳ `status` | string | Status message (e.g., Updated, Created) |
  | ↳ `error` | string | Error message if operation failed |
  | `job_id` | string | The bulk operation job ID |
</ReferenceDetails>

### Delete User from Zendesk [#delete-user-from-zendesk]

Delete a user from Zendesk

<ReferenceDetails>
  #### Input [#input-16]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `userId` | string | Yes | User ID to delete as a numeric string (e.g., "12345") |

  #### Output [#output-16]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Deletion success |
  | `user_id` | string | The deleted user ID |
</ReferenceDetails>

### Get Organizations from Zendesk [#get-organizations-from-zendesk]

Retrieve a list of organizations from Zendesk

<ReferenceDetails>
  #### Input [#input-17]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain (e.g., "mycompany" for mycompany.zendesk.com) |
  | `perPage` | string | No | Results per page as a number string (default: "100", max: "100") |
  | `pageAfter` | string | No | Cursor from a previous response to fetch the next page of results |

  #### Output [#output-17]

  | Parameter | Type | Description |
  | - | - | - |
  | `organizations` | array | Array of organization objects |
  | ↳ `id` | number | Automatically assigned organization ID |
  | ↳ `url` | string | API URL of the organization |
  | ↳ `name` | string | Unique organization name |
  | ↳ `domain_names` | array | Domain names for automatic user assignment |
  | ↳ `details` | string | Details about the organization |
  | ↳ `notes` | string | Notes about the organization |
  | ↳ `group_id` | number | Group ID for auto-routing new tickets |
  | ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
  | ↳ `shared_comments` | boolean | Whether end users can see each others comments |
  | ↳ `tags` | array | Tags associated with the organization |
  | ↳ `organization_fields` | json | Custom organization fields (dynamic key-value pairs) |
  | ↳ `created_at` | string | When the organization was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the organization was last updated (ISO 8601 format) |
  | ↳ `external_id` | string | External ID for linking to external records |
  | `paging` | object | Cursor-based pagination information |
  | ↳ `after_cursor` | string | Cursor for fetching the next page of results |
  | ↳ `has_more` | boolean | Whether more results are available |
  | ↳ `next_page` | string | URL for next page of results |
  | `metadata` | object | Response metadata |
  | ↳ `total_returned` | number | Number of items returned in this response |
  | ↳ `has_more` | boolean | Whether more items are available |
</ReferenceDetails>

### Get Single Organization from Zendesk [#get-single-organization-from-zendesk]

Get a single organization by ID from Zendesk

<ReferenceDetails>
  #### Input [#input-18]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `organizationId` | string | Yes | Organization ID to retrieve as a numeric string (e.g., "12345") |

  #### Output [#output-18]

  | Parameter | Type | Description |
  | - | - | - |
  | `organization` | object | Organization object |
  | ↳ `id` | number | Automatically assigned organization ID |
  | ↳ `url` | string | API URL of the organization |
  | ↳ `name` | string | Unique organization name |
  | ↳ `domain_names` | array | Domain names for automatic user assignment |
  | ↳ `details` | string | Details about the organization |
  | ↳ `notes` | string | Notes about the organization |
  | ↳ `group_id` | number | Group ID for auto-routing new tickets |
  | ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
  | ↳ `shared_comments` | boolean | Whether end users can see each others comments |
  | ↳ `tags` | array | Tags associated with the organization |
  | ↳ `organization_fields` | json | Custom organization fields (dynamic key-value pairs) |
  | ↳ `created_at` | string | When the organization was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the organization was last updated (ISO 8601 format) |
  | ↳ `external_id` | string | External ID for linking to external records |
  | `organization_id` | number | The organization ID |
</ReferenceDetails>

### Autocomplete Organizations in Zendesk [#autocomplete-organizations-in-zendesk]

Autocomplete organizations in Zendesk by name prefix (for name matching/autocomplete)

<ReferenceDetails>
  #### Input [#input-19]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `name` | string | Yes | Organization name prefix to search for (e.g., "Acme") |
  | `perPage` | string | No | Results per page as a number string (default: "100", max: "100") |
  | `page` | string | No | Page number for pagination (1-based) |

  #### Output [#output-19]

  | Parameter | Type | Description |
  | - | - | - |
  | `organizations` | array | Array of organization objects |
  | ↳ `id` | number | Automatically assigned organization ID |
  | ↳ `url` | string | API URL of the organization |
  | ↳ `name` | string | Unique organization name |
  | ↳ `domain_names` | array | Domain names for automatic user assignment |
  | ↳ `details` | string | Details about the organization |
  | ↳ `notes` | string | Notes about the organization |
  | ↳ `group_id` | number | Group ID for auto-routing new tickets |
  | ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
  | ↳ `shared_comments` | boolean | Whether end users can see each others comments |
  | ↳ `tags` | array | Tags associated with the organization |
  | ↳ `organization_fields` | json | Custom organization fields (dynamic key-value pairs) |
  | ↳ `created_at` | string | When the organization was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the organization was last updated (ISO 8601 format) |
  | ↳ `external_id` | string | External ID for linking to external records |
  | `paging` | object | Cursor-based pagination information |
  | ↳ `after_cursor` | string | Cursor for fetching the next page of results |
  | ↳ `has_more` | boolean | Whether more results are available |
  | ↳ `next_page` | string | URL for next page of results |
  | `metadata` | object | Response metadata |
  | ↳ `total_returned` | number | Number of items returned in this response |
  | ↳ `has_more` | boolean | Whether more items are available |
</ReferenceDetails>

### Create Organization in Zendesk [#create-organization-in-zendesk]

Create a new organization in Zendesk

<ReferenceDetails>
  #### Input [#input-20]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `name` | string | Yes | Organization name (e.g., "Acme Corporation") |
  | `domainNames` | string | No | Comma-separated domain names (e.g., "acme.com, acme.org") |
  | `details` | string | No | Organization details text |
  | `notes` | string | No | Organization notes text |
  | `tags` | string | No | Comma-separated tags (e.g., "enterprise, priority") |
  | `customFields` | string | No | Custom fields as JSON object (e.g., \{"field\_id": "value"}) |

  #### Output [#output-20]

  | Parameter | Type | Description |
  | - | - | - |
  | `organization` | object | Created organization object |
  | ↳ `id` | number | Automatically assigned organization ID |
  | ↳ `url` | string | API URL of the organization |
  | ↳ `name` | string | Unique organization name |
  | ↳ `domain_names` | array | Domain names for automatic user assignment |
  | ↳ `details` | string | Details about the organization |
  | ↳ `notes` | string | Notes about the organization |
  | ↳ `group_id` | number | Group ID for auto-routing new tickets |
  | ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
  | ↳ `shared_comments` | boolean | Whether end users can see each others comments |
  | ↳ `tags` | array | Tags associated with the organization |
  | ↳ `organization_fields` | json | Custom organization fields (dynamic key-value pairs) |
  | ↳ `created_at` | string | When the organization was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the organization was last updated (ISO 8601 format) |
  | ↳ `external_id` | string | External ID for linking to external records |
  | `organization_id` | number | The created organization ID |
</ReferenceDetails>

### Bulk Create Organizations in Zendesk [#bulk-create-organizations-in-zendesk]

Create multiple organizations in Zendesk using bulk import

<ReferenceDetails>
  #### Input [#input-21]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `organizations` | string | Yes | JSON array of organization objects to create (e.g., \[\{"name": "Org1"}, \{"name": "Org2"}]) |

  #### Output [#output-21]

  | Parameter | Type | Description |
  | - | - | - |
  | `job_status` | object | Job status object for bulk operations |
  | ↳ `id` | string | Automatically assigned job ID |
  | ↳ `url` | string | URL to poll for status updates |
  | ↳ `status` | string | Current job status (queued, working, failed, completed) |
  | ↳ `job_type` | string | Category of background task |
  | ↳ `total` | number | Total number of tasks in this job |
  | ↳ `progress` | number | Number of tasks already completed |
  | ↳ `message` | string | Message from the job worker |
  | ↳ `results` | array | Array of result objects from the job |
  | ↳ `id` | number | ID of the created or updated resource |
  | ↳ `index` | number | Position of the result in the batch |
  | ↳ `action` | string | Action performed (e.g., create, update) |
  | ↳ `success` | boolean | Whether the operation succeeded |
  | ↳ `status` | string | Status message (e.g., Updated, Created) |
  | ↳ `error` | string | Error message if operation failed |
  | `job_id` | string | The bulk operation job ID |
</ReferenceDetails>

### Update Organization in Zendesk [#update-organization-in-zendesk]

Update an existing organization in Zendesk

<ReferenceDetails>
  #### Input [#input-22]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `organizationId` | string | Yes | Organization ID to update as a numeric string (e.g., "12345") |
  | `name` | string | No | New organization name (e.g., "Acme Corporation") |
  | `domainNames` | string | No | Comma-separated domain names (e.g., "acme.com, acme.org") |
  | `details` | string | No | Organization details text |
  | `notes` | string | No | Organization notes text |
  | `tags` | string | No | Comma-separated tags (e.g., "enterprise, priority") |
  | `customFields` | string | No | Custom fields as JSON object (e.g., \{"field\_id": "value"}) |

  #### Output [#output-22]

  | Parameter | Type | Description |
  | - | - | - |
  | `organization` | object | Updated organization object |
  | ↳ `id` | number | Automatically assigned organization ID |
  | ↳ `url` | string | API URL of the organization |
  | ↳ `name` | string | Unique organization name |
  | ↳ `domain_names` | array | Domain names for automatic user assignment |
  | ↳ `details` | string | Details about the organization |
  | ↳ `notes` | string | Notes about the organization |
  | ↳ `group_id` | number | Group ID for auto-routing new tickets |
  | ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
  | ↳ `shared_comments` | boolean | Whether end users can see each others comments |
  | ↳ `tags` | array | Tags associated with the organization |
  | ↳ `organization_fields` | json | Custom organization fields (dynamic key-value pairs) |
  | ↳ `created_at` | string | When the organization was created (ISO 8601 format) |
  | ↳ `updated_at` | string | When the organization was last updated (ISO 8601 format) |
  | ↳ `external_id` | string | External ID for linking to external records |
  | `organization_id` | number | The updated organization ID |
</ReferenceDetails>

### Delete Organization from Zendesk [#delete-organization-from-zendesk]

Delete an organization from Zendesk

<ReferenceDetails>
  #### Input [#input-23]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `organizationId` | string | Yes | Organization ID to delete as a numeric string (e.g., "12345") |

  #### Output [#output-23]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Whether the organization was successfully deleted |
  | `organization_id` | string | The deleted organization ID |
</ReferenceDetails>

### Search Zendesk [#search-zendesk]

Unified search across tickets, users, and organizations in Zendesk

<ReferenceDetails>
  #### Input [#input-24]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `query` | string | Yes | Search query string using Zendesk search syntax (e.g., "type:ticket status:open") |
  | `filterType` | string | Yes | Resource type to search for: "ticket", "user", "organization", or "group" |
  | `perPage` | string | No | Results per page as a number string (default: "100", max: "100") |
  | `pageAfter` | string | No | Cursor from a previous response to fetch the next page of results |

  #### Output [#output-24]

  | Parameter | Type | Description |
  | - | - | - |
  | `paging` | object | Cursor-based pagination information |
  | ↳ `after_cursor` | string | Cursor for fetching the next page of results |
  | ↳ `has_more` | boolean | Whether more results are available |
  | ↳ `next_page` | string | URL for next page of results |
  | `metadata` | object | Response metadata |
  | ↳ `total_returned` | number | Number of items returned in this response |
  | ↳ `has_more` | boolean | Whether more items are available |
  | `results` | array | Array of result objects (tickets, users, or organizations depending on search query) |
</ReferenceDetails>

### Count Search Results in Zendesk [#count-search-results-in-zendesk]

Count the number of search results matching a query in Zendesk

<ReferenceDetails>
  #### Input [#input-25]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `email` | string | Yes | Your Zendesk email address |
  | `apiToken` | string | Yes | Zendesk API token |
  | `subdomain` | string | Yes | Your Zendesk subdomain |
  | `query` | string | Yes | Search query string using Zendesk search syntax (e.g., "type:ticket status:open") |

  #### Output [#output-25]

  | Parameter | Type | Description |
  | - | - | - |
  | `count` | number | Number of matching results |
</ReferenceDetails>

## Triggers [#triggers]

A trigger starts a workflow when a supported event occurs in this service.

### Zendesk Ticket Comment Added [#zendesk-ticket-comment-added]

Trigger workflow when a comment is added to a Zendesk ticket

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `subdomain` | string | Yes | Your Zendesk subdomain. |
  | `email` | string | Yes | Email of a Zendesk admin used with the API token. |
  | `apiToken` | string | Yes | Used to create the webhook. Requires admin access. |

  #### Output [#output-26]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_id` | string | Unique ID of the webhook event |
  | `event_type` | string | Full event type (e.g. zen:event-type:ticket.created) |
  | `time` | string | When the event occurred (ISO 8601) |
  | `account_id` | number | Zendesk account ID |
  | `ticket` | object | |
  | ↳ `id` | string | Ticket ID |
  | ↳ `subject` | string | Ticket subject |
  | ↳ `status` | string | Ticket status (new, open, pending, solved, etc.) |
  | ↳ `priority` | string | Ticket priority (low, normal, high, urgent) |
  | ↳ `ticket_type` | string | Ticket type (question, incident, problem, task) |
  | ↳ `description` | string | Ticket description |
  | ↳ `requester_id` | string | ID of the requester |
  | ↳ `assignee_id` | string | ID of the assignee |
  | ↳ `group_id` | string | ID of the assigned group |
  | ↳ `organization_id` | string | ID of the organization |
  | ↳ `tags` | json | Array of ticket tags |
  | ↳ `via_channel` | string | Channel the ticket came in through |
  | ↳ `is_public` | boolean | Whether the ticket is public |
  | ↳ `created_at` | string | Ticket creation timestamp |
  | ↳ `updated_at` | string | Ticket last update timestamp |
  | `event` | json | Event-specific changed data (e.g. status/priority diff) |
</ReferenceDetails>

### Zendesk Ticket Created [#zendesk-ticket-created]

Trigger workflow when a new ticket is created in Zendesk

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `subdomain` | string | Yes | Your Zendesk subdomain. |
  | `email` | string | Yes | Email of a Zendesk admin used with the API token. |
  | `apiToken` | string | Yes | Used to create the webhook. Requires admin access. |

  #### Output [#output-27]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_id` | string | Unique ID of the webhook event |
  | `event_type` | string | Full event type (e.g. zen:event-type:ticket.created) |
  | `time` | string | When the event occurred (ISO 8601) |
  | `account_id` | number | Zendesk account ID |
  | `ticket` | object | |
  | ↳ `id` | string | Ticket ID |
  | ↳ `subject` | string | Ticket subject |
  | ↳ `status` | string | Ticket status (new, open, pending, solved, etc.) |
  | ↳ `priority` | string | Ticket priority (low, normal, high, urgent) |
  | ↳ `ticket_type` | string | Ticket type (question, incident, problem, task) |
  | ↳ `description` | string | Ticket description |
  | ↳ `requester_id` | string | ID of the requester |
  | ↳ `assignee_id` | string | ID of the assignee |
  | ↳ `group_id` | string | ID of the assigned group |
  | ↳ `organization_id` | string | ID of the organization |
  | ↳ `tags` | json | Array of ticket tags |
  | ↳ `via_channel` | string | Channel the ticket came in through |
  | ↳ `is_public` | boolean | Whether the ticket is public |
  | ↳ `created_at` | string | Ticket creation timestamp |
  | ↳ `updated_at` | string | Ticket last update timestamp |
  | `event` | json | Event-specific changed data (e.g. status/priority diff) |
</ReferenceDetails>

### Zendesk Ticket Event [#zendesk-ticket-event]

Trigger workflow from any Zendesk ticket event

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `subdomain` | string | Yes | Your Zendesk subdomain. |
  | `email` | string | Yes | Email of a Zendesk admin used with the API token. |
  | `apiToken` | string | Yes | Used to create the webhook. Requires admin access. |

  #### Output [#output-28]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_id` | string | Unique ID of the webhook event |
  | `event_type` | string | Full event type (e.g. zen:event-type:ticket.created) |
  | `time` | string | When the event occurred (ISO 8601) |
  | `account_id` | number | Zendesk account ID |
  | `ticket` | object | |
  | ↳ `id` | string | Ticket ID |
  | ↳ `subject` | string | Ticket subject |
  | ↳ `status` | string | Ticket status (new, open, pending, solved, etc.) |
  | ↳ `priority` | string | Ticket priority (low, normal, high, urgent) |
  | ↳ `ticket_type` | string | Ticket type (question, incident, problem, task) |
  | ↳ `description` | string | Ticket description |
  | ↳ `requester_id` | string | ID of the requester |
  | ↳ `assignee_id` | string | ID of the assignee |
  | ↳ `group_id` | string | ID of the assigned group |
  | ↳ `organization_id` | string | ID of the organization |
  | ↳ `tags` | json | Array of ticket tags |
  | ↳ `via_channel` | string | Channel the ticket came in through |
  | ↳ `is_public` | boolean | Whether the ticket is public |
  | ↳ `created_at` | string | Ticket creation timestamp |
  | ↳ `updated_at` | string | Ticket last update timestamp |
  | `event` | json | Event-specific changed data (e.g. status/priority diff) |
</ReferenceDetails>

### Zendesk Ticket Priority Changed [#zendesk-ticket-priority-changed]

Trigger workflow when a ticket priority changes in Zendesk

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `subdomain` | string | Yes | Your Zendesk subdomain. |
  | `email` | string | Yes | Email of a Zendesk admin used with the API token. |
  | `apiToken` | string | Yes | Used to create the webhook. Requires admin access. |

  #### Output [#output-29]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_id` | string | Unique ID of the webhook event |
  | `event_type` | string | Full event type (e.g. zen:event-type:ticket.created) |
  | `time` | string | When the event occurred (ISO 8601) |
  | `account_id` | number | Zendesk account ID |
  | `ticket` | object | |
  | ↳ `id` | string | Ticket ID |
  | ↳ `subject` | string | Ticket subject |
  | ↳ `status` | string | Ticket status (new, open, pending, solved, etc.) |
  | ↳ `priority` | string | Ticket priority (low, normal, high, urgent) |
  | ↳ `ticket_type` | string | Ticket type (question, incident, problem, task) |
  | ↳ `description` | string | Ticket description |
  | ↳ `requester_id` | string | ID of the requester |
  | ↳ `assignee_id` | string | ID of the assignee |
  | ↳ `group_id` | string | ID of the assigned group |
  | ↳ `organization_id` | string | ID of the organization |
  | ↳ `tags` | json | Array of ticket tags |
  | ↳ `via_channel` | string | Channel the ticket came in through |
  | ↳ `is_public` | boolean | Whether the ticket is public |
  | ↳ `created_at` | string | Ticket creation timestamp |
  | ↳ `updated_at` | string | Ticket last update timestamp |
  | `event` | json | Event-specific changed data (e.g. status/priority diff) |
</ReferenceDetails>

### Zendesk Ticket Status Changed [#zendesk-ticket-status-changed]

Trigger workflow when a ticket status changes in Zendesk

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `subdomain` | string | Yes | Your Zendesk subdomain. |
  | `email` | string | Yes | Email of a Zendesk admin used with the API token. |
  | `apiToken` | string | Yes | Used to create the webhook. Requires admin access. |

  #### Output [#output-30]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_id` | string | Unique ID of the webhook event |
  | `event_type` | string | Full event type (e.g. zen:event-type:ticket.created) |
  | `time` | string | When the event occurred (ISO 8601) |
  | `account_id` | number | Zendesk account ID |
  | `ticket` | object | |
  | ↳ `id` | string | Ticket ID |
  | ↳ `subject` | string | Ticket subject |
  | ↳ `status` | string | Ticket status (new, open, pending, solved, etc.) |
  | ↳ `priority` | string | Ticket priority (low, normal, high, urgent) |
  | ↳ `ticket_type` | string | Ticket type (question, incident, problem, task) |
  | ↳ `description` | string | Ticket description |
  | ↳ `requester_id` | string | ID of the requester |
  | ↳ `assignee_id` | string | ID of the assignee |
  | ↳ `group_id` | string | ID of the assigned group |
  | ↳ `organization_id` | string | ID of the organization |
  | ↳ `tags` | json | Array of ticket tags |
  | ↳ `via_channel` | string | Channel the ticket came in through |
  | ↳ `is_public` | boolean | Whether the ticket is public |
  | ↳ `created_at` | string | Ticket creation timestamp |
  | ↳ `updated_at` | string | Ticket last update timestamp |
  | `event` | json | Event-specific changed data (e.g. status/priority diff) |
</ReferenceDetails>
