Skip to main content
Microsoft Bookings logo

Overview

Add Microsoft Bookings to any ModuleX agent or workflow. Create and manage Microsoft Bookings businesses, services, staff members, customers, and appointments through the Microsoft Graph API (graph.microsoft.com/v1.0).
Categories: Scheduling & Events · Productivity & Collaboration · Scheduling · Business Services · Auth: OAuth2 · Actions: 10

Authentication

OAuth2 Authentication

Connect using a Microsoft (Azure AD / Entra ID) OAuth app with Bookings scopes.

Required Credentials

OAuth Configuration

  • Authorization URL: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
  • Token URL: https://login.microsoftonline.com/common/oauth2/v2.0/token
  • Scopes: offline_access, Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All

Available Actions

Parameters

string
required
ID of the Microsoft Bookings business that owns the appointment.
string
required
ID of the appointment to cancel.
string
required
Message sent to the customer and staff members explaining the cancellation.

Response

Parameters

string
required
ID of the Microsoft Bookings business that will own the appointment.
string
required
ID of the booking service the customer is booking.
string
required
ID of the existing customer the appointment is being booked for.
string
required
Appointment start time in ISO 8601 format (e.g. 2024-05-01T12:00:00).
string
required
Appointment end time in ISO 8601 format (e.g. 2024-05-01T13:00:00).
string
required
IANA time zone for the appointment (e.g. UTC, America/Chicago).
string
Display name to record for the customer on this appointment.
string
SMTP email address for the customer on this appointment.
string
IANA time zone for the customer (falls back to time_zone if omitted).
string
Phone number to record for the customer on this appointment.
string
Notes from the customer associated with this appointment.
boolean
True indicates that the appointment will be held online.
array
List of staff member IDs assigned to this appointment.
boolean
If True, send SMS notifications to the customer for the appointment.
number
Regular monetary price for the appointment.
string
Pricing structure: undefined, fixedPrice, startingAt, hourly, free, priceVaries, callUs, notSet.
string
Appointment length in ISO 8601 duration (e.g. PT1H, PT30M).
integer
Maximum number of customers allowed in this appointment.
string
Time to reserve before the appointment in ISO 8601 duration (e.g. PT15M).
string
Time to reserve after the appointment in ISO 8601 duration (e.g. PT15M).
string
Notes from the staff member about this appointment.
string
Additional information sent to the customer when the appointment is confirmed.
boolean
True allows the customer to manage bookings created by the staff.
boolean
If True, the customer will not receive an email confirmation for this appointment.

Response

Parameters

string
required
Customer-facing name of the booking business.
string
Email address for the business.
string
Telephone number for the business.
string
URL of the business web site.
string
Street address of the business.
string
City of the business.
string
State of the business.
string
Postal code of the business.
string
Country or region of the business.
string
ISO currency code the business operates in (e.g. USD).
string
Free-form description of the type of business.

Response

Parameters

string
required
ID of the Microsoft Bookings business that will own the customer.
string
required
Customer’s full name.
string
required
Customer’s email address.
string
Customer’s phone number.
string
Type of phone number: home, business, mobile. (Default: home)
string
Street address for the customer.
string
City for the customer.
string
State for the customer.
string
Postal code for the customer.
string
Country or region for the customer.

Response

Parameters

string
required
ID of the Microsoft Bookings business that will own the service.
string
required
Customer-facing name of the service.
string
Default service length in ISO 8601 duration (e.g. PT1H30M).
string
Free-form description for the service.
number
Default monetary price for the service.
string
Default pricing structure: undefined, fixedPrice, startingAt, hourly, free, priceVaries, callUs, notSet.
boolean
True indicates the service will be held online.
array
List of staff member IDs allowed to provide this service.
boolean
True hides this service from the customer-facing booking page.
string
Additional notes about this service (staff-facing).
boolean
True enables SMS notifications to customers for this service.

Response

Parameters

string
required
ID of the Microsoft Bookings business that will own the staff member.
string
required
Staff member’s name as shown to customers.
string
required
Staff member’s email address.
string
required
Staff member’s role: guest, administrator, viewer, externalGuest, scheduler, teamMember.
string
IANA time zone for the staff member (e.g. America/Chicago).
boolean
True means the staff member follows the business’ default hours; False uses workingHours.
boolean
True to send email notifications to this staff member.

Response

Parameters

string
required
ID of the Microsoft Bookings business to query.
string
required
Calendar view start in ISO 8601 (e.g. 2024-05-01T00:00:00Z).
string
required
Calendar view end in ISO 8601 (e.g. 2024-05-31T23:59:59Z).

Response

Response

Parameters

string
required
ID of the Microsoft Bookings business to query.

Response

Parameters

string
required
ID of the Microsoft Bookings business to query.

Response

Limits & Quotas

  • Microsoft Graph enforces a per-app and per-user throttling envelope; Bookings endpoints typically allow a few thousand requests per 10-minute window per app+tenant. See the Microsoft Graph throttling guidance for current limits.
  • Creating appointments requires that the referenced customer_id already exists in the business; the tool will surface the underlying Graph error if it does not.
  • Error model: non-2xx Graph responses and timeouts are caught and returned as success=False + error rather than raising. Plan for retries on the agent side based on the error string.
  • Dynamic ID dropdowns (business/staff/service/customer/appointment pickers) are not part of this integration; the LLM must supply IDs directly. Use the list_* tools to enumerate available IDs first.

Google Calendar

Cal.com

Luma