Zendesk Integration Guide for DSR Automation
Overview
This guide walks you through integrating Zendesk with TrustWorks.io to automate Data Subject Requests for access and erasure, helping your organization meet GDPR obligations.
The integration enables you to automatically locate and process personal data within Zendesk, such as user profiles, tickets, and comments, based on configurable workflows in TrustWorks.
Table of Contents
- Prerequisites
- Generate Zendesk API Credentials
- Configure Zendesk Integration in TrustWorks
- Link Integration to Zendesk Asset
- Build a DSR Workflow
- Example Access Request Automation
- Authentication Reference
- Testing & Validation
- Troubleshooting
- Best Practices
- Support
1. Prerequisites
Before you begin, ensure the following:
- Zendesk admin account with API access enabled
- Zendesk API token (generated in Admin Center)
- TrustWorks admin access to configure integrations and workflows
- A test user email in Zendesk (to simulate DSRs safely)
2. Generate Zendesk API Credentials
- Log in to your Zendesk account as an administrator.
Navigate to:
Admin Center → Apps and Integrations → APIs → API Configuration
- Ensure Token Access is enabled.
- Go to API Tokens → Click Add API Token.
- Copy the token and securely store it
- Take note of the admin email address used to create the token.
- Format your API auth string as:
your_email/token:your_api_token
- Base64 encode that string as we’ll need it for authorisation later
⚠️ Important: Keep your API token safe. Do not expose it in code repositories or public channels.
3. Configure Zendesk Integration in TrustWorks
In TrustWorks, go to:
Settings → Integrations
- Click Add Integration.
- Select Generic as the integration type. (Zendesk-specific integration does not currently support DSR automation.)
- Fill in the following details:
- Click Test Connection to verify credentials.
Field | Value / Example |
---|---|
Integration Name | Zendesk DSR API |
Authentication | API Key |
Request Type | GET (default) |
Endpoint | https://yourcompany.zendesk.com/api/v2/users |
API Token | Paste your Zendesk API token |
Authorization Header | Basic {{api_key}} |
✅ If successful, your Zendesk instance is now linked to TrustWorks. ⚠️ Remember, your api_key needs to be base64 encoded
4. Link Integration to Zendesk Asset
In TrustWorks, navigate to:
Assets → Zendesk
- Under Data Mapping, find the Automation dropdown.
- Select the newly created Zendesk integration.
This enables the workflow engine to use this integration for Zendesk-related DSR actions.
5. Build a DSR Workflow
Go to:
Workflows → New Workflow
Choose Data Subject Request as the workflow type.
Specify:
- DSR Type:
Access
orErasure
Subject Type: e.g.,
Customer
,Candidate
,Employee
Add and configure actions such as:
- Access Data
- Erase Data
- Trigger Email/Alert
- DSR Type:
🛠 Each organization’s workflow logic should align with its own privacy requirements and internal policies.
6. Example Access Request Automation
This example outlines how to automate a DSR access request in Zendesk:
⚠️ Disclaimer
This is a basic illustrative example. Customers must design their own workflows according to their specific data structures, privacy obligations, and internal processes.
Step 1 – Trigger the Workflow
You can trigger this workflow via:
- The TrustWorks DSR Widget on your website
- A manual event trigger inside TrustWorks
Step 2 – Add “Access Data” Action
- Choose the Zendesk asset
- Click Configure Integration
Step 3 – Find User by Email
Field | Value |
---|---|
Endpoint | https://yourcompany.zendesk.com/api/v2/users/search |
Method | GET |
Query Parameter | query: {{dsr.email}} |
Authorization | Basic Auth with base64-encoded admin_email/token:api_token |
Store Response As | FindUser |
Step 4 – Store User ID
Extract and store the Zendesk user ID from the previous step, so you can use it in later API calls:
- Variable:
{{FindUser.users[0].id}}
- Save As Subject Attribute: e.g.
Zendesk_User_ID
Step 5 – List User Tickets
Field | Value |
---|---|
Endpoint | https://YOUR_SUBDOMAIN.zendesk.com/api/v2/users/{{dsr.Zendesk_User_ID}}/tickets/requested |
Method | GET |
Store Response As | ListTickets |
Step 6 – Store Ticket IDs
Extract ticket IDs for reporting or follow-up deletion:
- Variable:
{{ListTickets.tickets | map(attribute='id') | join(',')}}
- Save As Subject Attribute: e.g.
Zendesk_Tickets_IDs
🧯 For erasure requests, follow similar steps, replacing the ‘Access Data’ action with ‘Erase Data’, and configure the following DELETE calls:
https://yourcompany.zendesk.com/api/v2/tickets/destroy_many
(Deletes multiple user tickets by passing their IDs in the request body)
https://yourcompany.zendesk.com/api/v2/users/{{dsr.Zendesk_User_ID}}
(Deletes the Zendesk user profile)
7. Authentication Reference
Basic Authentication Format
admin_email/token:api_token
Encoding Instructions (CLI)
To base64-encode:
echo -n 'admin@example.com/token:your_api_token' | base64
Use the output as the API key in TrustWorks under {{api_key}}
.
8. Testing & Validation
Before deploying your workflow, verify that it's functioning as expected.
1. Activate the Workflow
- Navigate to
Workflows
in TrustWorks Ensure the workflow is enabled
(Inactive workflows will not respond to triggers)
2. Trigger According to Workflow Type
Depending on how you configured your workflow:
Widget-Based Trigger
- Submit the DSR form (widget) using a test Zendesk user email.
Event-Based Trigger
- If set to trigger when a DSR is created:
- Go to Subject Requests
- Click New Request
- Submit a request using a test email
3. Monitor Execution in TrustWorks
After triggering the request:
- Open the DSR request under Subject Requests
- Go to the Execution Details tab
- Choose between List View or Flow View
You’ll see:
- Each action in the workflow
- Execution status (e.g., Completed)
Associated automation metadata
Click the ‘Eye’ Icon under actions
- View the raw JSON requests and responses
- Validate that data was retrieved or deleted as expected
- Troubleshoot with precise API payload visibility
9. Troubleshooting
Issue | Solution |
---|---|
403 Forbidden / Invalid Auth | Ensure token is valid and belongs to an admin with API access |
Empty Search Results | Double-check that the user exists in Zendesk and email is correct |
Test Connection Fails | Verify endpoint URL, token syntax, and header format |
Unrecognized Ticket Format | Make sure the ticket object exists and conforms to Zendesk API specs |
10. Best Practices
- Test in a sandbox environment using mock user data
- Document your process for internal audits and training
- Secure your credentials in an environment variable or secrets manager
11. Support
If you encounter issues or need implementation support:
- Contact TrustWork’s support team support@trustworks.io
- Zendesk API Docs: developer.zendesk.com
Summary
By integrating TrustWorks with Zendesk, your organization can:
- Automate access and erasure requests for customer data
- Reduce the manual workload on support and compliance teams
- Maintain a defensible audit trail for regulators and internal stakeholders
- Deliver faster, more consistent responses to end-user privacy requests
TrustWorks + Zendesk Integration Guide for DSR Automation