Bookings Staff Daily Schedule Briefing
Each morning the flow reads each Microsoft Bookings staff member's appointments for the day and sends them a personalized briefing in Teams (and optionally SMS) - client names, services, times, notes, and any prep required - plus a gap analysis. Helps staff start the day prepared without checking Bookings.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
FlowLibs - Bookings Staff Daily Schedule Briefing reads every Microsoft Bookings staff member's appointments for the current day and sends each of them a personalized morning briefing - services, times, clients, notes, and an open-time/gap note - to a Microsoft Teams channel and by email. Staff start the day prepared without opening Bookings.
Status: Built. Off (demo). Going live requires only connection authorization + environment-variable configuration.
Use Case
A services team (salon, clinic, advisory, support desk) wants each staff member to receive their day's schedule and prep notes automatically each morning, with a quick read on where the open time sits.
Flow Architecture
Daily Morning Briefing
Recurrence (Day/1 @ 07:00 EST)Fires every morning.
Init var... (11 variables)
Initialize VariableBind env vars + compute today's UTC window (varDayStart/varDayEnd).
List Bookings Businesses
Bookings ListBookingsBusinessUserAsAdminConnector-first call validating the connection administers Bookings businesses.
Get Today Appointments
HTTP GET (Graph calendarView)Today's appointments (no connector read-appointments op exists).
Get Staff
HTTP GET (Graph staffMembers)Staff list (id, displayName, emailAddress).
For Each Staff
Apply to eachOne briefing per staff member.
Filter Staff Appointments -> Select Appointment Lines -> Compose Briefing Html
Filter array + Select + ComposeFilter to this staff member's appointments, format each as an HTML line, and assemble the personalized briefing with gap note.
Post To Teams -> Send Email
Teams PostMessageToConversation + Outlook SendEmailV2Post the briefing to the channel and email it to the staff member.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_BookingsBusinessId | String | <configure> | Bookings calendar to read. |
| flowlibs_GraphApiEndpoint | String | https://graph.microsoft.com/v1.0 | Graph base URL. |
| flowlibs_TenantId | String | <your-tenant-id> | Graph app-only auth. |
| flowlibs_GraphClientId | String | <configure> | Graph app-only auth. |
| flowlibs_GraphClientSecret | String | <configure> | Graph app-only auth (bound, never inlined). |
| flowlibs_TeamsGroupId | String | <your-team-id> | Teams team for the post. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Teams channel for the post. |
| flowlibs_IncludeGaps | String | true | When true, include the open-time/gap note. |
| flowlibs_SmsBriefing | String | false | Reserved flag for a future Twilio SMS extension. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Microsoft Bookings | shared_microsoftbookings | ListBookingsBusinessUserAsAdmin |
| Microsoft Teams | shared_teams | PostMessageToConversation |
| Office 365 Outlook | shared_office365 | SendEmailV2 |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Client history
- Extend the Graph read or add a Dataverse lookup to include each client's last visit and notes.
- Prep checklist
- Map per-service prep items into Compose Briefing Html.
- SMS
- Wire a Twilio action inside the loop, gated on flowlibs_SmsBriefing = true (env var already provided).
- Gap precision
- Replace the gap note with a consecutive-appointment gap computation against business hours for exact open-slot windows.
- EOD recap
- Clone with an evening recurrence to summarize completed vs. no-show.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Today's UTC window
Start and end of the current UTC day.
EXPR.02Graph calendarView URI
Reads today's appointments.
EXPR.03Per-staff filter
Filters appointments to one staff member.
EXPR.04Appointment line
Formats one appointment as an HTML list item.
EXPR.05Select-to-HTML unwrap
Unwraps the Select array into a single HTML string.
Customize & download
Generate a ready-to-import copy of this solution with your environment-variable values baked in — available on Base, Pro, or Team.
Upgrade to customize
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.