> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Linking Freshdesk as a source Canonical URL: https://posthog.com/docs/data-pipelines/sources/freshdesk > **Cloud region:** This page uses US Cloud hosts. For an EU Cloud project, use `https://eu.posthog.com` instead of `https://app.posthog.com` (app host for links). ## On this page - [Adding a data source](#adding-a-data-source) - [Available tables](#available-tables) - [Sync limitations](#sync-limitations) - [Configuration](#configuration) - [Supported tables](#supported-tables) ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_9608fcca70) ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_dark_a92b0e022d) Let AI connect your sources for you Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog. `npx @posthog/wizard warehouse` ![PostHog Wizard hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png) ![](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png)Let AI connect your sources for you 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 | — | — | | `contact_fields` | A field on the contact form, including the choices of a dropdown field. | Full refresh | — | — | | `conversations` | A reply or note on a ticket -- the support conversation behind the ticket. | Incremental, Full refresh | updated\_at | — | | `canned_responses` | A pre-written response an agent can insert into a reply. | Full refresh | — | — | | `solution_categories` | A top-level grouping of knowledge base solution folders. | Full refresh | — | — | | `solution_folders` | A folder of knowledge base articles inside a solution category. | Full refresh | — | — | | `solution_articles` | A knowledge base article, with the view and rating counts used to measure deflection. | Full refresh | — | — |