Sapilon becomes publicly available on 1 December 2026: 42 days to go. The core goes open source the same day →

Freshdesk integration

In short

Search, create and update tickets, reply and add notes. Connect it on the Integrations page; your app then calls Freshdesk through Sapilon without ever holding a Freshworks credential.

Lets your app search, read, create and update Freshdesk tickets, reply to them, add private notes and look up or create contacts, as the agent whose API key you use.

Connecting

On the Integrations page choose Connect on Freshdesk and fill in:

  • Helpdesk name — The part before .freshdesk.com in your helpdesk address.
  • API key — Freshdesk → your profile picture → Profile settings → View API key.

Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.

  • The app acts as the agent whose key you use: use a dedicated agent for anything long-lived.

What your app can do

Only these requests are available; anything else is refused.

  • GET|POST /tickets
  • GET|PUT /tickets/*
  • GET /tickets/*/conversations
  • POST /tickets/*/reply
  • POST /tickets/*/notes
  • GET /search/tickets
  • GET|POST /contacts
  • GET|PUT /contacts/*

How the agent uses it

Use integrations.request('freshdesk', …); paths are relative to https://<helpdesk>.freshdesk.com/api/v2.

  • GET|POST /tickets — Example: { method: 'POST', path: '/tickets', body: { email: 'sara@acme.com', subject: 'Printer jam', description: 'It jams on page 2', priority: 1, status: 2 } }.
  • GET|PUT /tickets/{id} — read or update. Example: { method: 'PUT', path: '/tickets/42', body: { status: 4 } } (2 open, 3 pending, 4 resolved, 5 closed).
  • GET /tickets/{id}/conversations — replies and notes.
  • POST /tickets/{id}/reply — Example: { method: 'POST', path: '/tickets/42/reply', body: { body: 'Fixed now' } }. POST /tickets/{id}/notes — body: { body: 'Called her', private: true }.
  • GET /search/tickets — Example: { method: 'GET', path: '/search/tickets', query: { query: '"status:2 AND priority:4"' } } (the query keeps its double quotes).
  • GET|POST /contacts, GET|PUT /contacts/{id}.

Deleting is not allowed.

More from Freshworks: https://developers.freshdesk.com/api/

Last updated .

Was this page helpful?