Documentation Index
Fetch the complete documentation index at: https://docs.voxworks.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The O365 Bookings integration allows your assistant to:
- Check available time slots from your Microsoft Bookings calendar
- Book appointments directly into O365 Bookings
- Send SMS confirmation to the invitee
- Cancel bookings if needed during the call
This is a complete booking workflow — one tool handles the entire flow from availability checking through confirmation.
Provider: Microsoft (graph.microsoft.com)
Timezone: Australia/Sydney (automatically converted to UTC for API)
Location Type: In-person
Setup
1. Connect Microsoft Account
- Navigate to Integrations in your Voxworks team dashboard
- Find Microsoft 365 and click Connect
- Sign in with your Microsoft account that has access to Bookings
- Grant the required permissions for calendar access
2. Get Your Booking IDs
You’ll need three IDs from your Microsoft Bookings setup:
Business ID
- Go to Microsoft Bookings
- Select your booking page
- The Business ID is in the URL:
https://outlook.office.com/bookings/calendar?businessId=YOUR_BUSINESS_ID
Service ID
- In Microsoft Bookings, go to Services
- Click on the service you want to use
- The Service ID is in the URL or can be found in the service settings
Staff Member ID
- In Microsoft Bookings, go to Staff
- Click on the staff member who will handle the appointments
- The Staff Member ID is in the URL or staff settings
| Name | Data Type | Required | Description |
|---|
| Invitee Name | string | Yes | Full name of person booking |
| Invitee Email | string | Yes | Email address |
| Invitee Phone | string | No | Phone number |
| MS Booking Business ID | string | Yes | Microsoft Bookings Business ID |
| MS Service ID | string | Yes | Microsoft Bookings Service ID |
| MS Staff Member ID | string | Yes | Microsoft Bookings Staff Member ID |
| Number of Weeks | integer | No | Weeks of availability to check (1-8, default: 4) |
| SMS Message | string | No | SMS confirmation message template |
You can use variables in the invitee fields:
[Contact - First Name] for the name
[Contact - Email] or [Contact - Email (Verified)] for the email
[Contact - Phone] for the phone number
This tool uses the Microsoft 365 credentials configured in your team integration settings.
Manual Outputs
| Name | Data Type | Description |
|---|
| Result | bool | true if booking flow completed successfully |
Global Outputs
| Variable | Data Type | Description |
|---|
| [Calendar - Event ID] | string | Combined business_id|service_id|staff_id |
| [Calendar - Availability - Raw] | string | Available times in JSON format organised by week/day/time period |
| [Calendar - Availability - Formatted] | string | Human-readable availability summary |
| [Calendar - Booking Time - Raw] | string | Booked time in YYYY-MM-DD HH:MM format |
| [Calendar - Booking Time - Written] | string | Booked time in human-readable format |
| [Calendar - Booking Time - Spoken] | string | Booked time in natural spoken format |
| [Calendar - Booking ID] | string | Booking reference (used for cancellation) |
| [Calendar - Booking Error - Spoken] | string | Error message if booking failed (for assistant to speak) |
Conditions
Success (true)
The tool returns true when:
- The booking flow completes successfully
- An appointment is created in O365 Bookings
- SMS confirmation is sent (if configured)
Failure (false)
The tool returns false when:
- No availability exists within the requested week range
- The invitee email is missing or invalid
- The selected time slot is no longer available (race condition)
- The Microsoft 365 credentials are missing or invalid
- A network or API error occurs
This composite tool manages the complete booking workflow:
- Availability Check — Retrieves available time slots from O365 Bookings
- Time Selection — Presents options and captures user preference
- Booking Creation — Creates the appointment in O365 Bookings
- SMS Confirmation — Sends confirmation message to the invitee
- Cancellation — Handles cancellation if the user changes their mind
Troubleshooting
| Issue | Solution |
|---|
| ”Invalid credentials” | Reconnect Microsoft 365 in team integrations |
| ”No availability found” | Check your Bookings availability settings and date range |
| ”Service not found” | Verify the Service ID is correct and the service is active |
| ”Staff not found” | Verify the Staff Member ID is correct and staff is active |
| ”Booking failed” | Ensure the time slot is still available (race condition) |
Next Steps