Skip to main content
Zendesk logo

Zendesk

Overview

Zendesk offers CRM software for support, sales, and customer engagement designed to create better customer relationships. Integrate Zendesk with Superblocks to build powerful internal tools that tie together customer interactions, support data, and service workflows with the rest of your company's data.

Setting up Zendesk

Create an access token

To get started using Zendesk, choose your authentication method and configure your integrations based on the instructions below.

Username / Password Authentication

  1. Find your Zendesk tenant. It typically follows the format https://your-tenant.zendesk.com, where your-tenant is your Zendesk tenant.
  2. Copy and paste your username and password to configure your integration's connection

API Token Authentication

  1. Find your Zendesk tenant. It typically follows the format https://your-tenant.zendesk.com, where your-tenant is your Zendesk tenant.
  2. In Admin Center click Apps and integrations
  3. Under APIs select Zendesk API
  4. Click Add API token
  5. Copy the API token and configure your integration's connection as follows
    • Email: {your_email}/token
    • Password: Your API token

Learn more about Zendesk API Authentication

Add integration

Once you have an access token, you're ready to set up your Superblocks integration.

  1. In the web app, navigate to the Integrations page
  2. Click on the Zendesk tile
  3. Name the integration
  4. Paste your credentials into the relevant fields
  5. Optionally, add more configurations to set credentials for different environments
  6. Click Create
success

Zendesk connected Now you can use Zendesk in any Application, Workflow, or Scheduled Job.

Use Zendesk in APIs

Once your Zendesk integration is created, you can start creating steps in Application backend APIs, Workflows, and Scheduled Jobs to call Zendesk API actions. Zendesk actions are REST requests. To learn more about REST requests in Superblocks, see the Building REST requests guide.

Supported actions

Autocomplete Problems

Returns tickets whose type is "problem" and whose subject contains the string specified in the `text` parameter. You can specify the `text` parameter in the request body rather than the query string. Example: `{"text": "fire"}` #### Allowed For * Agents

List Requests

#### Allowed for * End Users

Search Requests

Examples: * `GET /api/v2/requests/search.json?query=printer` * `GET /api/v2/requests/search.json?query=printer&organization_id=1` * `GET /api/v2/requests/search.json?query=printer&cc_id=true` * `GET /api/v2/requests/search.json?query=printer&status=hold,open` #### Pagination * Offset pagination only See [Using Offset Pagination](/api-reference/ticketing/introduction/#using-offset-pagination). #### Results limit The Search Requests endpoint returns up to 1,000 results per query, with a maximum of 100 results per page. See [Pagination](/api-reference/ticketing/introduction/#pagination). If you request a page past the limit (`page=11` at 100 results per page), a 422 Insufficient Resource Error is returned. #### Allowed For * End Users

Show Request

#### Sideloads The following sideloads are supported: | Name | Will sideload | ---------------- | ------------- | users | The email ccs for a request by side-loading users #### Allowed For * End Users

Update Request

Updates a request with a comment or collaborators (cc's). The end user who created the request can also use it to mark the request as solved. The endpoint can't be used to update other request attributes. #### Writable properties This endpoint can only update the following properties in the request. | Name | Type | Required | Description | | ------------------------ | ------- | -------- | ---------------------------------------------------- | | comment | object | no | Adds a comment to the request. See [Request comments](#request-comments) | | solved | boolean | no | Marks the request as solved. Example: `{"request": {"solved": "true"}}` | | additional_collaborators | array | no | Adds collaborators to the request. An email notification is sent to them when the ticket is updated. See [Adding collaborators](/documentation/ticketing/managing-tickets/creating-and-managing-requests#adding-collaborators) | #### Allowed For * End users

Show Satisfaction Rating

Returns a specific satisfaction rating. You can get the id from the [List Satisfaction Ratings](#list-satisfaction-ratings) endpoint. #### Allowed For * Admins

Show Reason for Satisfaction Rating

#### Allowed For * Admins

List Search Results

Use the ampersand character (&) to append the `sort_by` or `sort_order` parameters to the URL. For examples, see [Searching with Zendesk API](/documentation/ticketing/using-the-zendesk-api/searching-with-the-zendesk-api). #### Pagination * Offset pagination only Offset pagination may result in duplicate results when paging. You can also use the [Export Search Results](/api-reference/ticketing/ticket-management/search/#export-search-results) endpoint, which uses cursor-based pagination and doesn't return duplicate results. See [Pagination](/api-reference/introduction/pagination/) for more information. #### Allowed For * Admins, Agents and Light Agents #### Errors JSON Format Errors are represented as JSON objects which have the following keys: | Name | Type | Comment | --------------------- | ---------------------| -------------------- | error | string | The type of error. Examples: "unavailable", "invalid" | description | string | ##### Example Error ```js { "error": "unavailable", "description": "Sorry, we could not complete your search query. Please try again in a moment." } ```

Show Results Count

Returns the number of items matching the query rather than the items. The search string works the same as a regular search.

Search Tags

Returns an array of registered and recent tag names that start with the characters specified in the `name` query parameter. You must specify at least 2 characters. #### Pagination * Offset pagination only See [Using Offset Pagination](/api-reference/ticketing/introduction/#using-offset-pagination). #### Allowed For * Agents

List Ticket Fields

Returns a list of all system and custom ticket fields in your account. Cursor pagination returns a maximum of 100 records per page and fields are returned in the order specified by their id. If the results are not paginated every field is returned in the response and fields are returned in the order specified by the position and id. For accounts without access to multiple ticket forms, positions can be changed using the [Update Ticket Field](/api-reference/ticketing/tickets/ticket_fields/#update-ticket-field) endpoint or the Ticket Forms page in Zendesk Support (**Admin** > **Manage** > **Ticket Forms**). The Ticket Forms page shows the fields for the account. The order of the fields is used in the different products to show the field values in the tickets. For accounts with access to multiple ticket forms, positions can only be changed using the [Update Ticket Field](/api-reference/ticketing/tickets/ticket_fields/#update-ticket-field) endpoint because products use the order defined on each form to show the field values instead of the general position of the ticket field in the account. Consider caching this resource to use with the [Tickets](/api-reference/ticketing/tickets/tickets/#json-format) API. #### Pagination - Cursor pagination (recommended) - No pagination See [Pagination](/api-reference/introduction/pagination/). #### Allowed For * Agents

Show Ticket Field

#### Allowed for * Agents

Update Ticket Field

#### Updating drop-down field options You can also use the update endpoint to add, update, or remove options in a drop-down custom field. Updating field options for multi-select fields works exactly the same as drop-down field options. **Important**: Unless you want to remove some options, you must specify all existing options in any update request. Omitting an option removes it from the drop-down field, which removes its values from any tickets or macros. Use the `custom_field_options` attribute to update the options. The attribute consists of an array of option objects, with each object consisting of a `name` and `value` property. The properties correspond to the "Title" and "Tag" text boxes in the admin interface. Example request body: ```json {"ticket_field": { "custom_field_options": [ {"name": "Apple Pie", "value": "apple"}, {"name": "Pecan Pie", "value": "pecan"} ] } } ``` #### Example Request ```bash curl https://{subdomain}.zendesk.com/api/v2/ticket_fields/{id}.json \ -d '{"ticket_field": {"custom_field_options": [{"name": "Apple Pie", "value": "apple"}, {"name": "Pecan Pie", "value": "pecan"}]}}' \ -H "Content-Type: application/json" -X PUT \ -v -u {email_address}:{password} ``` #### Example Response ```http Status: 200 OK { "ticket_field": { "id":21938362, "type":"tagger", "title":"Pies", ... "custom_field_options": [ { "id":21029772, "name":"Apple Pie", "raw_name":"Apple Pie", "value":"apple", "default":false }, ... ] } } ``` #### Allowed for * Admins

Delete Ticket Field

#### Allowed for * Admins

Show Ticket Metrics

Returns a specific metric, or the metrics of a specific ticket. #### Pagination - Cursor pagination (recommended) - Offset pagination See [Pagination](/api-reference/introduction/pagination/). Returns a maximum of 100 records per page. #### Allowed For * Agents

List Tickets

List Tickets

List Collaborators for a Ticket

#### Allowed For * Agents

List Email CCs for a Ticket

Returns any users cc'd on the ticket. #### Availability The [CCs and Followers](https://support.zendesk.com/hc/en-us/articles/203690846) feature must be enabled in Zendesk Support. If the feature is not enabled, the default CC functionality is used. In that case, use [List Collaborators](/api-reference/ticketing/tickets/tickets/#list-collaborators-for-a-ticket) to list the users cc'ed on the ticket. #### Allowed For * Agents

List Followers for a Ticket

Returns any users who follow the ticket. #### Availability The [CCs and Followers](https://support.zendesk.com/hc/en-us/articles/203690846) feature must be enabled in Zendesk Support. #### Allowed For * Agents

List Ticket Incidents

#### Allowed For * Agents

Mark Ticket as Spam and Suspend Requester

#### Allowed For * Agents

Merge Tickets into Target Ticket

Merges one or more tickets into the ticket with the specified id. See [Merging tickets](https://support.zendesk.com/hc/en-us/articles/203690916) in the Support Help Center for ticket merging rules. Any attachment to the source ticket is copied to the target ticket. This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#show-job-status) endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See [Job limit](/api-reference/introduction/rate-limits/#job-limit) for more information. #### Allowed For * Agents Agents in the Enterprise account must have merge permissions. See [Creating custom roles and assigning agents (Enterprise)](https://support.zendesk.com/hc/en-us/articles/203662026) in the Support Help Center. #### Available parameters The request takes a data object with the following properties: | Name | Type | Required | Comments | | ------------------------ | ------- | -------- | ------------------------------------------------------- | | ids | array | yes | Ids of tickets to merge into the target ticket | | target_comment | string | no | Private comment to add to the target ticket. This comment is optional but strongly recommended | | source_comment | string | no | Private comment to add to the source ticket. This comment is optional but strongly recommended | | target_comment_is_public | boolean | no | Whether comments in the target ticket are public or private | | source_comment_is_public | boolean | no | Whether comments in the source tickets are public or private | `target_comment` and `source_comment` can be used to provide a reason for the merge for recordkeeping purposes. If the source ticket has attachments, they are included in `target_comment`. Comments are private and can't be modified in the following cases: * Any of the sources or target tickets are private * Any of the sources or target tickets were created through Twitter, Facebook or the Channel framework In any other case, comments default to private but can be modified with the comment privacy parameters.

Create a Satisfaction Rating

Creates a CSAT rating for a solved ticket, or for a ticket that was previously solved and then reopened. Only the end user listed as the ticket requester can create a satisfaction rating for the ticket. #### Allowed For * End user who requested the ticket The end user must be a verified user.

Ticket Related Information

The request returns a data object with the following properties: | Name | Type | Comment | ------------------- | ------- | ------- | topic_id | string | Related topic in the Web portal (deprecated feature) | followup_source_ids | array | Sources to follow up | from_archive | boolean | Is true if the current ticket is archived | incidents | integer | A count of related incident occurrences | twitter | object | Twitter information associated with the ticket #### Allowed For * Agents

Show Ticket

Returns a number of ticket properties though not the ticket comments. To get the comments, use [List Comments](/api-reference/ticketing/tickets/ticket_comments/#list-comments) #### Allowed For * Agents

Update Ticket

Update Ticket

Delete Ticket

#### Allowed For * Admins * Agents with permission to delete tickets Agent delete permissions are set in Support. See [Deleting tickets](https://support.zendesk.com/hc/en-us/articles/203690936) in the Support Help Center. #### Ticket deletion rate limit You can delete 400 tickets every 1 minute using this endpoint. The rate limiting mechanism behaves as described in [Rate limits](/api-reference/introduction/rate-limits/) in the API introduction. Zendesk recommends that you obey the Retry-After header values. To delete many tickets, you may use [Bulk Delete Tickets](/api-reference/ticketing/tickets/tickets/#bulk-delete-tickets).

List Comments

Returns the comments added to the ticket. Each comment may include a `content_url` for an attachment or a `recording_url` for a voice comment that points to a file that may be hosted externally. For security reasons, take care not to inadvertently send Zendesk authentication credentials to third parties when attempting to access these files. See [Working with url properties](/documentation/ticketing/managing-tickets/working-with-url-properties). #### Pagination - Cursor pagination (recommended) - Offset pagination See [Pagination](/api-reference/introduction/pagination/). Returns a maximum of 100 records per page. #### Sorting By default, comments are sorted by creation date in ascending order. When using cursor pagination, use the following parameter to change the sort order: | Name | Type | Required | Comments | ------ | ------ | -------- | -------- | `sort` | string | no | Possible values are "created_at" (ascending order) or "-created_at" (descending order) When using offset pagination, use the following parameters to change the sort order: | Name | Type | Required | Comments | ------------ | ------ | -------- | -------- | `sort_order` | string | no | One of `asc`, `desc`. Defaults to `asc` #### Allowed For * Agents

Update Many Tickets

Accepts an array of up to 100 ticket objects, or a comma-separated list of up to 100 ticket ids.

Show Multiple Tickets

Accepts a comma-separated list of ticket ids to return. This endpoint will return up to 100 tickets records. #### Allowed For * Agents

Bulk Mark Tickets as Spam

Accepts a comma-separated list of up to 100 ticket ids. This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#show-job-status) endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See [Job limit](/api-reference/introduction/rate-limits/#job-limit) for more information. #### Allowed For * Agents

Bulk Delete Tickets

Accepts a comma-separated list of up to 100 ticket ids. #### Allowed For * Admins * Agents with permission to delete tickets Agent delete permissions are set in Support. See [Deleting tickets](https://support.zendesk.com/hc/en-us/articles/203690936) in the Support Help Center. This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#show-job-status) endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See [Job limit](/api-reference/introduction/rate-limits/#job-limit) for more information.

List deleted tickets

Returns a maximum of 100 deleted tickets per page. See [Pagination](/api-reference/introduction/pagination/). The results includes all deleted (and not yet archived) tickets that have not yet been [scrubbed](https://support.zendesk.com/hc/en-us/articles/4408845703194#topic_fv5_w51_sdb) in the past 30 days. Archived tickets are not included in the results. See [About archived tickets](https://support.zendesk.com/hc/en-us/articles/203657756) in the Support Help Center. The tickets are ordered chronologically by created date, from oldest to newest. The first ticket listed may not be the oldest ticket in your account due to [ticket archiving](https://support.zendesk.com/hc/en-us/articles/203657756). #### Pagination - Cursor pagination (recommended) - Offset pagination See [Pagination](/api-reference/introduction/pagination/). Returns a maximum of 100 records per page. #### Allowed For * Agents #### Rate Limit You can make 10 requests every 1 minute using this endpoint. When making requests beyond page 100, you can make 5 requests every 1 minute. The rate limiting mechanism behaves as described in [Monitoring your request activity](/api-reference/ticketing/account-configuration/usage_limits/#monitoring-your-request-activity) in the API introduction.

Delete ticket permanently

Permanently deletes a soft-deleted ticket. See [Soft delete](https://support.zendesk.com/hc/en-us/articles/4408834005530#topic_zrm_wbj_1db) in the Zendesk GDPR docs. To soft delete a ticket, use the [Delete Ticket](#delete-ticket) endpoint. This endpoint enqueues a ticket deletion job and returns a payload with the jobs status. If the job succeeds, the ticket is permanently deleted. This operation can't be undone. This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#show-job-status) endpoint to check for the job's completion. #### Allowed For * Agents

Restore a previously deleted ticket

#### Allowed For * Agents

List Users

#### Pagination * Cursor pagination (recommended) * Offset pagination See [Pagination](/api-reference/introduction/pagination/). Returns a maximum of 100 records per page. #### Allowed For * Admins, Agents and Light Agents

Show User

#### Allowed For * Agents

Update User

Update User

Delete User

Deletes the user and associated records from the account. **Warning**: Deleted users are not recoverable. To comply with GDPR, a further step is needed. See [Permanently Delete User](/api-reference/ticketing/users/users/#permanently-delete-user). #### Allowed For * Admins and [agents in custom roles with permission](https://support.zendesk.com/hc/en-us/articles/4408882153882#topic_cxn_hig_bd) to manage end users or team members

Search Users

Returns an array of users who meet the search criteria. #### Pagination * Offset pagination only See [Using Offset Pagination](/api-reference/ticketing/introduction/#using-offset-pagination). #### Allowed For * Admins, Agents and Light Agents
and 25 more

Generic HTTP Request

Every SaaS integration in Superblocks comes with a built in Generic HTTP Request Action. This is a powerful action you can use to call Zendesk API endpoints not in the Superblocks supported actions.

To use this action simply add the method, path, required query parameters, and body for the desired endpoint.

info

Learn more about REST requests in Superblocks in our Building REST requests guide.

Generic HTTP Requests use the authentication set up and base URL you've configured for your integration, making it an easy for your team to extend Superblocks Integrations to meet their needs.