> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Linking Postmark as a source Canonical URL: https://posthog.com/docs/data-pipelines/sources/postmark > **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 - [Schemas](#schemas) - [Adding a data source](#adding-a-data-source) - [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 The Postmark connector syncs your transactional email data into PostHog, including outbound messages, inbound messages, bounces, templates, and message streams. ## Schemas | Schema | Description | | --- | --- | | `messages_outbound` | Outbound email messages sent through Postmark | | `messages_inbound` | Inbound email messages received through Postmark | | `bounces` | Email bounces and delivery failures | | `templates` | Email templates configured in your Postmark server | | `message_streams` | Message streams for organizing email types | ## Adding a data source 1. Go to the [Data pipeline page](https://app.posthog.com/data-management/sources) and select the **Sources** tab. 2. Click **New source** and select Postmark. 3. Enter your Postmark Server API token. You can find this in your Postmark dashboard under **Servers** > select your server > **API Tokens**. 4. *Optional:* Add a prefix to your table names. 5. Click **Next**. The data warehouse then starts syncing your Postmark data. You can see details and progress in the [data pipeline sources tab](https://app.posthog.com/data-management/sources). ## Sync limitations - **Full refresh only** – Postmark syncs use full refresh mode. Incremental syncing is not currently supported. - **10,000 row limit** – The Postmark API caps each paginated endpoint at 10,000 rows. If you have more than 10,000 messages, bounces, or other records, only the most recent 10,000 are synced. - **Message retention** – Postmark expires messages after a retention window (45 days by default), so historical data beyond that window is unavailable from the API. ## Configuration | Option | Type | Required | | --- | --- | --- | | `Server API token` | password | Yes | ## Supported tables | Table | Description | Sync method | Incremental field | Primary key | | --- | --- | --- | --- | --- | | `messages_outbound` | An outbound email message sent through Postmark. | Full refresh | — | — | | `messages_inbound` | An inbound email message received through Postmark. | Full refresh | — | — | | `bounces` | A bounce record for an email that could not be delivered. | Webhook, Full refresh | — | — | | `opens` | The first open of an outbound message by one recipient, recorded when open tracking is on. | Full refresh | — | — | | `templates` | An email template defined in Postmark. | Full refresh | — | — | | `message_streams` | A message stream that groups outbound or inbound messages in Postmark. | Full refresh | — | — |