> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Linking ConvertKit as a source Canonical URL: https://posthog.com/docs/data-pipelines/sources/convertkit > **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) - [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 The Kit (formerly ConvertKit) connector syncs your email marketing data – subscribers, broadcasts, forms, sequences, tags, custom fields, purchases, and email templates – into PostHog. ## 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 ConvertKit. 3. Next, you need a v4 API key from Kit. You can create one in your [Kit account settings](https://app.kit.com/account_settings/developer_settings) under developer settings. Copy the API key value (it starts with `kit_`). 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 Kit data in PostHog. ## Available tables | Table | Description | Sync method | | --- | --- | --- | | `subscribers` | Subscribers in your Kit account, synced incrementally on `created_at` or `updated_at` | Incremental | | `broadcasts` | Broadcasts (one-off email sends) | Full refresh | | `forms` | Forms used to collect subscribers | Full refresh | | `sequences` | Email sequences | Full refresh | | `tags` | Subscriber tags | Full refresh | | `custom_fields` | Custom subscriber fields | Full refresh | | `purchases` | Purchases recorded in Kit | Full refresh | | `email_templates` | Email templates | Full refresh | **Incremental** tables sync only new or updated records on each run. **Full refresh** tables reload all data on each sync. ## Configuration | Option | Type | Required | | --- | --- | --- | | `API key` | password | Yes | ## Supported tables | Table | Description | Sync method | Incremental field | Primary key | | --- | --- | --- | --- | --- | | `subscribers` | A subscriber on your Kit (ConvertKit) account. | Incremental, Full refresh | created\_at, updated\_at | — | | `broadcasts` | A broadcast — a one-time email sent to a segment of your subscribers. | Full refresh | — | — | | `forms` | A form or landing page used to capture new subscribers. | Full refresh | — | — | | `sequences` | A sequence — an automated series of emails sent to subscribers over time. | Full refresh | — | — | | `tags` | A tag used to label and segment subscribers. | Full refresh | — | — | | `custom_fields` | A custom field used to store additional data about subscribers. | Full refresh | — | — | | `segments` | A segment — a saved group of subscribers, created and managed in the Kit app. | Full refresh | — | — | | `purchases` | A purchase recorded against a subscriber for commerce reporting. | Full refresh | — | — | | `email_templates` | An email template used to style broadcasts and sequence emails. | Full refresh | — | — | | `broadcast_stats` | Delivery and engagement stats for a broadcast: recipients, opens, clicks and unsubscribes. | Full refresh | — | — | | `growth_stats` | Account-wide subscriber growth over a date range. Kit defaults to the last 90 days and reports the bounds in the account's sending time zone, not UTC. | Full refresh | — | — | | `sequence_emails` | An individual email inside a sequence, one step on the journey subscribers take through it. | Full refresh | — | — | | `broadcast_clicks` | Click performance for one link in a broadcast. | Full refresh | — | — | | `form_subscribers` | A subscriber who joined through, or was added to, a form. This is the form-to-subscriber junction. | Incremental, Full refresh | added\_at | — | | `tag_subscribers` | A subscriber carrying a tag. This is the tag-to-subscriber junction. | Full refresh | — | — | | `sequence_subscribers` | A subscriber enrolled in a sequence. This is the sequence-to-subscriber junction. | Incremental, Full refresh | added\_at | — |