Bronjoy
Integrations

Google Calendar

Sync Bronjoy appointments with Google Calendar — two-way sync and iCal feeds.

Overview

Bronjoy integrates with Google Calendar to keep staff appointments in sync. Two sync modes are available:

ModeDirectionHow it works
Google Calendar syncTwo-wayOAuth connection; pushes appointments to Google, pulls external events to block slots
iCal feedOne-way (read)Subscribe from any calendar app; read-only, auto-refreshes

Google Calendar Sync

Connecting

  1. Get the authorization URL:
    GET /api/org/calendar/auth-url?provider=google
    Authorization: Bearer your-token
    

    Returns a Google OAuth consent URL. The staff member opens this in their browser.
  2. After granting access, Google redirects back to Bronjoy. The connection is created automatically.
  3. Verify the connection:
    GET /api/org/calendar/connections
    Authorization: Bearer your-token
    

Sync behavior

Once connected, Bronjoy syncs in both directions:

Push (Bronjoy → Google):

  • New appointments are created as Google Calendar events
  • Rescheduled appointments update the event
  • Cancelled appointments delete the event
  • Event description includes service name, client info, and notes

Pull (Google → Bronjoy):

  • External events on the staff's calendar block availability slots
  • Pulled events are cached and refreshed periodically
  • All-day events are handled correctly (block the entire day)

Toggle sync features

Control what gets synced per connection:

PATCH /api/org/calendar/connections/{connection}/toggle
Authorization: Bearer your-token
Content-Type: application/json
{
  "push_enabled": true,
  "pull_enabled": true
}
SettingWhat it does
push_enabledPush Bronjoy appointments to Google Calendar
pull_enabledPull Google events to block Bronjoy availability
sync_enabledMaster toggle — disables all sync when false

Manual sync

Trigger an immediate sync (useful after making changes in Google Calendar):

POST /api/org/calendar/connections/{connection}/sync
Authorization: Bearer your-token

Disconnecting

DELETE /api/org/calendar/connections/{connection}
Authorization: Bearer your-token

This revokes the OAuth token, removes cached events, and stops all sync. Existing Google Calendar events created by Bronjoy are not deleted.

iCal Feed

An iCal feed is a read-only URL that any calendar application can subscribe to. It shows the staff member's upcoming appointments.

Get the feed URL

GET /api/org/calendar/feed-url
Authorization: Bearer your-token

Returns a URL like:

https://api.bronjoy.com/api/calendar/feed/abc123token.ics

Subscribe in your calendar app

Google Calendar:

  1. Open Google Calendar → Other calendars → From URL
  2. Paste the feed URL
  3. Google refreshes it automatically (usually every few hours)

Apple Calendar:

  1. File → New Calendar Subscription
  2. Paste the feed URL

Outlook:

  1. Add Calendar → From Internet
  2. Paste the feed URL

Feed details

  • Contains upcoming appointments for the next 6 months
  • Excludes cancelled appointments
  • Each event includes: service name, client name, notes, location
  • Refreshes every 60 minutes (calendar app may vary)
  • Token-authenticated — no login required

Download single appointment

Clients can download a single appointment as an .ics file:

GET /api/client/appointments/{appointment}/ics
Authorization: Bearer client-token

Or get links to add to specific calendar apps:

GET /api/client/appointments/{appointment}/calendar-links

Returns Google Calendar and Outlook deep-links.

Best Practices

  • Use Google Calendar sync if staff actively manage their schedule in Google Calendar — it prevents double-bookings by pulling external events
  • Use iCal feed if staff just want a read-only view of their Bronjoy appointments in their preferred calendar app
  • Enable pull sync for staff who have personal events on their Google Calendar that should block booking slots
  • Don't use both Google Calendar sync and iCal feed for the same staff member — it creates duplicate events
Copyright © 2026