Automated Scheduling with Microsoft Bookings & Power Automate
Overview
This guide shows you how to connect Microsoft Bookings with your PSA platform to streamline and automate technician scheduling.
By integrating these systems, you create a seamless workflow that connects end-user appointment bookings to internal service operations. Specifically, this setup enables you to:
- 🔍 Extract ticket context directly from booking form responses.
- 🗓️ Enrich calendar events with structured ticket details in the subject line.
- 📥 Update PSA tickets in real time to reflect a scheduled appointment.
- 🤖 Trigger meeting recap tools like Fireflies or other AI notetakers by embedding ticket identifiers into meeting titles.
🔧 What This Power Automate Flow Does
This solution is built entirely within Power Automate and acts as a smart bridge between Microsoft Bookings and your PSA platform (e.g. ConnectWise, Autotask, Halo).
When a customer schedules an appointment using your Microsoft Bookings page, the Power Automate flow is triggered and performs the following steps:
- 🔍 Extracts the ticket number from the customer’s booking form response.
- 📋 Calls your PSA’s API to fetch ticket details like summary and owner.
- 🗓️ Updates the calendar event title with the ticket number and summary (e.g.,
[12345] - Printer not working
). - 📥 Updates the ticket status to "Scheduled" in your PSA system.
- 👤 Adds a scheduled resource/technician to the ticket based on the booking info.
- 🤖 Triggers AI Notetakers (e.g. Fireflies AI) by embedding ticket metadata in the event title.
🧠 Why This Matters
✅ Business Value
- Reduces technician coordination overhead: No need to manually update calendars or ticket statuses.
- Improves recap accuracy: Fireflies or Copilot recap tools can pick up the ticket number from meeting titles.
- Syncs calendars: Automatically connects Bookings and O365 calendars with CW schedules.
- Protects SLA compliance: Ensures that scheduled tickets are statused appropriately and assigned.
🎯 Best Use Cases
- MSPs with multiple engineers booking their own time.
- Partners using Fireflies AI or other AI notetakers for meeting recaps.
- Teams aiming to reduce manual triage and improve customer experience.
⚙️ How to Set It Up
1. Download and Import the Power Automate Flow
Coming soon!
How to Import It
- Go to Power Automate.
- In the left-hand menu, click My flows → Import → Import Package (Legacy).
- Upload the
.zip
file you downloaded above. - Follow the prompts to configure connectors (Microsoft Bookings, Office 365 Outlook, and your PSA API).
1. Shared Booking Page Requirements
- You must include a shared booking page and custom form questions in Microsoft Bookings that collects the ticket number (e.g., "Enter your Thread ticket number").
- Ensure staff members are mapped to the right Office 365 calendars.
2. Power Automate Flow Structure
- Trigger:
When an appointment is created
via Microsoft Bookings. - Variable Init + Ticket Validation: Validates the ticket number format.
- API Call: Retrieves ticket data from ConnectWise.
- Switch Case: Maps engineer name → calendar → event update.
- PATCH Call: Updates the ticket status to “Scheduled”.
- POST Call: Creates a scheduled resource on the CW ticket.
- Update Event: Edits the Outlook calendar entry title.
3. Required Connections
Ensure these connectors are active in Power Automate:
Connector | Use |
Microsoft Bookings | Receive appointments |
Office 365 Outlook | Update calendar events |
ConnectWise (via HTTP) | Fetch and modify ticket data. Authentication is handled using an HTTP header containing your Basic Auth token and |
🛠️ Example Booking Flow
- Technicians use snippets in Thread Inbox to quickly share your team’s Microsoft Bookings link, making it easy for customers to book time with yo.
- User Books a time via your public Microsoft Bookings page.
- Flow Triggered → Validates and extracts the ticket number.
- Calls CW API to pull ticket summary and owner.
- Updates Calendar Title →
[#12345] - Printer Jam on Floor 2
- Changes Ticket Status → “Scheduled”
- Adds Scheduled Resource in CW so SLA timers and escalations reflect reality.
🔍 FAQs
- What if the ticket number is wrong? The flow includes a basic numeric validation step and will fail silently if a non-ticket value is entered.
- Can I extend this to other boards or engineers? Yes—just expand the
Switch
block and calendar logic with the engineer’s name and calendar ID.