If your church uses Planning Center Online (PCO) for event management, you can show your PCO calendar on your Toolkit Sites website. This is a premium feature. Mere turns it on for your site, and then you connect your Planning Center account from Studio.
Connect your account (~2 minutes)
You'll need: Planning Center access for the church, and access to Settings → Events in Studio.
- In Studio, open Settings → Events
- Click Connect to Planning Center
- Sign in to Planning Center and choose the church account if you are asked
- Allow calendar access
- Studio returns to Event Settings and shows the connected organization
Upcoming events on the site are read from that Planning Center account when someone opens the page. Disconnect is on the same Event Settings panel. Connecting again replaces the previous account.
Note: Planning Center integration is an add-on service at $25/month. Contact sales@mereagency.com to get started. Sites that were already connected with an access token Mere installed keep working. The button is how new connections are made.
Filtering events by PCO tag
Each PCO Events block accepts a PCO Tag Filter — the Planning Center equivalent of the Category field on native Toolkit Sites events (event categories). Enter the exact name of a tag you've set up in Planning Center (e.g. "Youth", "Missions", "All-Church") and the block only displays events carrying that tag.
- Leave blank to show all upcoming events
- Match the tag name exactly — tag names are case-sensitive
- No matching events or invalid tag? The block displays a message rather than rendering empty
Use this to put a ministry-specific event list on the relevant page: a "Youth" tag on the youth page, a "Missions" tag on the missions page, and so on.
Why a limit of 100? Why does leaving the tag empty return fewer than 100?
These are both limitations of the Planning Center API. For non-technical folks, an API is a way that Studio (or other similar applications) can make use of the data in Planning Center. Planning Center doesn't let just anybody ask it for data, so the connection you approve identifies this site.
The Planning Center API we're using returns 100 events at a time. This is called pagination and is common practice; rather than returning many hundreds of events (a lot of data for them to serve at once) we get it in blocks of 100, and have the option to subsequently ask for more. To keep the page loading quickly, Studio asks for just one block -- the next 100 events scheduled. However, we don't always display 100 events, because not all 100 of those events are marked to display in Planning Center. Internal events that are hidden (i.e. don't display in Church Center) are included in the 100 returned by the API but should not be displayed.
Depending on how many internal events your church has, this could be the majority of the 100. So, while we have 100 events, we might only be able to show 30 of them. This is a limitation of the PCO API. We could get more blocks (the next 100, or the next 100 after that) but each request would take time and slow down loading the page. For now, we've elected to keep it super fast but show fewer events.
This problem doesn't occur with tags, for a simple reason -- if you're setting tags to display, you're curating resources you want to show. This means not very many of them are likely to be hidden (depending how you organize events in Planning Center) so we can usually display a lot more of the 100 events.
This compromise (between speed and showing more events) was chosen from an information/website layout and design perspective. Having a page with 100 events, many of which are likely to be recurrences of the same event, is not usually ideal anyways. It is typically better to have secondary pages for event tags, or perhaps place a block like this at the bottom of each ministries page (in the situation where events are tagged with specific ministries). For right now, this is the path we've chosen to take. If there's a different use you have, check out this feature request for a "show events through date" setting, or let us know with a feature request of your own!
