wiki/knowledge/integrations/bookly-square-google-calendar-sync.md Layer 2 article 782 words Updated: 2026-04-05
↓ MD ↓ PDF
integrations bookly square google-calendar zapier wordpress booking

Bookly–Square–Google Calendar Sync Pattern

Overview

When a client uses both Bookly (WordPress booking plugin) and Square (POS/scheduling), direct two-way sync between the two systems via Zapier is not reliably achievable. The recommended pattern is to introduce Google Calendar as a centralized sync hub, with both Bookly and Square communicating to and from it independently.

This pattern was developed during the [1] project.


The Problem

Direct Bookly ↔ Square Sync Fails in One Direction

Bookly relies on its Zapier add-on for all third-party communication. While it is possible to push appointment data from Bookly to Square via Zapier, the reverse direction — Square back to Bookly — cannot be established through Zapier. This means appointments created or modified in Square do not propagate back to Bookly.

Timestamp Mismatch

Even in the working direction (Bookly → Square), a timestamp format mismatch between the two systems prevents Square from correctly reading appointment times. This requires a translation step, such as a Zapier AI action or a custom formatter, to normalize the timestamp before Square can create the appointment record.

Bookly's Native Square Integration Is Payment-Only

Bookly does have a built-in Square integration, but it covers payment processing only — not calendar or appointment syncing. Teams often assume this integration covers scheduling as well; it does not.


The Solution: Google Calendar as Sync Hub

Bookly ──┐
         ├──► Google Calendar ◄──► Square
Square ──┘

Both Bookly and Square are configured to sync with a shared Google Calendar. This sidesteps the direct Bookly ↔ Square limitation by making Google Calendar the source of truth for availability and appointments.

Why This Works

G Suite Simplifies Setup

If the client already uses G Suite (Google Workspace), all team email accounts are Google-domain accounts, meaning no new Gmail account needs to be created. The existing organizational calendar infrastructure can be used directly.


Implementation Steps

  1. Identify the Google Calendar account to use as the hub — typically the primary staff member's calendar or a dedicated shared calendar within the client's G Suite org.
  2. Grant Bookly access to the Google Calendar (via OAuth or Bookly's Google Calendar add-on settings).
  3. Connect Square to the same Google Calendar via Square's native calendar sync settings.
  4. Resolve the timestamp mismatch in the Bookly → Square Zapier zap. Use a Zapier Formatter or AI action step to convert Bookly's timestamp format to one Square accepts before the appointment creation step.
  5. Test the full loop: create a booking in Bookly, verify it appears in Google Calendar and Square; create/modify in Square, verify it reflects in Google Calendar.
  6. Verify deduplication logic: configure the Bookly → Square zap to search for an existing Square customer by email and phone before creating a new one, to avoid duplicate customer records.

Known Limitations

Issue Status
Square → Bookly direct sync via Zapier Not achievable; use Google Calendar as intermediary
Bookly timestamp format incompatible with Square Requires Zapier formatter/AI step to translate
Bookly native Square integration Payment only, not scheduling
Bookly third-party communication Always requires the paid Zapier add-on

UX Consideration: Service Variations and Booking Flow

A related challenge on projects using Bookly with service variations (e.g., multiple lengths or types of a single service):

See [1] for the specific implementation context.


References