Cal.com

Cal.com

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.

Learn more
PostHog Wizard hedgehog

Connect Cal.com to PostHog to sync your data into the PostHog data warehouse for analysis and modeling.

Enter your Cal.com API key to pull your scheduling data into the PostHog Data warehouse.

You can create an API key under Settings → Security → API keys in Cal.com. The key grants read access to your bookings, attendees, event types, schedules, teams, and webhooks.

The organization tables (memberships, users, and routing forms) need a key from a Cal.com organization admin. If your account isn't in an organization, leave those tables unselected.

Pick the region your Cal.com account lives in. Choose EU if you sign in at cal.eu, since a key from one region is not valid in the other.

Configuration

OptionTypeRequired
API keypasswordYes
RegionselectYes

Linking Cal.com to PostHog

  1. Go to the Data pipeline page in PostHog
  2. Click New source and select Cal.com
  3. Fill in the required configuration fields
  4. Click Next, select the tables you want to sync, and then press Import

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
bookings

A scheduled meeting booked through Cal.com, including regular, recurring, and seated bookings.

Incremental, Full refreshupdatedAt, createdAt
event_types

An event type — a bookable meeting template defining duration, availability, and booking rules.

Full refresh
schedules

An availability schedule defining when its owner can be booked.

Full refresh
teams

A team the authenticated user belongs to.

Full refresh
webhooks

A webhook subscription configured for the authenticated user.

Full refresh
me

The profile of the user the API key belongs to.

Full refresh
organization_memberships

A membership joining a user to the Cal.com organization the API key's account belongs to.

Full refresh
organization_users

A user in the Cal.com organization. Resolves the user and host IDs carried on bookings and event types.

Full refresh
team_memberships

A membership joining a user to one of the teams in the teams table.

Full refresh
routing_forms

A routing form in the organization, which qualifies a lead and sends them to the right event type.

Incremental, Full refreshupdatedAt, createdAt
routing_form_responses

A submission of a routing form, including the answers given and the booking it routed to.

Incremental, Full refreshcreatedAt
booking_attendees

One row per attendee of a booking, the grain needed for no-show and guest analysis. The booking columns are copied from the parent booking.

Incremental, Full refreshbookingUpdatedAt, bookingCreatedAt