Built for Planning Center Churches

Your Church Calendar...
Beautifully Embedded

One script tag connects your Planning Center events to any website. Live data. Five layouts. Works on Squarespace, WordPress, Wix, or raw HTML... no developer required.

No credit card required  ·  Free plan available  ·  2-minute setup

Works on

The Feature Nobody Else Has

"This Week's Services" Mode

Your church homepage should always answer one question... "What's happening this week?" PCOWidget's Simple layout does exactly that. Clean tiles. Live data from Planning Center. Sermon title pulled right from your PCO event notes. And that's just one of five layouts... use the monthly grid for your events page, cards for a ministry section, or list view anywhere that needs a compact feed.

  • Shows this week's events automatically... always current
  • Sermon title displayed automatically — PCO has no sermon title field, so just write sermon: Your Title anywhere in your PCO event notes and it appears on your site
  • Filter by ministry tag... Worship, Youth, Outreach, any tag you already use in PCO
  • 1 to 8 columns... matches any page width
  • Navigate week by week or lock to today's rolling window
This Week's Services  ·  Live
Traditional Worship
Grace and Peace
Sun, Mar 8
9:00 AM – 10:30 AM
Contemporary
Grace and Peace
Sun, Mar 8
11:00 AM – 12:30 PM
Midweek Prayer
Wed, Mar 4
6:30 PM – 7:30 PM
Youth Group
Sun, Mar 8
5:00 PM – 6:30 PM

Built-in Event Popover

Every Event. Full Details. One Click.

Visitors click any event and a rich detail card appears instantly — event photo, date, time, location, ministry tag, and full description. No page reload. No popup blocker.

Live widget — click any event below to see the popover in action

0
PCO churches to reach
5
Beautiful layouts
1
Line of code to embed
0s
Sync delay... it's live

Get Up and Running

Set Up in Under 2 Minutes

No developer. No plugin. No build step. Just three straightforward steps and your live calendar is live.

Connect Your PCO Account

Sign up and provide your Planning Center Application ID and Personal Access Token. We store your credentials encrypted... they never leave our servers.

Receive Your Embed Key

We generate a unique API key tied to your church and your allowed domains. Your key only works on websites you authorize... nobody else can use it.

Paste One Line of Code

Drop the script tag into your website's HTML... Squarespace Code Block, WordPress shortcode, or directly in your page. Add data-* attributes to choose a layout, filter by tag, set columns, and more. Your live calendar appears instantly.

<script src="https://api.pcowidget.com/v1/widget.js?key=YOUR_KEY" data-layout="simple" data-this-week="1" data-columns="2" data-tag="Worship" data-title="This Week's Services"> </script>

Everything You Need

Packed with Features... Ready Out of the Box

Live PCO Sync

Data is fetched directly from Planning Center on every page load. Add an event in PCO... it's live on your website immediately. No 24-hour delay.

Five Beautiful Layouts

Service Tiles, Event Cards, List View, Monthly Grid, and Week Strip. Choose the right layout for every page on your site... mix and match freely.

Works Everywhere

Squarespace, WordPress, Wix, Webflow, or hand-coded HTML. If a page can run JavaScript, it can run PCOWidget. No plugins or backend required.

Mobile First

Every layout is fully responsive and specifically tested on phones and tablets. On small screens, the calendar grid collapses to dot indicators so nothing ever feels cramped.

Click-to-Details Popover

Clicking any event opens a full-detail modal... image, time, location, description, and "Add to Calendar" link. No page navigation. No popup blockers. Works in Squarespace.

Sermon Title on Recurring Events

Your “Traditional Worship” event recurs every week in PCO — the event stays the same, but the sermon title changes. Just write sermon: Your Title anywhere in the PCO event notes and PCOWidget surfaces it on your site automatically. Update it once in PCO... it appears everywhere the widget is embedded.

Auto-Colored by Ministry Tag

Events are automatically color-coded by their PCO tag — Worship in blue, Youth in purple, Children in amber, Outreach in pink. An event with multiple tags shows all of them as color badges. No configuration needed... assign tags in PCO and the colors follow.

Built-in View Switcher — Show or Hide

The widget includes a view toolbar — Month grid, Week strip, List, and Cards. Visitors switch perspectives without a page reload. Want a single locked view with no toolbar? Choose the Simple layout or any layout without navigation and the switcher stays out of the way.

Registration Links & iCal

If a PCO event has a registration URL, the widget links to it automatically — on the card, in the list row, and in the popover. Add to Calendar exports a .ics file compatible with Google Calendar, Apple Calendar, and Outlook. Zero setup.

Past Events — Your Call

By default the widget shows only upcoming events, so your homepage is never cluttered with things that already happened. Add data-include-past="true" on a dedicated archive page to show what’s already taken place — ministry recaps, past sermon series, small group history. Clean by default. Open when you want it.

data-* Attribute API

Filter by PCO tag. Show only featured events. Set 1 to 8 columns. Pick a shadow color. Override the heading. Enable week navigation. Mount into any element. Every option lives on the script tag itself... no dashboard login, no config file.

Never an Empty CalendarNew

It’s the 28th, the next event is nine days out, and your calendar page is a blank box. Add data-auto-advance="2" and the widget skips ahead to the next month that actually has something, heading and all. Or write your own message with data-empty-message. Or hide the widget completely with data-hide-if-empty. Your page, your call.

Tidy TagsNew

An event carrying eight Planning Center tags turns a card into a wall of chips. data-show-tags="Campus" keeps the one tag group that matters and hides the rest, and a campus you add next year shows up on its own. Filtering which events show and which tags show are two separate controls, so you can do either or both.

Your Draft Calendar Stays PrivateNew

Planning Center already knows which events are approved and which you’ve published to Church Center. The widget honors both, so tentative bookings, staff meetings, room holds, and anything still awaiting approval never reach your public page. Need to see the drafts? Put a second widget on a staff-only page with data-visibility="pending" and preview exactly how an event will look before you publish it.

Built for the Whole Church

One Widget. Every Ministry Page.

The same script tag powers every ministry section on your site. Change the tag filter, pick a layout, set your columns — each page shows exactly what that ministry needs, all live from the same Planning Center account. Events can carry multiple PCO tags and all of them display as color-coded badges. The data-tag filter simply scopes which events the widget shows.

Women’s Ministry Page

Cards layout with 3 columns shows upcoming Bible studies, retreats, and fellowship nights — filtered to just the Women’s Ministry tag from PCO.

data-layout="cards" data-tag="Women's Ministry" data-columns="3" data-title="Upcoming Women's Events" data-limit="6"
Youth Group Page

List layout keeps it clean and mobile-friendly for teens browsing on their phones — just Youth-tagged events with full details one click away.

data-layout="list" data-tag="Youth" data-title="Youth Group Events" data-featured="1" data-limit="8"
Kids Church Homepage

Simple tiles with week navigation — parents can see this Sunday’s kids program at a glance and step forward to check upcoming special events.

data-layout="simple" data-tag="Kids" data-columns="2" data-this-week="1" data-allow-week-nav="1"

All Configuration Options

Every setting lives on the script tag itself — no dashboard login, no config file, no developer required after initial setup.

data-layout
table  |  list  |  cards  |  week  |  simple
Which layout to render. Default: table
data-tag
tag name  |  tag1, tag2 (OR)
Filter to a PCO tag. Comma-separate for OR logic: data-tag="Youth,Women's Ministry" shows either tag.
data-title
any string
Override the section heading shown above the widget.
data-columns
1 – 8
Number of tiles per row in the simple and cards layouts. Default: 2
data-limit
any number
Maximum number of events to show. Default: 50
data-featured
true  |  1  |  false  |  0
Filter by featured status. true = featured only, false = non-featured only, absent = all events.
data-this-week
true  |  1
Rolling 7-day window from today — always shows this week’s events without any manual updates.
data-allow-week-nav
true  |  1
Adds Prev / Next week navigation buttons so visitors can browse forward and back.
data-nav-align
left  |  center  |  right
Alignment of week navigation buttons. Default: center
data-include-past
true  |  false  |  1  |  0
Include events that have already ended. Default: false
data-hide-end-time
true  |  1
Show only the start time — hides the “– 10:30 AM” portion. Useful for service tiles where end times add clutter.
data-hide-if-empty
true  |  1
Completely hides the widget — no box, no message, no space — when zero events match the current parameters.
data-empty-messageNew
any text, up to 200 characters
Replace the default “no upcoming events” wording with your own. Not used when data-hide-if-empty is set, since nothing renders at all.
data-show-tagsNew
tag group name  |  tag name  |  0
Which tag chips are visible. Matches a Planning Center tag group or an individual tag, so data-show-tags="Campus" keeps the campus chip and hides the rest. Display only, it does not change which events appear. Default: all tags.
data-auto-advanceNew
1 – 6
If the month a visitor lands on has no matching events, skip ahead up to this many months to the first one that does. The heading follows the jump. Default: off.
data-visibilityNew
published  |  approved  |  pending  |  rejected
How far down Planning Center’s approval and publish ladder to look. Each level adds to the one before it. Default: published, meaning approved and published to Church Center. The lower levels are for staff-only preview pages.
data-shadow
blue  |  burgundy  |  standard
Card shadow color accent for the cards layout. Default: blue
data-target
any element ID
Mount the widget into an existing element on your page instead of rendering inline after the script tag.
🛠 Build your script → View all examples → Full docs →

How We Stack Up

PCOWidget vs. Display.Church

Display.Church is the dominant player in this space. Here's how the two compare on the things that matter most to a busy church.

Feature PCOWidget Display.Church
"This Week's Services" mode Not available
Live sync from Planning Center Instant 1-2x per day
Monthly view limits None 500-3,000 views
Starting price Free — Pro $12/mo $15/month+
data-* attribute configuration GUI only
Squarespace-native popover
Multiple widget instances per page Unlimited Limited by plan
iCal / Add to Calendar

Straight From Churches

What It's Like Once It's Running.

PCOWidget is a must have for any church that uses Planning Center. We use the 'Cards' view to display Featured Events on our website using a tag from our Planning Center Calendar, and wow PCOWidget really helped us level up! Now the public can see our most important events in a way that's clean, concise and professional. Best of all, because the calendar information is sync'd from Planning Center immediately and automatically, basically you just set it and forget it. Excellent.

chris systems admin, Shoresh David Messianic Synagogues

Using PCOWidget at your church? Tell us how it went.

Simple, Honest Pricing

Free to Start. $12 to Go Fully Yours.

Every feature is available on both plans. The only difference is the small “Powered by PCOWidget” link on the free tier — upgrade anytime to remove it and unlock unlimited domains.

Free
$0 /mo

All the features. Try it on your site today. No credit card.

  • All 5 layouts
  • Live PCO sync
  • Popover, iCal, tag colors
  • Sermon title extraction
  • 1 domain
  • “Powered by PCOWidget” link
Get Started Free

No setup fees. No contracts. Cancel anytime. Your widget keeps working even if you downgrade.

Your congregation deserves a calendar
that works as hard as you do.

Get started in minutes. Free plan available. No credit card required.

Questions

Frequently Asked

Is PCOWidget affiliated with Planning Center?
No... PCOWidget is an independent product built by Comp Edge Solutions. We use Planning Center's public API with your own PCO credentials. We are not affiliated with, endorsed by, or sponsored by Planning Center Online.
Does it work on Squarespace?
Yes... and it was specifically designed with Squarespace in mind. The event detail popover is mounted directly on the page body, which means it escapes Squarespace's container overflow restrictions. The CSS uses scoped class names that won't conflict with your Squarespace theme. Paste the script tag in a Code Block and you're done.
What happens when I change an event in Planning Center?
The change appears on your website immediately. PCOWidget fetches live data directly from the Planning Center API on every page load... there's no cache delay, no nightly sync, no "changes appear within 24 hours." The moment you save in PCO, it's live.
Do I need a developer to set this up?
No. You copy one script tag and paste it into your website. On Squarespace, that means adding a Code Block. On WordPress, it means pasting into a Custom HTML block. On Wix, it means using their HTML embed element. If you can copy and paste, you can set up PCOWidget.
What's a "widget load" and will I ever hit a limit?
A widget load is counted each time the script fetches fresh data from our server — roughly once per visitor per page view. On the free tier there is a fair-use daily cap that covers virtually any church website. On Pro there is no limit. Either way, the widget is never hard-cut off mid-service — if you approach your cap we’ll email you well in advance so you can decide whether to upgrade.
Can I put multiple widgets on the same page?
Yes. You can embed multiple instances with different layouts and filters on the same page. For example... a "Simple" tile widget showing this week's services at the top, and a full monthly grid further down. Each counts as a separate widget load.
What can I configure without touching my website code again?
Quite a bit... all through data-* attributes right on the script tag. Choose from five layouts: simple service tiles, event cards, list view, monthly grid, or week strip. Filter to a specific PCO ministry tag. Show only featured events. Set 1 to 8 columns. Pick a shadow color (blue, burgundy, or standard). Override the section heading. Enable week navigation with prev/next buttons. Mount the widget into any existing element on your page. Choose which tag chips stay visible. Write your own wording for when nothing is scheduled, or have the widget skip ahead to the next month that has events. Point a staff-only page at the events you have not published yet. You can even run multiple widgets on the same page with completely different settings... no dashboard login required to change any of it.
Is my PCO data secure?
Your Planning Center credentials (App ID and Personal Access Token) are stored encrypted using AES-256-CBC encryption. They are only decrypted server-side when making API calls to PCO. Your credentials are never exposed in the JavaScript that runs in visitors' browsers... they see only the rendered event data.
Why is one of my Planning Center events not showing on the widget?New
The widget shows only events that are approved in Planning Center and published to Church Center. If an event is missing, open it in PCO Calendar and check both. Either one will keep it off your website, which is deliberate: it is what stops tentative bookings, room holds, staff meetings, and anything still waiting on approval from appearing in front of your congregation. If your church does not use PCO's approval workflow at all, only the publish setting matters. To see what is being held back, put a second widget on a staff-only page with data-visibility="pending".
Can I preview an event on my site before it goes public?New
Yes. data-visibility lets a second widget on a staff-only or password-protected page show the levels underneath what the public sees: approved adds events you have not published yet, pending adds events awaiting approval, and rejected shows your entire calendar. Your team can check exactly how an event will look, with its real image, tags, and times, before anyone else can see it. Your public page keeps its default of published events only. Do not put anything other than the default on a page visitors can reach.
My events have a lot of Planning Center tags. Can I hide some of them?New
Yes. An event carrying six or eight tags turns a card into a wall of chips and pushes the title and details down the page. data-show-tags is a whitelist for what stays visible. It matches a Planning Center tag group or an individual tag name, so data-show-tags="Campus" keeps your campus chip and hides everything else, and a campus you add next year appears on its own with no change to your embed code. Use data-show-tags="0" to hide tag chips entirely. This is display only: it never changes which events appear. To filter the events themselves, use data-tag.
What does the widget show when there are no events this month?New
You have three choices. By default it shows a short "no upcoming events" message, and you can replace that wording with data-empty-message. data-hide-if-empty removes the widget entirely, leaving no box and no blank space. Or data-auto-advance="2" skips ahead to the next month that does have events, up to two months out, with the heading following the jump. That last one solves the late-in-the-month problem: it is the 28th, your next event is nine days away, and instead of an empty box a visitor sees what is actually coming up.
How does this compare to Display.Church?
PCOWidget offers live sync (vs. Display.Church’s 1-2x daily sync), a free tier with all features included, and a simple $12/month Pro plan with no view limits and no branding. Display.Church has more no-code customization options and supports multi-source calendars (Google Calendar, Breeze, etc.). If you want live data, a clean service-times tile with sermon title display, and a pricing model that won’t cut your widget off on a Sunday morning — PCOWidget is the better fit.