
Amelia is one of the most popular booking plugins for WordPress. CalNative Booking is a newer, lighter plugin built specifically around Google Calendar. Both claim Google Calendar integration — but they approach it very differently, and that difference matters more than most comparison articles let on.
This article focuses specifically on the Google Calendar sync in each plugin: how it works, what it can and can’t do, and which approach is better suited to your workflow.
How Amelia connects to Google Calendar
Amelia uses OAuth to connect to Google Calendar. Each employee in your Amelia setup connects their own Google account by clicking a link inside the plugin, authorising Amelia to access their calendar, and completing the standard Google permission flow. Once connected, Amelia reads that employee’s calendar to check availability and writes new bookings back as Google Calendar events.
This approach works — but it comes with practical limitations that affect real-world use:
- OAuth tokens expire. Google OAuth access tokens have a limited lifespan. If the connection isn’t refreshed, Amelia can lose access to the calendar silently — availability checks continue to work from Amelia’s own data, but the Google Calendar sync breaks until someone manually reconnects.
- Each employee must connect individually. In multi-staff setups, every employee has to go through the OAuth flow themselves. If a staff member leaves or changes their Google account, the connection needs to be re-established.
- Availability comes from Amelia’s database first. Amelia manages its own schedule data. Google Calendar is used as an additional source to check for conflicts, but the primary record of bookings lives in Amelia’s tables — not in Google Calendar.
- Google Calendar sync is a paid feature. It is not available on Amelia’s free plan. You need at least the Basic license ($79/year) to access it.
How CalNative Booking connects to Google Calendar
CalNative Booking uses a Google service account — a dedicated server-to-server credential that you create once in Google Cloud Console and never have to reconnect. There is no OAuth flow, no login button, no token to refresh. The plugin authenticates using a JSON key file that you upload during setup.
From that point on, the Google Calendar API is the single source of truth:
- Availability is read directly from your calendar’s free/busy data in real time. If you block time in Google Calendar — for a personal appointment, a holiday, or anything else — that time becomes unavailable in the booking widget automatically. No manual syncing needed.
- Every confirmed booking creates a real Google Calendar event with the client’s name, email, phone, and notes in the event description. The client receives a confirmation email with an ICS file they can add to their own calendar.
- No duplicate database of appointments. CalNative stores a booking record in WordPress (for the admin log and cancellation handling), but the calendar event in Google is the primary record — not a copy synced from somewhere else.
- The connection never expires. Service account credentials don’t time out. Once configured, the integration works indefinitely without any maintenance.
The key difference: sync vs native
Amelia’s calendar integration is a sync — Amelia manages its own booking data and synchronises it with Google Calendar as a secondary step. CalNative Booking’s integration is native — Google Calendar is the primary data source from the moment a visitor opens the booking widget.
In practice this means:
- If your Google Calendar already has events (client calls, personal appointments, recurring meetings), CalNative will respect them automatically. Amelia may not see them unless you have Google Calendar sync enabled and working correctly.
- With Amelia, if the OAuth connection breaks, bookings continue but the Google Calendar stops updating until you fix the connection. With CalNative, if the service account loses access, the booking widget will return an error — nothing silently breaks.
- CalNative availability is always current because it reads from the API on demand. Amelia availability depends on how frequently the sync runs and whether the connection is active.
Where Amelia is the stronger choice
Amelia is a significantly more feature-complete plugin overall. If Google Calendar sync is just one part of what you need, Amelia’s broader capabilities may outweigh its sync limitations:
- Multiple employees and locations — Amelia is built for businesses with several staff members, each with their own services and availability. CalNative is a single-host plugin.
- Payment collection — Amelia supports Stripe, PayPal, and WooCommerce at checkout. CalNative does not take payments.
- Service packages and coupons — available in Amelia, not in CalNative.
- Customer-facing dashboard — clients can log in to view and manage their bookings.
Where CalNative Booking is the stronger choice
If you are a solo practitioner — a consultant, therapist, coach, or freelancer — who uses Google Calendar as your primary calendar and wants the simplest possible setup, CalNative Booking is the more focused tool:
- No OAuth maintenance — the service account connection never expires or breaks silently.
- True real-time availability — the widget reads directly from your Google Calendar every time a visitor opens it.
- Lower price — $39/year versus Amelia’s $79/year starting price, and CalNative includes Google Calendar sync in that price with no add-ons required.
- Full styling control — colours, fonts, border radius, max width, custom CSS. Amelia’s styling options are more limited without CSS overrides.
- Self-cancellation links — clients can cancel their own bookings from the confirmation email with no login required.
Feature comparison
| Feature | Amelia (Basic, $79/yr) | CalNative Booking ($39/yr) |
|---|---|---|
| Google Calendar sync | ✓ OAuth (paid plans only) | ✓ Service account API |
| Sync method | Two-way OAuth sync | Native API — real-time read/write |
| Token expiry / reconnection | OAuth tokens can expire | No expiry — service account |
| Availability source | Amelia database + GCal | Google Calendar only |
| Multiple employees | ✓ | ✗ — single host |
| Payment at booking | ✓ Stripe, PayPal | ✗ |
| Stays on your website | ✓ | ✓ |
| Custom styling | Limited | ✓ — full control |
| Self-cancellation links | ✗ | ✓ |
| ICS attachment in emails | ✓ | ✓ |
| Price | $79–$299/year | $39/year |
The bottom line
Amelia and CalNative Booking are solving different problems. Amelia is a comprehensive booking management system that happens to sync with Google Calendar. CalNative Booking is a Google Calendar booking widget that happens to be a WordPress plugin.
If you need multi-staff scheduling, payments at checkout, or a full-featured appointment management system, Amelia is the right choice and worth the higher price. If you use Google Calendar, work alone, and want booking embedded on your WordPress site with a tight integration that never needs maintenance, CalNative Booking is the simpler and more affordable fit.