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

  1. Prerequisites
  2. Generate Zendesk API Credentials
  3. Configure Zendesk Integration in TrustWorks
  4. Link Integration to Zendesk Asset
  5. Build a DSR Workflow
  6. Example Access Request Automation
  7. Authentication Reference
  8. Testing & Validation
  9. Troubleshooting
  10. Best Practices
  11. 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

  1. Log in to your Zendesk account as an administrator.
  2. Navigate to:

    Admin Center → Apps and Integrations → APIs → API Configuration

  3. Ensure Token Access is enabled.
  4. Go to API Tokens → Click Add API Token.
  5. Copy the token and securely store it
  6. Take note of the admin email address used to create the token.
  7. Format your API auth string as:
your_email/token:your_api_token
  1. 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

  1. In TrustWorks, go to:

    Settings → Integrations

  2. Click Add Integration.
  3. Select Generic as the integration type. (Zendesk-specific integration does not currently support DSR automation.)
  4. Fill in the following details:
  5. 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


  1. In TrustWorks, navigate to:

    Assets → Zendesk

  2. Under Data Mapping, find the Automation dropdown.
  3. 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

  1. Go to:

    Workflows → New Workflow

  2. Choose Data Subject Request as the workflow type.

    Specify:

    • DSR Type: Access or Erasure
    • Subject Type: e.g., Customer , Candidate , Employee

      Add and configure actions such as:

    • Access Data
    • Erase Data
    • Trigger Email/Alert

🛠 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:

  1. Open the DSR request under Subject Requests
  2. Go to the Execution Details tab
  3. 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:


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

Still need help? Contact Us Contact Us