Zendesk Webhooks to an Internal Ticket Enrichment Service Using Skooh
Enrich Zendesk tickets with customer data from your internal database and update tickets via the API.
Use Case
When a support ticket arrives in Zendesk, you want to automatically enrich it with:
- Customer tier (free/pro/enterprise)
- Account health score
- Recent orders
- Known issues
This context helps agents resolve tickets faster.
Architecture
Zendesk → Skooh → Your Enrichment Service → Zendesk API
↓
Internal Customer DB
Setup
1. Create Skooh Endpoint
Create "Zendesk Enrichment" in Skooh.
2. Run the Skooh Proxy
Using the Desktop App:
- Download the Skooh Desktop App
- Enter your API key and hook token
- Set forwarding URL (e.g., `http://localhost:3000/webhooks/zendesk\`)
- Click Connect
Using Docker:
docker run -d \\
--name skooh-zendesk \\
-e SKOOH_TOKEN=zendesk-enrich \\
-e SKOOH_API_KEY=your_api_key \\
-e FORWARD_URL=http://enrichment-service:3000/webhooks/zendesk \\
--restart unless-stopped \\
skooh/proxy
3. Configure Zendesk Webhook
Note: See Zendesk's Webhook documentation for current setup instructions.
In Zendesk Admin Center:
- Go to Apps and integrations → Webhooks
- Create webhook with your Skooh URL
- Create a trigger that fires the webhook on ticket creation
The Enrichment Handler
const zendesk = require('node-zendesk');
const zendeskClient = zendesk.createClient({
username: process.env.ZENDESK_USERNAME,
token: process.env.ZENDESK_TOKEN,
remoteUri: \`https://\${process.env.ZENDESK_SUBDOMAIN}.zendesk.com/api/v2\
Written by Skooh Team