Calendar sync does two separate jobs, and most therapists want both. Push bookings to your calendar puts your MassageHub bookings into your phone's Google Calendar. Block busy times reads your existing calendar events so clients can't book over them. They're set up separately — connecting one does not do the other.

Push bookings to Google Calendar

Connect Google Calendar with one click and every new booking is automatically added as an event — including the client's name, phone number, and location. When a booking is cancelled it's removed from your calendar automatically.

This connection only writes bookings to your calendar — it does not read your existing events. To stop clients booking over commitments you already have, set up Block busy times as well (covered below).

  1. Go to Settings → Integrations
  2. Under Push bookings to your calendar, click Connect Google Calendar
  3. Sign in with your Google account and allow the requested permissions
  4. Once connected, all future bookings will appear in your Google Calendar instantly
The Integrations page showing the two calendar-sync jobs — Push bookings to your calendar with a Connect Google Calendar button, and Block busy times with an iCal URL field
Two separate jobs — push your bookings out, and pull your existing events in to block busy times.

When you first connect, MassageHub will also backfill any upcoming appointments that were booked before you connected — so your calendar is complete from day one.

Note: During Google's review of the MassageHub app you may see a “Google hasn't verified this app” warning. This is temporary and safe to bypass — click Advanced, then Go to MassageHub.app (unsafe) to continue.

See your MassageHub appointments in your calendar app (iCal feed)

Subscribe to your private appointment feed and all your bookings will appear as events in Google Calendar, Apple Calendar, Outlook, or any app that supports iCal.

  1. Go to Settings → Integrations — your private calendar feed URL is shown at the top.
  2. Copy the URL.
  3. In Google Calendar: click + next to "Other calendars" → From URL → paste the link → Add calendar.
  4. In Apple Calendar: FileNew Calendar Subscription → paste the link.
  5. In Outlook: Add calendarSubscribe from web → paste the link.

Your appointments appear as a separate calendar. It's read-only — you manage bookings from the MassageHub dashboard, not from your calendar app.

Calendar apps refresh subscribed feeds on their own schedule — typically every 12–24 hours. A new booking may not appear immediately.

The feed URL is private — anyone with it can see your appointment schedule. Treat it like a password and don't share it publicly.

Block busy times from Google Calendar

Connect your personal Google Calendar and any events in it (meetings, personal appointments, days off) will automatically block those times on your booking page. No Google account sign-in required — you paste a private link from your Google Calendar settings.

  1. Open Google Calendar on a computer (not the app)
  2. Find your calendar in the left sidebar, click the menu next to it, then Settings and sharing
  3. Scroll down to Integrate calendar
  4. Copy the Secret address in iCal format — it ends in .ics
  5. Go to Settings → Integrations in MassageHub and paste the URL into the Google Calendar field
  6. Click Test to confirm it connects, then Save

MassageHub checks the feed every 15 minutes. You can also set a buffer after Google Calendar events and choose how far ahead to import (1–3 months).

This is a read-only connection — it only blocks busy times. It does not push your MassageHub bookings anywhere. If you also want your bookings to appear in your phone's calendar, set up Push bookings to Google Calendar as well.

Block busy times from Apple Calendar or any iCal feed

You can connect iCloud Calendar, Outlook, or any other calendar app that exports an iCal link — not just Google.

  1. In Apple Calendar: right-click a calendar → Share Calendar → copy the URL.
  2. On iCloud.com: open Calendar → share icon next to a calendar → Public Calendar → copy the link.
  3. Go to Settings → Integrations in MassageHub and paste the URL into the iCal URL field under "Block out busy times from Apple Calendar or any iCal feed".
  4. Add an optional Calendar name (shown on your therapist calendar as the source label), then click Test and Save.

Both webcal:// and https:// URLs are supported — MassageHub normalises them automatically.

Block busy times from Fresha

If you still use Fresha alongside MassageHub, you can connect your Fresha calendar so appointments there automatically block time here too — preventing double-bookings.

  1. In Fresha, go to Profile → Workspaces → Manage → Calendar sync, select Other Calendars and Export your Fresha Calendar, then copy the provided URL.
  2. Go to Settings → Integrations in MassageHub and paste it into the Fresha export URL field.
  3. Click Test and Save.

Travel buffer setting — Choose how Fresha handles travel time in its export. No buffers: Fresha exports raw appointment times and MassageHub adds your standard travel buffer before and after each block. After only (recommended default): Fresha pads the end of each appointment with travel time, so MassageHub only adds a buffer before the block. Before and after: Fresha includes travel time on both sides and MassageHub adds nothing extra. When in doubt, choose "After only" and check whether your availability looks right.

Fresha events appear as emerald blocks on your therapist calendar so you can tell them apart from MassageHub appointments.

Buffer strips on your calendar

When a buffer is applied to an imported calendar event, a hatched grey strip appears directly below the event block on your therapist calendar — showing exactly how much time is being held after that event before the next booking slot opens.

Use the Show/Hide buffers button at the top of the calendar to toggle these strips on or off. The legend at the bottom of the calendar labels them as Buffer time.