Zendesk to Azure Data Factory ETL Pipeline

Loading

In this blog post, we will be creating a data pipeline where Zendesk (Customer Support Tool) is used as the source in Azure Data Factory and the destination will be Azure Blob Storage.

Step by Step process

Step 1- Create an account in Zendesk

Step 2- Create some dummy tickets (if you don’t have)

Subject

Description (Conversation box)

Requester (Name & Email)

Type

Priority

Tags

Unable to login to account

The customer reports they are unable to log in since yesterday. Error: Invalid credentials.

John Doe (johndoe@example.com)

Problem

High

login_issue, urgent

Order not delivered

Customer reports that the order #112233 placed last week has not been delivered.

Alice Johnson (alice.j@example.com)

Incident

Normal

order, delivery

Step 3- Go to Admin center

Step 4- Go to Apps and Integration

  • Go to API configuration and Click on API token access
  • No click on API tokens and create API token
    • To generate the token, save first
    • 4geNbsJp78AUWnZUtHZXxTgGxIOU4Y6aF04B2qaL

Step 5- These are some Zendesk API endpoints

Endpoint

Purpose

GET /api/v2/tickets.json

List all tickets

GET /api/v2/tickets/{id}.json

Get details of a single ticket

GET /api/v2/users.json

List all users

GET /api/v2/users/{id}.json

Get details of a single user

GET /api/v2/organizations.json

List all organizations

GET /api/v2/organizations/{id}.json

Get details of an organization

GET /api/v2/search.json?query={query}

Search tickets, users, orgs, etc.

GET /api/v2/requests.json

List end-user requests (their view of tickets)

GET /api/v2/ticket_fields.json

List custom ticket fields

GET /api/v2/ticket_metrics.json

Get ticket metrics (response times, SLA, etc.)

GET /api/v2/satisfaction_ratings.json

List satisfaction ratings (CSAT)

GET /api/v2/views.json

List ticket views (saved filters)

GET /api/v2/groups.json

List groups of agents

GET /api/v2/macros.json

List macros (predefined actions)

GET /api/v2/triggers.json

List automation triggers

These are the POST endpoints available in Zendesk

Endpoint

Purpose

POST /api/v2/tickets.json

Create a new ticket

POST /api/v2/users.json

Create a new user

POST /api/v2/organizations.json

Create a new organization

POST /api/v2/requests.json

Create a new request (end-user side)

POST /api/v2/macros.json

Create a new macro

POST /api/v2/triggers.json

Create a new trigger rule

https://dataspoofhelp.zendesk.com/api/v2/tickets.json

Step 6- Create a Pipeline in Azure Data factory

  • Use Copy Data and click on Source
  • Search for Rest and create a rest service named as Zendesk
  • Click on New linked service
  • The Base URL is https://dataspoofhelp.zendesk.com/api/v2/tickets.json
  • Authentication Type is Basic
  • The username is abc@gmail.com/token
  • The password is your API token

Step 7- Now click on Preview data (if it is not working create another api key)

Step 8- configure the sink by creating a blob storage

Step 9- Do the Mapping for the columns

Step 10- Publish the pipeline and trigger it.

Conclusion

Setting up a Zendesk data pipeline in Azure Data Factory with Azure Blob Storage makes handling support data much simpler. It saves time, keeps your data accurate, and makes it easier to turn information into clear, actionable insights for better decisions.

Tell me in the comments if you have any problems regarding implementation, feel free to drop a comment, and I will reply within 24 hours.

If you like the article and would like to support me, make sure to: