Linking Freshdesk as a source
Contents
This source is currently in alpha. The interface and available tables may change.
Enter your Freshdesk domain and API key to pull your Freshdesk support data – tickets, contacts, companies, agents, and more – into the PostHog data warehouse.
Adding a data source
- Go to the sources tab of the data pipeline section in PostHog.
- Click + New source and then click Link next to Freshdesk.
- Next, gather your Freshdesk credentials:
- Freshdesk domain – the subdomain in your Freshdesk URL, e.g.
acmeforacme.freshdesk.com. - API key – on your Freshdesk profile settings page (click your profile picture → Profile settings; the API key is shown in the right sidebar).
- Freshdesk domain – the subdomain in your Freshdesk URL, e.g.
- Back in PostHog, enter the credentials and click Next.
- Select the tables you want to sync, set the sync method and frequency, then click Import.
Once the syncs are complete, you can start using Freshdesk data in PostHog.
Available tables
| Table | Description | Sync method |
|---|---|---|
tickets | Support tickets | Incremental |
contacts | Contacts | Incremental |
companies | Companies | Full refresh |
agents | Support agents | Full refresh |
groups | Agent groups | Full refresh |
roles | Agent roles | Full refresh |
products | Products | Full refresh |
skills | Agent skills | Full refresh |
ticket_fields | Ticket field definitions | Full refresh |
time_entries | Time entries logged on tickets | Full refresh |
satisfaction_ratings | Customer satisfaction survey ratings | Full refresh |
sla_policies | SLA policies | Full refresh |
business_hours | Business hours definitions | Full refresh |
canned_response_folders | Canned response folders | Full refresh |
Incremental tables sync only new or updated records on each run. Full refresh tables reload all data on each sync.
Sync limitations
Only tickets and contacts have a server-side updated_since filter, so they support incremental sync on the updated_at field. All other tables are full refresh only. Freshdesk caps the tickets list at roughly 300 pages per query; syncing tickets incrementally keeps each window small and lets the watermark advance across runs to page beyond that cap.
Configuration
| Option | Type | Required |
|---|---|---|
Freshdesk domain | text | Yes |
API key | password | Yes |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
tickets | A support request raised by a customer and tracked through to resolution. | Incremental, Full refresh | updated_at | — |
contacts | A customer or requester who can raise tickets with the helpdesk. | Incremental, Full refresh | updated_at | — |
companies | An organization that groups together related contacts. | Full refresh | — | — |
agents | A helpdesk agent who responds to and works on tickets. | Full refresh | — | — |
groups | A group of agents that tickets can be assigned to. | Full refresh | — | — |
roles | A role defining the set of privileges granted to agents. | Full refresh | — | — |
products | A product that tickets can be associated with. | Full refresh | — | — |
skills | A skill used to route tickets to agents with matching expertise. | Full refresh | — | — |
ticket_fields | A field on the ticket form, default or custom. | Full refresh | — | — |
time_entries | A record of time logged by an agent against a ticket. | Full refresh | — | — |
satisfaction_ratings | A customer satisfaction (CSAT) rating submitted for a ticket. | Full refresh | — | — |
sla_policies | An SLA policy defining response and resolution time targets for tickets. | Full refresh | — | — |
business_hours | A set of working hours and holidays used for SLA calculations. | Full refresh | — | — |
canned_response_folders | A folder grouping related canned (pre-written) agent responses. | Full refresh | — | — |