Zendesk

Zendesk is award-winning customer service software trusted by 200K+ customers. Make customers happy via text, mobile, phone, email, live chat, social media.

Go to site
Explore
/
Apps
/
Zendesk

Zendesk API Integrations

Build and run workflows using the Zendesk API. Use 1000s of source-available triggers and actions across 2,000+ apps. Or write custom code to integrate any app or API in seconds.

Overview

The Zendesk API enables seamless integration of Zendesk's customer service platform with your existing business processes and third-party applications. By leveraging this API with Pipedream, you can automate ticket tracking, sync customer data, escalate issues, and streamline communication across multiple channels. This can significantly increase efficiency, accelerate response times, and enhance the overall customer experience. Automations can range from simple notifications to complex workflows involving data transformation and multi-step actions across various services.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    zendesk: {
      type: "app",
      app: "zendesk",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://${this.zendesk.$auth.subdomain}.zendesk.com/api/v2/users/me/`,
      headers: {
        Authorization: `Bearer ${this.zendesk.$auth.oauth_access_token}`,
      },
    })
  },
})

Choose an API to Connect with Zendesk API

1
-
24
of
2,000+
apps by most popular

HTTP / Webhook
HTTP / Webhook
Get a unique URL where you can send HTTP or webhook requests
Node
Node
Anything you can do with Node.js, you can do in a Pipedream workflow. This includes using most of npm's 400,000+ packages.
Python
Python
Anything you can do in Python can be done in a Pipedream Workflow. This includes using any of the 350,000+ PyPi packages available in your Python powered workflows.
OpenAI (ChatGPT)
OpenAI (ChatGPT)
OpenAI is an AI research and deployment company with the mission to ensure that artificial general intelligence benefits all of humanity. They are the makers of popular models like ChatGPT, DALL-E, and Whisper.
Premium
Salesforce (REST API)
Salesforce (REST API)
Web services API for interacting with Salesforce
Premium
HubSpot
HubSpot
HubSpot's CRM platform contains the marketing, sales, service, operations, and website-building software you need to grow your business.
Premium
Zoho CRM
Zoho CRM
Zoho CRM is an online Sales CRM software that manages your sales, marketing, and support in one CRM platform.
Premium
Stripe
Stripe
Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes.
Shopify Developer App
Shopify Developer App
Shopify is a user-friendly e-commerce platform that helps small businesses build an online store and sell online through one streamlined dashboard.
Premium
WooCommerce
WooCommerce
WooCommerce is the open-source ecommerce platform for WordPress.
Premium
Snowflake
Snowflake
A data warehouse built for the cloud
Premium
MongoDB
MongoDB
MongoDB is an open source NoSQL database management program.
Supabase
Supabase
Supabase is an open source Firebase alternative.
MySQL
MySQL
MySQL is an open-source relational database management system.
PostgreSQL
PostgreSQL
PostgreSQL is a free and open-source relational database management system emphasizing extensibility and SQL compliance.
Premium
AWS
AWS
Amazon Web Services (AWS) offers reliable, scalable, and inexpensive cloud computing services.
Premium
Twilio SendGrid
Twilio SendGrid
Send marketing and transactional email through the Twilio SendGrid platform with the Email API, proprietary mail transfer agent, and infrastructure for scalable delivery.
Amazon SES
Amazon SES
Amazon SES is a cloud-based email service provider that can integrate into any application for high volume email automation
Premium
Klaviyo
Klaviyo
Email Marketing and SMS Marketing Platform
Premium
Zendesk
Zendesk
Zendesk is award-winning customer service software trusted by 200K+ customers. Make customers happy via text, mobile, phone, email, live chat, social media.
Premium
ServiceNow
ServiceNow
The smarter way to workflow
Notion
Notion
Notion is a new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team.
Slack
Slack
Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.
Microsoft Teams
Microsoft Teams
Microsoft Teams has communities, events, chats, channels, meetings, storage, tasks, and calendars in one place.

Example Use Cases

Ticket Management Automation Automatically create Zendesk tickets from emails, chat messages, or form submissions captured in other apps like Gmail or Slack. Use Pipedream to parse the incoming information and create a ticket in Zendesk with the appropriate tags, priorities, and assignments.

Customer Feedback Loop After a ticket is resolved, trigger a workflow to send a follow-up survey using a platform like Typeform. Record responses back in Zendesk to ensure customer feedback influences service quality. An automated workflow could tag the ticket with the feedback score or add notes for support agents.

Real-Time Notifications for Critical Issues Set up a Pipedream workflow that monitors Zendesk for tickets with 'Urgent' priority or specific keywords and sends instant notifications to a dedicated Slack channel or via SMS through Twilio. This ensures that critical issues are promptly addressed by support teams.

Getting Started

First, log in to your Pipedream workspace, then connect Zendesk either through a step or trigger in a workflow, or directly from the Connected Accounts page in Pipedream.

You'll first be prompted to enter your Zendesk subdomain. You can find this in the URL after logging into Zendesk.

The subdomain is the portion of the URL before zendesk.com.

For example, if the subdomain is pipedream1903, that's what you would enter in Pipedream.

Example of finding the Zendesk subdomain from the URL while logged into Zendesk

Next, you'll be prompted to connect your Zendesk account. Zendesk will ask if you'd like to grant Pipedream permission to perform actions on your account; accept these permissions to continue.

And that's it! You can now automate Zendesk actions from within Pipedream workflows.

CoinMarketCap ID Map with CoinMarketCap API on Ticket Pended (Instant) from Zendesk API
Zendesk + CoinMarketCap
 
Try it
Run Python Code with Python API on New Ticket (Instant) from Zendesk API
Zendesk + Python
 
Try it
Send Email With Template with Postmark API on Ticket Closed (Instant) from Zendesk API
Zendesk + Postmark
 
Try it
[Data] Parse JSON with Formatting API on New Ticket (Instant) from Zendesk API
Zendesk + Formatting
 
Try it
Add Emoji Reaction with Slack API on Ticket Updated (Instant) from Zendesk API
Zendesk + Slack
 
Try it
New Ticket (Instant) from the Zendesk API

Emit new event when a ticket is created

 
Try it
New Ticket Added to View (Instant) from the Zendesk API

Emit new event when a ticket is added to the specified view

 
Try it
Ticket Closed (Instant) from the Zendesk API

Emit new event when a ticket has changed to closed status

 
Try it
Ticket Pending (Instant) from the Zendesk API

Emit new event when a ticket has changed to pending status

 
Try it
Ticket Solved (Instant) from the Zendesk API

Emit new event when a ticket has changed to solved status

 
Try it
Create Ticket with the Zendesk API

Creates a ticket. See the documentation.

 
Try it
Delete Ticket with the Zendesk API

Deletes a ticket. See the documentation.

 
Try it
Update Ticket with the Zendesk API

Updates a ticket. See the documentation.

 
Try it

Troubleshooting

Status Codes

Responses may have the status codes described in the following sections.

200 range

The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.

400 range

The request was not successful. The content type of the response may be text/plain for API-level error messages such as trying to call the API without SSL. The content type is application/json for business-level error messages because the response includes a JSON object with information about the error:

{
  "details": {
    "value": [
      {
        "type": "blank",
        "description": "can't be blank"
      },
      {
        "type": "invalid",
        "description": " is not properly formatted"
      }
    ]
  },
  "description": "RecordValidation errors",
  "error": "RecordInvalid"
}

If you see a response from a known endpoint that looks like plain text, you probably made a syntax error in your request. This type of response commonly occurs when making a request to a nonexistent Zendesk Support instance.

403

A 403 response means the server has determined the user or the account doesn’t have the required permissions to use the API.

409

A 409 response indicates a conflict with the resource you're trying to create or update.

409 errors typically occur when two or more requests try to create or change the same resource simultaneously. While Zendesk APIs can handle concurrent requests, requests shouldn't change the same resource at the same time. To avoid 409 errors, serialize requests when possible. If you receive a 409 error, you can retry your request after resolving the conflict.

The Zendesk Ticketing API provides specific parameters to prevent conflicts when updating tickets. For more information, see Protecting against ticket update collisions.

422 Unprocessable Entity

A 422 response means that the content type and the syntax of the request entity are correct, but the content itself is not processable by the server. This is usually due to the request entity not being relevant to the resource that it's trying to create or update. Example: Trying to close a ticket that's already closed.

429

A 429 error indicates that a usage limit has been exceeded. See the Zendesk Rate limits.

500 range

If you ever experience responses with status codes in the 500 range, the Zendesk API may be experiencing internal issues or having a scheduled maintenance during which you might receive a 503 Service Unavailable status code.

A 503 response with a Retry-After header indicates a database timeout or deadlock. You can retry your request after the number of seconds specified in the Retry-After header.

If the 503 response doesn't have a Retry-After header, Zendesk Support may be experiencing internal issues or undergoing scheduled maintenance. In such cases, check @zendeskops and our status page for any known issues.

When building an API client, we recommend treating any 500 status codes as a warning or temporary state. However, if the status persists and if Zendesk doesn't have a publicly announced maintenance or service disruption, contact the Zendesk Customer Support.

If submitting a ticket to Zendesk, provide the X-Zendesk-Request-Id header included in the HTTP response. This helps the Support team track down the request in the logs more quickly.

Authentication

Zendesk uses OAuth authentication. When you connect your Zendesk account, Pipedream will open a popup window where you can sign into Zendesk and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Zendesk API.

Pipedream requests the following authorization scopes when you connect your account:

triggers:writewebhooks:writereadtickets:writetickets:readusers:writeorganizations:readorganizations:write
OAuth Request Configurations:
  1. authorization
    GEThttps://{{custom_fields.subdomain}}.zendesk.com/oauth/authorizations/new?client_id={{oauth.client_id}}&redirect_uri={{oauth.redirect_uri}}&state={{oauth.state}}&response_type=code&scope={{oauth.space_separated_scopes}}
  2. accessToken
    POSThttps://{{custom_fields.subdomain}}.zendesk.com/oauth/tokenscontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{oauth.client_id}}&client_secret={{oauth.client_secret}}&redirect_uri={{oauth.redirect_uri}}&grant_type=authorization_code&code={{oauth.code}}