# Zendesk

> Create and update Zendesk tickets via API.

Source: https://cotera.co/docs/reference/tools/individual-tools/zendesk

---

**Authentication Type:** API Key\
**Description:** Create and update Zendesk tickets via API.

***

## Authentication

To authenticate, you'll need a Zendesk API token. Learn how to create one in the [Zendesk documentation](https://support.zendesk.com/hc/en-us/articles/4408889192858-Managing-API-token-access-to-the-Zendesk-API).

***

## Tickets

Operations for creating and updating Zendesk tickets.

### Create Tickets

Create one or more Zendesk tickets with custom fields, tags, and requester info.

**Operation Type:** Mutation (Write)

**Parameters:**

* **tickets** `array of objects` (required): List of tickets to create
  * **priority** `string` (required): Ticket priority (e.g., "high")
  * **subject** `string` (required): Ticket subject/title
  * **body** `string` (required): Ticket body/description
  * **custom\_fields** `array of objects` (required): Custom fields for the ticket as key-value pairs
    * **key** `string`: Field name
    * **value** `string`: Value for the field (primitive, array, or flat object)
  * **tags** `array of strings` (required): Tags to associate with the ticket
  * **public** `boolean` (required): Whether the initial comment is public
  * **requester** `object` (required): Requester details
    * **name** `string`: Name of the requester
    * **email** `string`: Email address of the requester

**Returns:**

* Empty object on success (job created)

**Example Usage:**

```json
{
  "tickets": [
    {
      "priority": "high",
      "subject": "Website login issues affecting multiple users",
      "body": "Multiple customers are reporting inability to log into their accounts. The issue appears to be widespread and started approximately 2 hours ago. Users receive 'Invalid credentials' error even with correct login information.",
      "custom_fields": [
        {
          "key": "issue_type",
          "value": "technical"
        },
        {
          "key": "affected_users",
          "value": "25+"
        },
        {
          "key": "severity_level",
          "value": "critical"
        }
      ],
      "tags": ["login", "authentication", "website", "urgent"],
      "public": true,
      "requester": {
        "name": "Sarah Johnson",
        "email": "sarah.johnson@example.com"
      }
    },
    {
      "priority": "normal",
      "subject": "Request for new feature: Dark mode toggle",
      "body": "Several customers have requested a dark mode option for better accessibility and reduced eye strain during nighttime usage. This would be a valuable addition to improve user experience.",
      "custom_fields": [
        {
          "key": "issue_type",
          "value": "feature_request"
        },
        {
          "key": "department",
          "value": "product"
        }
      ],
      "tags": ["feature_request", "accessibility", "ui"],
      "public": false,
      "requester": {
        "name": "Mike Chen",
        "email": "mike.chen@example.com"
      }
    }
  ]
}
```

### Update Tickets

Update one or more Zendesk tickets, including attributes, tags, and comments.

**Operation Type:** Mutation (Write)

**Parameters:**

* **tickets** `array of objects` (required): List of tickets to update
  * **ticketId** `string` (required): ID of the ticket to update
  * **attributes** `array of objects` (required): Attributes to update on the ticket as key-value pairs
    * **key** `string`: Field name
    * **value** `string`: Value for the field (primitive, array, or flat object)
  * **additionalTags** `array of strings` (nullable): Additional tags to add to the ticket
  * **comment** `object` (nullable): Optional comment to add
    * **body** `string`: Comment body
    * **public** `boolean`: Whether the comment is public

**Returns:**

* Empty object on success (job created)

**Example Usage:**

```json
{
  "tickets": [
    {
      "ticketId": "12345",
      "attributes": [
        {
          "key": "status",
          "value": "solved"
        },
        {
          "key": "priority",
          "value": "normal"
        }
      ],
      "additionalTags": ["resolved", "verified"],
      "comment": {
        "body": "Issue has been resolved. The authentication service has been restored and users can now log in successfully. We've implemented additional monitoring to prevent similar issues in the future.",
        "public": true
      }
    },
    {
      "ticketId": "67890",
      "attributes": [
        {
          "key": "assignee_id",
          "value": "agent_456"
        },
        {
          "key": "status",
          "value": "open"
        }
      ],
      "additionalTags": ["assigned", "in_progress"],
      "comment": {
        "body": "Assigning this feature request to the product team for evaluation. We'll review the technical feasibility and user demand for dark mode implementation.",
        "public": false
      }
    }
  ]
}
```

***

## Common Use Cases

**Automated Issue Tracking:**

* Create tickets automatically from system alerts, error logs, or monitoring tools for proactive support
* Generate tickets from customer feedback forms, surveys, or chat interactions for comprehensive issue tracking
* Bulk create tickets for known issues affecting multiple customers with consistent priority and categorization

**Workflow Automation:**

* Update ticket status and priority automatically based on resolution progress or escalation rules
* Add tags and comments to tickets as they move through different stages of the support workflow
* Assign tickets to appropriate agents or teams based on issue type, priority, or custom field values

**Customer Communication Management:**

* Create public tickets for transparent communication about widespread issues or service updates
* Update tickets with progress comments to keep customers informed throughout the resolution process
* Add internal comments and tags for agent collaboration while maintaining customer-facing updates

**Integration and Data Synchronization:**

* Sync support tickets with external systems like CRM platforms, project management tools, or billing systems
* Create tickets from third-party integrations such as error monitoring services, user feedback platforms, or IoT alerts
* Update ticket attributes and metadata to maintain consistency across different business systems and reporting tools

