Skip to main content

🔄 How to Sync bsport Bookings to Apple Calendar (iCloud)

This guide explains how to automatically add your bsport bookings to Apple Calendar using a Mail Rule and a small AppleScript.

Jeremy avatar
Written by Jeremy
Updated yesterday

👉 No third-party tools required.

Result: each time a bsport booking email arrives, a calendar event is automatically created in your chosen iCloud calendar.

🧩 Prerequisites

Before getting started, make sure that:

  • You’re using Apple Mail on Mac (Ventura / Sonoma / Sequoia).

  • You receive your bsport booking confirmation emails in that Mail app.

  • You’re signed in to iCloud so your Calendar syncs with your iPhone/iPad.

🪄 Step 1 — Create the Script File

Create a plain text file named
bsport_to_calendar_mail_rule.applescript
and paste in the script provided in the appendix (or download it if available).


📂 Step 2 — Move It to the Right Folder

  1. Open FinderGoGo to Folder…

  2. Paste this path and press Return:

    ~/Library/Application Scripts/com.apple.mail
  3. Drag and drop the script file into that folder.


⚙️ Step 3 — Create the Mail Rule

  1. Open Apple MailSettingsRulesAdd Rule

  2. Description: Auto-add bsport bookings

  3. If ANY of the following conditions are true:

    • From contains bsport

    • OR Subject contains booking

  4. Perform the following action:

    • Run AppleScript → select the script you just added.

  5. (Optional) Add another action “Move Message” to a Bookings mailbox to keep things tidy.

  6. Click OKApply.


🔐 Step 4 — Allow Permissions

The first time the script runs, macOS will ask for permission to let Mail control Calendar and run scripts.
Click Allow.
You can later change the target calendar or the default event duration (see below).


✅ Step 5 — Test It

  1. Open any bsport booking email.

  2. In the Mail menu, choose Message → Apply Rules.

  3. Open your Calendar: you should see a new event titled
    Shropshire Floats – [email subject] 🎉


🧠 Notes & Customizations

  • Change the calendar name:
    Edit the line

    property targetCalendarName : "Home"

    to match your iCloud calendar name (e.g. "Bsport Studio").

  • Change the event duration:
    Edit

    property defaultDurationMinutes : 60

    to set a different duration (e.g. 90 for a 90-minute session).

  • Date detection:
    The script captures the first date/time found in the email.
    If your template contains multiple dates, place the appointment line at the top of the email.

  • Important:
    This is a one-way sync (bsport → Calendar).
    If a booking is changed or cancelled in bsport, remember to manually update your calendar event.

Did this answer your question?