# Linking Freshdesk as a source - Docs

**Alpha release**

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

1.  Go to the [sources tab](https://app.posthog.com/data-management/sources) of the data pipeline section in PostHog.
2.  Click **\+ New source** and then click **Link** next to Freshdesk.
3.  Next, gather your Freshdesk credentials:
    -   **Freshdesk domain** – the subdomain in your Freshdesk URL, e.g. `acme` for `acme.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).
4.  Back in PostHog, enter the credentials and click **Next**.
5.  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 | — | — |

### Community questions

Ask a question

### Was this page useful?

HelpfulCould be better