Linking Planning Center as a source

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

Contents

The Planning Center connector syncs your church management data – people, groups, giving, check-ins, services, and calendars – into the PostHog data warehouse.

Prerequisites

You need a Planning Center account and a personal access token (application ID and secret). The token determines which Planning Center products the source can read. Giving tables require a user with Giving permissions.

Adding a data source

  1. Go to the sources tab of the data pipeline section in PostHog.
  2. Click + New source and then click Link next to Planning Center.
  3. Create a personal access token in your Planning Center developer account. Copy the Application ID and Secret.
  4. Back in PostHog, paste the Application ID and Secret, then 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 Planning Center data in PostHog.

The source reads the data that the token's user can see. If the user doesn't have access to a Planning Center product (e.g. Giving), those tables show as unavailable in the table picker. See Permissions below.

Sync modes

Planning Center tables sync in one of two modes depending on whether the underlying API supports filtering by updated_at:

  • Incremental sync – Tables that support updated_at filtering sync only new or modified records on each run. These tables use merge-only sync (not append) because the inclusive timestamp filter re-reads rows at the watermark boundary. Merge on the primary key removes these duplicates.
  • Full refresh sync – Tables without updated_at support (including all Groups tables) reload all data on each sync.

Incremental tables

people, emails, phone_numbers, households, lists, workflows, campuses, field_data, notes, donations, batches, batch_groups, in_kind_donations, check_ins, event_times, headcounts, plans, calendar_events, event_instances, resources, resource_bookings, calendar_tags

Full refresh tables

addresses, forms, field_definitions, groups, group_types, group_memberships, group_events, group_applications, funds, recurring_donations, pledge_campaigns, payment_sources, check_in_events, stations, service_types, songs, teams, series, calendars

Available tables

ProductTables
Peoplepeople, emails, phone_numbers, addresses, households, lists, workflows, campuses, field_definitions, field_data, notes, forms
Groupsgroups, group_types, group_memberships, group_events, group_applications
Givingdonations, funds, batches, batch_groups, recurring_donations, pledge_campaigns, in_kind_donations, payment_sources
Check-Inscheck_ins, check_in_events, event_times, headcounts, stations
Servicesservice_types, plans, songs, teams, series
Calendarcalendar_events, event_instances, resources, resource_bookings, calendars, calendar_tags

Permissions

Planning Center grants API access per product. When you connect a source, PostHog probes each product to check whether the token's user can read it. Products the user can't access show an error in the table picker.

  • People – Most Planning Center users have People access by default.
  • Giving – Requires a user with Giving permissions in Planning Center.
  • Groups, Check-Ins, Services, Calendar – Require the token's user to have access to each product.

If your token's user can't read a product, either give them access in Planning Center or deselect those tables.

Configuration

OptionTypeRequired
Application IDtextYes
SecretpasswordYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
people

People in the organization's Planning Center People directory, with their profile and permission fields.

Incremental, Full refreshupdated_at—
emails

Email addresses stored on people's profiles.

Incremental, Full refreshupdated_at—
phone_numbers

Phone numbers stored on people's profiles.

Incremental, Full refreshupdated_at—
addresses

Physical and mailing addresses stored on people's profiles.

Full refresh——
households

Households that link people together, with an optional primary contact.

Incremental, Full refreshupdated_at—
lists

Saved lists that find and group people by rules.

Incremental, Full refreshupdated_at—
workflows

Workflows that move people through a series of follow-up steps.

Incremental, Full refreshupdated_at—
campuses

Campuses, the physical locations that belong to the organization.

Incremental, Full refreshupdated_at—
field_definitions

Custom profile fields: their name, data type and the tab they appear on.

Full refresh——
field_data

Values of custom profile fields, one row per field value.

Incremental, Full refreshupdated_at—
notes

Categorized notes attached to people's profiles.

Incremental, Full refreshupdated_at—
forms

Custom forms that people fill out.

Full refresh——
groups

Groups of people that meet regularly, from Planning Center Groups.

Full refresh——
group_types

Group types, the categories that groups belong to.

Full refresh——
group_memberships

Memberships of people in groups, with their role.

Full refresh——
group_events

Events, the meetings of a group, with start and end times.

Full refresh——
group_applications

Requests from people to join a group, with their approval status.

Full refresh——
donations

Donations given to the organization, from Planning Center Giving.

Incremental, Full refreshupdated_at—
funds

Funds that donations are designated to.

Full refresh——
batches

Batches, the collections of donations that are entered and committed together.

Incremental, Full refreshupdated_at—
batch_groups

Batch groups, the optional collections of batches.

Incremental, Full refreshupdated_at—
recurring_donations

Recurring donations that repeat on a schedule.

Full refresh——
pledge_campaigns

Pledge campaigns that track long-term commitments toward a goal.

Full refresh——
in_kind_donations

Non-cash gifts given to the organization, such as goods, services or stocks.

Incremental, Full refreshupdated_at—
payment_sources

Payment sources, the platforms that donations come from.

Full refresh——
check_ins

Check-ins, the attendance records for Check-Ins events.

Incremental, Full refreshupdated_at—
check_in_events

Recurring Check-Ins events that people attend.

Full refresh——
event_times

Times at which people can check in to an event.

Incremental, Full refreshupdated_at—
headcounts

Attendee tallies for an event time and attendance type.

Incremental, Full refreshupdated_at—
stations

Stations, the devices where people check in.

Full refresh——
service_types

Service types, the containers for service plans in Planning Center Services.

Full refresh——
plans

Service plans, one row per plan in a service type.

Incremental, Full refreshupdated_at—
songs

Songs in the Services song library.

Full refresh——
teams

Teams of people that serve in a service type.

Full refresh——
series

Series that tie together plans with similar messages.

Full refresh——
calendar_events

Events from Planning Center Calendar, with owner and Church Center visibility.

Incremental, Full refreshupdated_at—
event_instances

Event instances, the specific occurrences of a Calendar event.

Incremental, Full refreshupdated_at—
resources

Rooms and resources that can be booked for events.

Incremental, Full refreshupdated_at—
resource_bookings

Bookings of rooms and resources for event instances.

Incremental, Full refreshupdated_at—
calendars

Calendars that belong to the organization.

Full refresh——
calendar_tags

Tags that organize Calendar events.

Incremental, Full refreshupdated_at—

Troubleshooting

Sync failing with "Unauthorized"

Planning Center rejected the personal access token. Create a new token in your Planning Center developer account, then reconnect the source.

Sync failing with "Forbidden"

Your Planning Center user can't read one of the products you're syncing. Give the user access to that product in Planning Center, or deselect the affected tables.

For more help, see the Data Warehouse troubleshooting guide.

Still have questions?

Was this page useful?