What is Planning Center?
Planning Center is a comprehensive suite of church management applications designed to help churches organize information, coordinate events, communicate with teams, connect with congregants, and manage their church operations.How Parable Approaches Planning Center Data
Parable acts as a data warehouse that integrates with Planning Center to provide your church with unified, queryable access to all your ministry data:- Syncs data from all your Planning Center apps automatically
- Stores it in a structured PostgreSQL database
- Provides SQL access so you can query across all your data
- Maintains relationships between different data types
- Keeps everything current with regular synchronization
Planning Center Apps in Parable
Parable integrates with all major Planning Center applications to provide unified insights across your church data:People
Your church directory and member management system
Giving
Donation tracking, pledges, and financial reporting
Check-Ins
Event attendance and child safety tracking
Groups
Small groups, classes, and ministry management
Calendar
Events, resources, and scheduling
Services
Worship planning and volunteer scheduling
Registrations
Event signups and payments
Publishing
Media and sermon management
Core Concepts
Multi-Tenant Architecture
Every church (organization) in Parable has isolated data:- Each table includes a
tenant_organization_id
column - Data is automatically filtered by your organization
- You can only see your church’s data
Data Synchronization
Parable manages data synchronization behind the scenes:Synchronization Details
Synchronization Details
- Data syncs automatically every night
- Full sync on initial setup
- Nightly updates thereafter
- Handles API rate limits gracefully
- Retries on failures automatically
Database Schema Pattern
All Planning Center data follows a consistent pattern:System Status Explained
Every record has asystem_status
field that tracks its lifecycle:
transferring
- Being imported from Planning Centeractive
- Current, valid datastale
- Marked for removal in next sync
Parable’s row-level security automatically filters to show only
active
records, so you don’t need to filter manually.Understanding Our Storage Approach
Why Separate Relationship Tables?
Planning Center’s API returns relationships separately from main data. We mirror this structure for several reasons:- Data Integrity - Relationships can change independently of entities
- Flexibility - One entity can have multiple relationship types
- Performance - Optimized indexes for different query patterns
- Consistency - Same pattern across all Planning Center apps
Example: Connecting People to Donations
Instead of a direct foreign key, we use relationship tables:Common Query Patterns
Basic Entity Query
Joining Through Relationships
Cross-Module Queries
Ministry Health Metrics
Combine attendance, giving, and group participation data to understand overall engagement trends:Tips for Junior Developers
1
Start Simple
Begin with basic SELECT statements on single tables:
2
Use Table Aliases
Make your queries more readable:
3
Handle Money Correctly
Planning Center stores amounts in cents:
4
Use Comments in Complex Queries
Document your logic for future reference and clarity
Troubleshooting Common Issues
Why don't I see recent data?
Why don't I see recent data?
Check the last sync time. Data syncs periodically (usually hourly).
Why are some fields NULL?
Why are some fields NULL?
Planning Center allows optional fields. NULL means the field wasn’t
provided.
How do I find the right relationship type?
How do I find the right relationship type?
Check the relationship table to see available types:
sql SELECT DISTINCT relationship_type FROM planning_center.people_person_relationships;
Why do I get duplicate rows?
Why do I get duplicate rows?
You might be joining incorrectly. Make sure to: - Include the
relationship_type in your JOIN - Use DISTINCT when counting unique entities
- Check if you need a GROUP BY clause
Best Practices
- Always use meaningful aliases for tables (p for people, d for donations)
- Comment complex logic in your queries
- Test with LIMIT before running large queries
- Use transactions for updates (though most queries are read-only)
- Index awareness - our tables are optimized for common query patterns
- Date filtering - use indexed date columns for performance
Key Benefits
1
Unified Data Access
Query across all your Planning Center apps with SQL, combining data that
would normally require multiple exports
2
Nightly Sync
Your Planning Center data stays synchronized with Parable through nightly
updates, ensuring you’re working with up-to-date information
3
Advanced Analytics
Connect to Power BI, Tableau, or other BI tools to create dashboards and
reports beyond Planning Center’s built-in capabilities
4
Cross-App Insights
Discover patterns by connecting giving data with attendance, group
participation with volunteer engagement, and more
All Planning Center data is accessed through Parable’s secure, read-only
connection. Your original Planning Center data remains unchanged.
Getting Started
To begin working with your Planning Center data in Parable:- Connect Your Account: Link your Planning Center organization to Parable
- Explore Your Data: Use the SQL editor to query your synchronized data
- Build Dashboards: Create custom reports in your preferred BI tool
- Share Insights: Export results to share with leadership and ministry teams
Start with simple queries to familiarize yourself with the data structure,
then gradually build more complex cross-app analyses. Remember: Every expert
was once a beginner!
Next Steps
Ready to dive deeper? Check out our specific guides:- People Module Documentation
- Giving Module Documentation
- Groups Module Documentation
- Check-ins Module Documentation
- Calendar Module Documentation
- Services Module Documentation
- Registrations Module Documentation
- Publishing Module Documentation
Getting Help
- SQL Basics: W3Schools SQL Tutorial is a great starting point
- Planning Center API: For detailed API information, visit Planning Center’s Developer Documentation
- Support: Reach out at michael@getparable.io