MassageHub has full two-way Google Calendar integration: bookings are pushed straight to your diary the moment they're made, and you can connect personal calendars so existing events automatically block your availability.

Push bookings to Google Calendar (recommended)

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.

  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

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).

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.