> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Linking Front as a source Canonical URL: https://posthog.com/docs/data-pipelines/sources/front > **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 Front API token to sync your Front data 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 Front. 3. Create an API token in your [Front settings](https://app.frontapp.com/settings/tools/api) under **Developers > API tokens**. Grant read scopes for the resources you want to sync (for example `shared_resources:read`, `contacts:read`, `tags:read`). 4. Back in PostHog, paste the token in the **API token** field 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 Front data in PostHog. ## Available tables | Table | Description | Sync method | | --- | --- | --- | | `events` | Front events (only syncs the last 365 days on initial sync) | Incremental | | `contacts` | Contacts | Full refresh | | `conversations` | Conversations | Full refresh | | `accounts` | Accounts | Full refresh | | `tags` | Tags | Full refresh | | `teammates` | Teammates | Full refresh | | `inboxes` | Inboxes | Full refresh | | `channels` | Channels | Full refresh | | `teams` | Teams | Full refresh | | `conversation_followers` | Teammates who follow each conversation (one row per conversation and follower) | Full refresh | | `teammate_groups` | Teammate groups | Full refresh | | `teammate_group_teammates` | Teammates in each teammate group (one row per group and teammate) | Full refresh | | `teammate_group_teams` | Teams in each teammate group (one row per group and team) | Full refresh | | `teammate_group_inboxes` | Inboxes that each teammate group can access through its teams (one row per group and inbox) | Full refresh | | `contact_lists` | Contact lists | Full refresh | | `contact_list_contacts` | Contacts in each contact list (one row per list and contact) | Full refresh | **Incremental** tables sync only new or updated records on each run. **Full refresh** tables reload all data on each sync. ## Sync limitations The `events` table only syncs the last 365 days on its initial sync to avoid an unbounded backfill. The `conversation_followers`, `teammate_group_*`, and `contact_list_contacts` tables send one API request for each parent conversation, teammate group, or contact list. These tables can take longer to sync in large workspaces. ## Configuration | Option | Type | Required | | --- | --- | --- | | `API token` | password | Yes | ## Supported tables | Table | Description | Sync method | Incremental field | Primary key | | --- | --- | --- | --- | --- | | `events` | Only syncs the last 365 days on initial sync | Incremental, Full refresh | emitted\_at | — | | `contacts` | A person or company in Front's contact directory, with their handles across channels. | Full refresh | — | — | | `conversations` | A thread of messages and comments in Front, the core unit of work in an inbox. | Full refresh | — | — | | `accounts` | A company account in Front, grouping related contacts together. | Full refresh | — | — | | `tags` | A label that can be applied to conversations to categorize them. | Full refresh | — | — | | `conversation_messages` | Fetched one conversation at a time, so a sync takes longer the more conversations you have | Full refresh | — | — | | `conversation_comments` | Fetched one conversation at a time, so a sync takes longer the more conversations you have | Full refresh | — | — | | `conversation_followers` | Fetched one conversation at a time, so a sync takes longer the more conversations you have | Full refresh | — | — | | `ticket_statuses` | A ticket status a conversation can be set to, including the company's custom statuses. | Full refresh | — | — | | `account_custom_fields` | Definition of a custom field that can be attached to an account. | Full refresh | — | — | | `contact_custom_fields` | Definition of a custom field that can be attached to a contact. | Full refresh | — | — | | `conversation_custom_fields` | Definition of a custom field that can be attached to a conversation. | Full refresh | — | — | | `inbox_custom_fields` | Definition of a custom field that can be attached to an inbox. | Full refresh | — | — | | `link_custom_fields` | Definition of a custom field that can be attached to a link. | Full refresh | — | — | | `teammate_custom_fields` | Definition of a custom field that can be attached to a teammate. | Full refresh | — | — | | `teammates` | A user (teammate) in the Front workspace. | Full refresh | — | — | | `inboxes` | A shared inbox that receives and organizes conversations. | Full refresh | — | — | | `channels` | A communication channel (email, SMS, etc.) connected to an inbox. | Full refresh | — | — | | `teams` | A team in the Front workspace that owns inboxes and teammates. | Full refresh | — | — | | `teammate_groups` | A group of teammates in the Front workspace, linked to teams and inboxes. | Full refresh | — | — | | `teammate_group_teammates` | A teammate who is a member of a teammate group. One row per group and teammate. | Full refresh | — | — | | `teammate_group_teams` | A team added to a teammate group. One row per group and team. | Full refresh | — | — | | `teammate_group_inboxes` | An inbox that a teammate group can access through its teams. One row per group and inbox. | Full refresh | — | — | | `contact_lists` | A list of contacts, used to segment contacts. | Full refresh | — | — | | `contact_list_contacts` | Fetched one contact list at a time, so a sync takes longer the more contact lists you have | Full refresh | — | — |