> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Linking OnceHub as a source Canonical URL: https://posthog.com/docs/data-pipelines/sources/oncehub > **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 OnceHub connector syncs your scheduling and booking data – bookings, booking calendars, contacts, users, and teams – from the OnceHub Booking Calendars API 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 OnceHub. 3. Next, you need an API key from OnceHub. In your OnceHub account, go to **Settings → API & Webhooks** and generate an API key. The key is shown only once at creation, so copy it right away. 4. Back in PostHog, paste the API key and click **Next**. 5. Select the tables you want to sync, set the sync frequency, then click **Import**. Once the syncs are complete, you can start using OnceHub data in PostHog. ## Available tables | Table | Description | Sync method | | --- | --- | --- | | `bookings` | Scheduled meetings including status, timing, and customer information | Full refresh | | `booking_calendars` | Scheduling links that accept bookings for users or teams | Full refresh | | `contacts` | Customers who have interacted with OnceHub scheduling pages | Full refresh | | `users` | Team members in your OnceHub account | Full refresh | | `teams` | Teams of users in your OnceHub account | Full refresh | All tables use **full refresh** – all data is reloaded on each sync. ## Configuration | Option | Type | Required | | --- | --- | --- | | `API key` | password | Yes | ## Supported tables | Table | Description | Sync method | Incremental field | Primary key | | --- | --- | --- | --- | --- | | `bookings` | A meeting scheduled through OnceHub, including its lifecycle status, timing, and the customer it was booked with. | Full refresh | — | — | | `booking_calendars` | A booking calendar (scheduling link) that accepts bookings for a host user or team. | Full refresh | — | — | | `contacts` | A contact (customer) who has interacted with your OnceHub scheduling pages. | Full refresh | — | — | | `users` | A user (team member) in your OnceHub account. | Full refresh | — | — | | `teams` | A team of users in your OnceHub account. | Full refresh | — | — |