This guide provides solutions for common issues you might encounter when using CP-Sync.
Connection Issues
Unable to Connect to Planning Center Online
Connection uses the Connect button. The Connect tab has no Client ID, Client Secret, or callback URL field. See Planning Center Online.
Open the sign-in window:
- Go to Church Plugins → CP Sync and open the Connect tab.
- Set Church Management System to Planning Center Online.
- Under PCO API Configuration, click Connect.
- If the browser blocks the window, the tab shows Failed to open authentication window. Make sure your browser allows popups. Allow popups for your site and click Connect again.
- If you close the window before finishing, the tab shows Authentication window was closed. Click Connect to start again.
Reconnect:
- Click Disconnect, then Connect, and sign in to Planning Center again in the window that opens.
- If the Connect button does not come back, reload the page and click Disconnect again.
- After a successful sign-in, the tab shows Connected. Reload the page to see Connected to {organization} as {person} or Connected to {organization} when Planning Center returns those names.
Unable to Connect to Church Community Builder
Credentials:
- On the Connect tab, set Church Management System to Church Community Builder.
- Under Connect to Church Community Builder, check Subdomain, API Username, and API Password.
- Click Connect to CCB. The button stays disabled until all three fields have a value. A failed check shows Connection failed or the message returned by CCB.
Subdomain:
- Enter the part before
.ccbchurch.com, such aschurchname. - Anything other than letters, numbers, and hyphens shows Invalid subdomain. Subdomains may contain only letters, numbers, and hyphens.
- Enter the part before
API access:
- Ask your CCB administrator to confirm the API user can sign in.
Sync Issues
No Data Being Imported
Check the connection:
- Planning Center: the Connect tab shows Connected, or Connected to {organization} as {person} after you reload.
- Church Community Builder: the button reads Disconnect and Subdomain, API Username, and API Password are locked.
- Under Sync, the feed you want is on. Sync Groups needs CP Groups. Sync Events needs The Events Calendar. Sync Sermons (Planning Center) needs CP Sermons and is off until you turn it on.
Review filters:
- Planning Center groups: Visibility and the Groups filter on the Groups tab.
- Planning Center events: Event source, Visibility, Calendar Filters, and Registration Filters on the Events tab.
- Planning Center sermons: the Sermons filter. Only episodes published to the Church Center library are imported.
- Church Community Builder groups: the Groups filter. Groups that are inactive or not listed in public search are skipped.
- Church Community Builder events: Date Range and the Events filter.
- Remove a condition with the trash icon on that row, then click Generate Preview.
API permissions:
- The church management system account has to be allowed to read the groups, events, or sermons you expect.
Sync Reports Success but Nothing Is Imported
Preview will look completely normal, because it reads from the ChMS directly and never touches the import queue. The log shows where the import stopped.
Check the log at Church Plugins → CP Sync → Log. Set Enable Debug Mode to Enable, click Save all Settings, and run the sync again. Nothing is logged while debug mode is off. Look for any of these:
Nothing was queued for ...— the sync found nothing to import; check your filters and the connection... was not saved to the database. Nothing will be imported.— the queue could not be written; aDatabase reported: ...line follows when MySQL returned an error... was saved but cannot be read back. Nothing will be imported.— the queue was corrupted when it was storedBatch ... is unreadable and will be discarded without importing— the queue was corrupted when it was stored
Confirm Items Are Being Processed:
- A healthy sync logs a line per item, such as
Processing group 123: Summer Seriesfollowed byGroup 123 created with ID: 456
- A healthy sync logs a line per item, such as
Check Background Processing:
- Imports run in a background request after the sync is triggered, so the site must be able to make loopback requests to itself
- Confirm loopback requests are working under Tools → Site Health
- Verify WP-Cron is running, as it retries the queue if the background request does not complete
Content Imported with ? Characters
Titles or descriptions arriving as Summer Series ? Week 1 mean the database cannot represent the original character — usually a bullet (•) or curly quote (’). The data in your ChMS is fine; it is being altered as it is stored.
Converting the database to utf8mb4 resolves this. See System Requirements.
Only Partial Data Imported
Filters:
- Open the Groups, Events, or Sermons tab and read the filter. Remove conditions that exclude the records you want.
- On Church Community Builder events, widen Date Range. Current and upcoming events (Recommended) is today through one year ahead. All future events is today through 10 years ahead. Custom date range stops at End Date.
PHP Timeout:
- Check your PHP max_execution_time setting
- Consider increasing it for large imports
Integration Issues
CP Groups Integration Problems
Plugin and toggle:
- CP Groups is installed and activated.
- On the Connect tab, Sync Groups is on. If CP Groups is inactive, the toggle is disabled and the help text reads Requires the CP Groups plugin, which is not active on this site.
Filters:
- On the Groups tab, check Visibility (Planning Center) and the Groups filter.
- Church Community Builder skips groups that are inactive or not listed in public search.
The Events Calendar Integration Issues
Plugin and toggle:
- The Events Calendar is installed and activated.
- On the Connect tab, Sync Events is on. If The Events Calendar is inactive, the toggle is disabled and the help text reads Requires The Events Calendar plugin, which is not active on this site.
Church Community Builder venues:
- Venue name, street, city, state, zip, and the event image are filled in after import, for events that have a numeric CCB id.
- On the Log tab, set Enable Debug Mode to Enable and look for
Skipping enrichmentorFailed to fetch event_profile. Occurrences without a numeric event id are not enriched.
Error Messages
PHP runs out of memory
- Increase the memory limit:
- Raise PHP’s
memory_limit. - Ask your host if you cannot change it.
- Raise PHP’s
Planning Center rate limits
The log can include PCO rate limited (429): waiting. CP Sync waits and retries that request. If syncs overlap, set Update Interval on the Advanced tab to Daily or Weekly.
Logging and Debugging
Enabling Debug Logs
- Go to Church Plugins → CP Sync and open the Log tab.
- Set Enable Debug Mode to Enable.
- Click Save all Settings.
- Run the sync (Pull now on Advanced, or Pull Now on Groups, Events, or Sermons).
- Read Log File Content on the Log tab. Clear Log File empties it.
Getting Additional Help
If you’re still experiencing issues after trying these troubleshooting steps:
Check Documentation:
- Review the Developer Guide for advanced solutions
Support Channels:
- Visit Contact Support to request help or submit a ticket, and include your error logs and details about your issue
