Zendesk-connector
Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.
Illustratie · voorbeelddata
Voorbeeld van synchronisatie
Bron
Zendesk
Connectorstatus: Gepland
Bestemming
Je andere tool
Connectorstatus: Eigen tool
Veldtoewijzing
| Bronveld | Doelveld | Voorbeeldwaarde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Opstellen
- Eén record controleren
- Deze versie goedkeuren
Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.
Verbind je Zendesk Support-instantie met Brevo via Tajo voor geünificeerde klantsupportdata, ticketgebaseerde segmentatie, tevredenheidsscores en supportgetriggerde marketingautomatisering.
Overzicht
| Eigenschap | Waarde |
|---|---|
| Platform | Zendesk |
| Categorie | Support |
| Setupcomplexiteit | Gemiddeld |
| Officiële integratie | Nee |
| Gesynchroniseerde data | Tickets, Gebruikers, Organisaties, Events |
| API base URL | https://{subdomain}.zendesk.com/api/v2 |
Functies
- Gebruikerssynchronisatie - Synchroniseer Zendesk-eindgebruikers en -agents met Brevo-contacten
- Tickettracking - Synchroniseer ticketdata voor support-bewuste marketingsegmentatie
- Organisatiekoppeling - Koppel contacten aan organisaties voor B2B-workflows
- Tevredenheidsscores - Synchroniseer CSAT- en NPS-data naar Brevo-attributen
- Ticket-events - Volg ticket-aanmaak, -oplossing en -escalatie voor automation-triggers
- Helpcenterintegratie - Volg artikelweergaven en zoekgedrag
- Multi-channel-support - Synchroniseer data uit e-mail-, chat-, voice- en messagingkanalen
- Custom velden - Koppel Zendesk-customticket- en gebruikersvelden aan Brevo
Vereisten
Voordat je begint, zorg dat je beschikt over:
- Een Zendesk Support-account (Team, Professional of Enterprise)
- Admin-toegang tot je Zendesk-instantie
- API-token of OAuth-app geconfigureerd
- Een Brevo-account met API-toegang
- Een Tajo-account
Authenticatie
API-token-authenticatie
Gebruik e-mail/token-authenticatie voor een snelle setup.
curl https://{subdomain}.zendesk.com/api/v2/users.json \ -u {email}/token:{api_token} \ -H "Content-Type: application/json"Genereer een API-token via Zendesk Admin > Apps and Integrations > APIs > Zendesk API.
OAuth 2.0
Gebruik OAuth voor multi-instantie-integraties met gedelegeerde gebruikerstoegang.
# Authorization URLhttps://{subdomain}.zendesk.com/oauth/authorizations/new? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}& scope=read%20writeVereiste scopes
read # Read access to all resourceswrite # Write access to all resourcestickets:read # Read tickets (granular)users:read # Read users (granular)organizations:read # Read organizations (granular)Configuratie
Basisopzet
connectors: zendesk: enabled: true subdomain: "yourcompany" auth: api_token: "${ZENDESK_API_TOKEN}"
# Data sync options sync: users: true tickets: true organizations: true satisfaction_ratings: true
# Brevo list assignment lists: all_customers: 30 active_tickets: 31 satisfied_customers: 32Veldmapping
Koppel Zendesk-gebruikersvelden aan Brevo-contactattributen:
Standaard-mappings
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailadres gebruiker (unieke identifier) |
name optional | string | Volledige naam, opgesplitst in FIRSTNAME/LASTNAME |
phone optional | string | Koppelt aan SMS-attribuut voor WhatsApp/sms |
organization_id optional | integer | Gekoppelde organisatie voor B2B-mapping |
role optional | string | Gebruikersrol (end-user, agent, admin) |
tags optional | array | Gebruikerstags uit Zendesk |
ticket_restriction optional | string | Toegangsniveau tickets |
custom_fields optional | object | Waarden van custom user fields |
Custom veldmapping
field_mapping: # Standard fields email: email name: FULLNAME phone: SMS
# Support metrics open_tickets: OPEN_TICKETS total_tickets: TOTAL_TICKETS avg_satisfaction: CSAT_SCORE last_ticket_date: LAST_SUPPORT_DATE
# Organization fields organization.name: COMPANY_NAME organization.tags: COMPANY_TAGS
# Custom fields user_fields.customer_type: CUSTOMER_TYPE user_fields.account_tier: ACCOUNT_TIERAPI-endpoints
Ticketing API
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /api/v2/tickets | Tickets opvragen |
POST | /api/v2/tickets | Ticket aanmaken |
PUT | /api/v2/tickets/{id} | Ticket bijwerken |
GET | /api/v2/tickets/{id} | Ticket tonen |
GET | /api/v2/search.json?query={query} | Tickets zoeken |
Users API
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /api/v2/users | Gebruikers opvragen |
POST | /api/v2/users | Gebruiker aanmaken |
PUT | /api/v2/users/{id} | Gebruiker bijwerken |
GET | /api/v2/users/{id} | Gebruiker tonen |
GET | /api/v2/users/search.json?query={query} | Gebruikers zoeken |
Organizations API
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /api/v2/organizations | Organisaties opvragen |
POST | /api/v2/organizations | Organisatie aanmaken |
GET | /api/v2/organizations/{id}/users | Organisatieleden opvragen |
Satisfaction Ratings API
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /api/v2/satisfaction_ratings | Tevredenheidsratings opvragen |
GET | /api/v2/satisfaction_ratings/{id} | Rating tonen |
Events
Ticket-events
| Event | Trigger | Use case |
|---|---|---|
ticket.created | Nieuwe ticket ingediend | Support-bevestiging |
ticket.updated | Ticketstatus gewijzigd | Statusnotificatie |
ticket.solved | Ticket gemarkeerd als opgelost | CSAT-survey-trigger |
ticket.reopened | Opgeloste ticket heropend | Escalatiealert |
User-events
| Event | Trigger | Use case |
|---|---|---|
user.created | Nieuwe gebruiker geregistreerd | Welcome-to-support |
user.updated | Gebruikersprofiel gewijzigd | Attribuutsync |
user.merged | Gebruikers samengevoegd | Deduplicatie |
Satisfaction-events
| Event | Trigger | Use case |
|---|---|---|
satisfaction_rating.created | CSAT ingediend | Feedbackverwerking |
satisfaction_rating.bad | Negatieve rating | Recovery-outreach |
satisfaction_rating.good | Positieve rating | Advocacy-campagnes |
Codevoorbeelden
Connector initialiseren
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Zendeskawait tajo.connectors.connect('zendesk', { subdomain: 'yourcompany', apiToken: process.env.ZENDESK_API_TOKEN});Gebruikers en tickets synchroniseren
// Full sync of users and ticket dataawait tajo.connectors.sync('zendesk', { type: 'full', resources: ['users', 'tickets', 'organizations'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('zendesk');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// usersSynced: 8400,// ticketsSynced: 34200,// organizationsSynced: 1200// }Zendesk-webhooks afhandelen
app.post('/webhooks/zendesk', async (req, res) => { const signature = req.get('X-Zendesk-Webhook-Signature');
// Verify webhook signature if (!verifyZendeskSignature(req.body, signature)) { return res.status(401).send('Unauthorized'); }
await tajo.connectors.handleWebhook('zendesk', { type: req.body.type, ticketId: req.body.ticket_id, userId: req.body.user_id, payload: req.body });
res.status(200).send('OK');});Ratelimits
Zendesk-ratelimits variëren per plan:
| Plan | Ratelimit | Details |
|---|---|---|
| Team | 200 requests/minuut | Per API-token |
| Professional | 400 requests/minuut | Per API-token |
| Enterprise | 700 requests/minuut | Per API-token |
| High Volume Add-on | 2.500 requests/minuut | Per API-token |
Aanvullende limieten:
- Search API: 6 requests/minuut voor anoniem, 100/minuut voor geauthenticeerd
- Incremental exports: 10 requests/minuut
- Batch API: 100 records per batch-request
- Webhook-levering: Automatische retry met exponentiële backoff
Ratelimit-headers
Monitor de X-Rate-Limit-Remaining- en Retry-After-headers om je API-gebruik te beheren.
Probleemoplossing
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| 401 Unauthorized | Ongeldig API-token | Genereer token opnieuw in Zendesk-admin |
| 403 Forbidden | Onvoldoende rechten | Controleer de vereiste agent- of adminrol |
| Gebruiker niet gesynchroniseerd | Gebruiker is agent, geen end-user | Filter op rol in sync-configuratie |
| Webhook niet ontvangen | Trigger/target niet geconfigureerd | Stel een webhook-target in binnen Zendesk-admin |
| Search geeft leeg resultaat | Indexering-vertraging | Wacht 1-2 minuten op update van de zoekindex |
Debugmodus
Activeer uitgebreide logging:
connectors: zendesk: debug: true log_level: verbose log_webhooks: trueVerbinding testen
tajo connectors test zendesk# ✓ API connection successful# ✓ Users readable# ✓ Tickets readable# ✓ Organizations readable# ✓ Webhooks configuredBest practices
- Gebruik incremental exports - Gebruik de Incremental API voor grootschalige datasync
- Filter alleen op end-users - Sluit agents en admins uit van Brevo-contactsync
- Synchroniseer CSAT-data - Gebruik tevredenheidsscores voor klant-health-segmentatie
- Koppel organisaties - Benut organisatiedata voor B2B-marketingcampagnes
- Implementeer webhook-retries - Verwerk tijdelijke storingen netjes
- Gebruik side-loading - Neem gerelateerde records op in API-responses om het aantal requests te beperken
Beveiliging
- API-token-authenticatie - Tokengebaseerde toegang gekoppeld aan admin-e-mail
- OAuth 2.0 - Tokengebaseerde gedelegeerde toegang met scope-controls
- Webhook-signing - HMAC-signatureverificatie voor webhook-payloads
- TLS-encryptie - Alle API-communicatie versleuteld via HTTPS
- IP-whitelisting - Beperk API-toegang op IP-range