Zendesk integration
In short
Search, create and update tickets, and look up users. Connect it on the Integrations page; your app then calls Zendesk through Sapilon without ever holding a Zendesk credential.
Lets your app search, read, create and update Zendesk Support tickets (including adding public replies and internal notes) and look up or create users, with an API token.
Connecting
On the Integrations page choose Connect on Zendesk and fill in:
- Subdomain — The part before .zendesk.com in your Zendesk address.
- Agent email — The agent the app acts as. Use a dedicated agent for anything long-lived.
- API token — Admin Center → Apps and integrations → Zendesk API → Settings → enable Token access → Add API token.
Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.
What your app can do
Only these requests are available; anything else is refused.
GET|POST /tickets.jsonGET|PUT /tickets/*GET /tickets/*/comments.jsonGET /search.jsonGET|POST /users.jsonGET /users/*
How the agent uses it
Use integrations.request('zendesk', …); paths are relative to https://<subdomain>.zendesk.com/api/v2 and end in .json.
GET|POST /tickets.json— Example:{ method: 'POST', path: '/tickets.json', body: { ticket: { subject: 'Printer jam', comment: { body: 'It jams on page 2' }, requester: { email: 'sara@acme.com' } } } }.GET|PUT /tickets/{id}.json— read or update; reply in the same call. Example:{ method: 'PUT', path: '/tickets/42.json', body: { ticket: { status: 'solved', comment: { body: 'Fixed', public: true } } } }(public: falsemakes an internal note).GET /tickets/{id}/comments.json— the conversation.GET /search.json— Example:{ method: 'GET', path: '/search.json', query: { query: 'type:ticket status:open requester:sara@acme.com' } }.GET|POST /users.json,GET /users/{id}.json— look up or create end users.
Deleting is not allowed.
More from Zendesk: https://developer.zendesk.com/api-reference/