Import from Zendesk
Pull tickets, comments and requesters out of Zendesk and into conversations.
The Zendesk importer pulls tickets, their comments and their requesters. Each ticket becomes a conversation, each comment a part, and each requester a contact. The API token is sealed at rest with AES-256-GCM under FIKADESK_IMPORT_SECRET before the run row exists, so the plaintext never touches the database.
Connection settings
subdomainis the bare prefix of your instance URL,acmeforacme.zendesk.com.emailis the agent account the token belongs to.tokenis a Zendesk API token, sent separately so it can be sealed.
Run it
Test the connection first with POST /api/imports/zendesk/test, which hits the ticket-count endpoint so a bad subdomain or token shows up in the wizard rather than after the job is enqueued. Then start a run:
curl -X POST http://127.0.0.1/api/imports/runs \
-H 'content-type: application/json' \
-H 'authorization: Bearer fk_<key>' \
-d '{"source":"zendesk","config":{"subdomain":"acme","email":"[email protected]"},"token":"<api token>"}'How tickets map
| Zendesk | fikadesk |
|---|---|
| ticket | conversation |
| comment | conversation part |
| requester | contact |
status solved or closed | closed conversation |
status new, open, pending, hold | open conversation |
priority low/normal/high/urgent | priority none/low/medium/high/urgent |
Poll GET /api/imports/runs/{id} for progress. The run reports processed, created, updated and failed counts, with the first hundred row errors kept for you to read.
Note
Hosted-source imports need FIKADESK_IMPORT_SECRET set. Without it the CSV importer still works, but no Zendesk, Intercom or Chatwoot source can be created or run.