Zendesk
Version
This integration utilizes the Zendesk REST API v2.
Base URL
The base URL used for all Zendesk API endpoints contains the Account Subdomain:https://subdomain.zendesk.com/api/v2
Authentication & Authorization
The DataGrail Zendesk integration connects using OAuth 2.0.
Scopes
The Zendesk integration requires specific scopes that must be granted in order to function for a given capability.
Scope | Access | Deletion | Data Discovery | System Detection |
---|---|---|---|---|
read | ✅ | ✅ | ✅ | ✅ |
users:write | ✅ | |||
tickets:write | ✅ |
Endpoints Utilized
DataGrail uses the following endpoints to authorize and test the connection:
Method | Endpoint | Purpose | Docs |
---|---|---|---|
GET | /oauth/authorizations/new | Request authorization | |
POST | /oauth/tokens | Get and refresh access token | |
GET | /users | Validate successful connection |
Limits
Limits in Zendesk are calculated using the leaky
bucket algorithm. All requests that are made after rate limits have been
exceeded are throttled and an HTTP 429 Too Many Requests
error is returned.
Requests succeed again after enough requests have emptied out of the bucket.
- DataGrail supports requests throttling to stay within 70-80% of specified service rate limits.
- DataGrail processes API responses with HTTP 429 status to interrupt requests, waiting and retrying (using an exponential backoff strategy).
Capabilities
Access
DataGrail's Zendesk integration provides Synchronous Access capabilities for the following supported identifier category: Email.Data Interactions
For Access requests, DataGrail will take the following actions:
- Search Users by the Data Subject email, which can include End Users (i.e. people external to your company) or Agents (i.e. employees of your company).
- If a match is found, DataGrail will extract all objects related to the user, including the following:
Match Found
- Identities: A user identity is something that can be used to identify an individual. Most likely, it's an email address, a Twitter handle, or a phone number.
- Tickets: Tickets are the means through which your end users communicate with agents in Zendesk.
- Requests: A request is an end user's perspective on a ticket.
- Organizations: End user segmentation.
- If Ticket audits metadata is enabled, DataGrail will take the following actions:
- Fetch audit history of all updates to each of detected tickets.
- Save audit metadata, such as IP, client, location as an additional data object.
Endpoints Utilized
Deletion
DataGrail's Zendesk integration provides Asynchronous (Whole Record) Deletion capabilities for the following supported identifier category: Email.Data Interactions
For Deletion requests, DataGrail will take the following actions:
- Search End Users and Agents by the Data Subject email.
- If a User is found, fetch tickets requested by that user.
- If Tickets are found, request bulk ticket deletion and save the Job ID.
- DataGrail will check the job status until the ticket deletion is complete.
- Once tickets are deleted, DataGrail will permanently delete the User and associated records.
Endpoints Utilized
System Detection
DataGrail provides continuous system detection, delivering a real-time inventory of your data assets.Data Interactions
DataGrail's System Detection process runs once daily and performs the following actions:
- Read app installations in the account
- Read user fields
- Read organization fields
Endpoints Utilized
Method | Endpoint | Purpose | Docs |
---|---|---|---|
GET | /apps/installations | Read app installations | |
GET | /organization_fields | Read organization fields | |
GET | /user_fields | Read user fields |
Data Discovery
DataGrail's Zendesk integration provides data discovery capabilities based on the principle of finding any and all personal data that's stored in a data system.Data Interactions
DataGrail currently supports data discovery on Zendesk Tickets and Users, and will take the following actions:
- Count number of all records for each supported object.
- Fetch example records for each supported object.
- Sample data for analysis and classification.
Endpoints Utilized
Method | Endpoint | Purpose | Docs |
---|---|---|---|
GET | /tickets | Fetch ticket records | |
GET | /tickets/count | Count number of ticket records | |
GET | /users | Fetch user records | |
GET | /users/count | Count number of user records |
Disclaimer: The information contained in this message does not constitute as legal advice. We would advise seeking professional counsel before acting on or interpreting any material.