# Linking Ortto as a source - Docs

![](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`

[Learn more](/wizard.md)

![PostHog Wizard hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png)

The Ortto connector syncs your marketing data into PostHog, including people, accounts, audiences, tags, and custom field definitions.

> **Note:** This source is currently in **alpha**. Behavior may change as it matures.

## Adding a data source

1.  Go to the [Data pipeline page](https://app.posthog.com/data-management/sources) and the **Sources** tab in PostHog.
2.  Click **\+ New source** and select **Ortto**.
3.  Enter your Ortto API key. You can create one in Ortto under **Settings** > **API keys**.
4.  Select the **region** your Ortto instance lives in: **Global**, **Australia**, or **Europe**. Your API key only works with its associated region.
5.  *Optional:* Add a prefix to your table names.
6.  Select the tables you want to import.
7.  Click **Import**.

The data warehouse then starts syncing your Ortto data. You can see details, progress, and rows synced in the [data pipeline sources tab](https://app.posthog.com/data-management/sources).

## Available tables

| Table | Sync mode | Description |
| --- | --- | --- |
| people | Full refresh | Contact records with built-in and custom fields |
| accounts | Full refresh | Organization and account records |
| audiences | Full refresh | Audience segments |
| tags | Full refresh | Tags |
| person_custom_fields | Full refresh | Custom field definitions for people |
| account_custom_fields | Full refresh | Custom field definitions for accounts |

## Sync modes

All Ortto tables use **full refresh** syncing. Ortto's API doesn't support server-side filtering by timestamp, so every table is fully re-imported on each sync.

If a sync is interrupted, it resumes from where it left off rather than restarting from the beginning.

## Custom fields

Custom fields for people and accounts are automatically discovered at runtime. The connector fetches custom field definitions from Ortto and includes them alongside built-in fields without any additional configuration.

## Configuration

| Option | Type | Required |
| --- | --- | --- |
| Region | select | Yes |
| API key | password | Yes |

## Supported tables

| Table | Description | Sync method | Incremental field | Primary key |
| --- | --- | --- | --- | --- |
| people | A person (contact) in Ortto's customer data platform, with profile and activity fields. | Full refresh | — | — |
| accounts | An account (organization/company) record in Ortto that people can be associated with. | Full refresh | — | — |
| audiences | A saved audience (segment) of people defined by filter conditions in Ortto. | Full refresh | — | — |
| tags | A tag that can be applied to people in Ortto to label and segment them. | Full refresh | — | — |
| person_custom_fields | Definitions of the custom fields available on person records in Ortto. | Full refresh | — | — |
| account_custom_fields | Definitions of the custom fields available on account records in Ortto. | Full refresh | — | — |

### Community questions

Ask a question

### Was this page useful?

HelpfulCould be better