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

FieldDescriptionRequiredFormat
Client IDApplication (client) ID of the Azure AD app registration.Yes00000000-0000-0000-0000-000000000000
Client SecretClient secret value from the Azure AD app registration.Yesxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

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

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

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    }
  },
  "required": [
    "success"
  ],
  "title": "CancelAppointmentOutput",
  "type": "object"
}

Parameters

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

Response

{
  "$defs": {
    "AppointmentSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "self_service_appointment_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Self Service Appointment Id"
        },
        "service_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Id"
        },
        "service_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Name"
        },
        "customer_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Customer Name"
        },
        "customer_email_address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Customer Email Address"
        },
        "customer_time_zone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Customer Time Zone"
        },
        "start_date_time": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Start Date Time"
        },
        "end_date_time": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "End Date Time"
        },
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "price": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Price"
        },
        "price_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Price Type"
        },
        "is_location_online": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Location Online"
        },
        "join_web_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Join Web Url"
        },
        "sms_notifications_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sms Notifications Enabled"
        },
        "staff_member_ids": {
          "items": {
            "type": "string"
          },
          "title": "Staff Member Ids",
          "type": "array"
        },
        "customers": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Customers",
          "type": "array"
        }
      },
      "title": "AppointmentSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "appointment": {
      "anyOf": [
        {
          "$ref": "#/$defs/AppointmentSummary"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateAppointmentOutput",
  "type": "object"
}

Parameters

display_name
string
required
Customer-facing name of the booking business.
email
string
Email address for the business.
phone
string
Telephone number for the business.
web_site_url
string
URL of the business web site.
street
string
Street address of the business.
city
string
City of the business.
state
string
State of the business.
postal_code
string
Postal code of the business.
country_or_region
string
Country or region of the business.
default_currency_iso
string
ISO currency code the business operates in (e.g. USD).
business_type
string
Free-form description of the type of business.

Response

{
  "$defs": {
    "BusinessSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email"
        },
        "phone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Phone"
        },
        "web_site_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Web Site Url"
        },
        "default_currency_iso": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Default Currency Iso"
        },
        "business_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Business Type"
        },
        "address": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Address"
        },
        "is_published": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Published"
        },
        "public_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Public Url"
        }
      },
      "title": "BusinessSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "business": {
      "anyOf": [
        {
          "$ref": "#/$defs/BusinessSummary"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateBusinessOutput",
  "type": "object"
}

Parameters

business_id
string
required
ID of the Microsoft Bookings business that will own the customer.
display_name
string
required
Customer’s full name.
email_address
string
required
Customer’s email address.
phone_number
string
Customer’s phone number.
phone_type
string
Type of phone number: home, business, mobile. (Default: home)
street
string
Street address for the customer.
city
string
City for the customer.
state
string
State for the customer.
postal_code
string
Postal code for the customer.
country_or_region
string
Country or region for the customer.

Response

{
  "$defs": {
    "CustomerSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "email_address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email Address"
        },
        "phones": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Phones",
          "type": "array"
        },
        "addresses": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Addresses",
          "type": "array"
        }
      },
      "title": "CustomerSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "customer": {
      "anyOf": [
        {
          "$ref": "#/$defs/CustomerSummary"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateCustomerOutput",
  "type": "object"
}

Parameters

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

Response

{
  "$defs": {
    "ServiceSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "default_duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Default Duration"
        },
        "default_price": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Default Price"
        },
        "default_price_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Default Price Type"
        },
        "is_location_online": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Location Online"
        },
        "is_hidden_from_customers": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Hidden From Customers"
        },
        "notes": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notes"
        },
        "staff_member_ids": {
          "items": {
            "type": "string"
          },
          "title": "Staff Member Ids",
          "type": "array"
        },
        "sms_notifications_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sms Notifications Enabled"
        }
      },
      "title": "ServiceSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "service": {
      "anyOf": [
        {
          "$ref": "#/$defs/ServiceSummary"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateServiceOutput",
  "type": "object"
}

Parameters

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

Response

{
  "$defs": {
    "StaffMemberSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "email_address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email Address"
        },
        "role": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Role"
        },
        "time_zone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Time Zone"
        },
        "use_business_hours": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Use Business Hours"
        },
        "is_email_notification_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Email Notification Enabled"
        },
        "availability_is_affected_by_personal_calendar": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Availability Is Affected By Personal Calendar"
        }
      },
      "title": "StaffMemberSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "staff_member": {
      "anyOf": [
        {
          "$ref": "#/$defs/StaffMemberSummary"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateStaffMemberOutput",
  "type": "object"
}

Parameters

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

Response

{
  "$defs": {
    "AppointmentSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "self_service_appointment_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Self Service Appointment Id"
        },
        "service_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Id"
        },
        "service_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Name"
        },
        "customer_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Customer Name"
        },
        "customer_email_address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Customer Email Address"
        },
        "customer_time_zone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Customer Time Zone"
        },
        "start_date_time": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Start Date Time"
        },
        "end_date_time": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "End Date Time"
        },
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "price": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Price"
        },
        "price_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Price Type"
        },
        "is_location_online": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Location Online"
        },
        "join_web_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Join Web Url"
        },
        "sms_notifications_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sms Notifications Enabled"
        },
        "staff_member_ids": {
          "items": {
            "type": "string"
          },
          "title": "Staff Member Ids",
          "type": "array"
        },
        "customers": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Customers",
          "type": "array"
        }
      },
      "title": "AppointmentSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "appointments": {
      "items": {
        "$ref": "#/$defs/AppointmentSummary"
      },
      "title": "Appointments",
      "type": "array"
    },
    "total": {
      "default": 0,
      "title": "Total",
      "type": "integer"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListAppointmentsOutput",
  "type": "object"
}

Response

{
  "$defs": {
    "BusinessSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email"
        },
        "phone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Phone"
        },
        "web_site_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Web Site Url"
        },
        "default_currency_iso": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Default Currency Iso"
        },
        "business_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Business Type"
        },
        "address": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Address"
        },
        "is_published": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Published"
        },
        "public_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Public Url"
        }
      },
      "title": "BusinessSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "businesses": {
      "items": {
        "$ref": "#/$defs/BusinessSummary"
      },
      "title": "Businesses",
      "type": "array"
    },
    "total": {
      "default": 0,
      "title": "Total",
      "type": "integer"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListBusinessesOutput",
  "type": "object"
}

Parameters

business_id
string
required
ID of the Microsoft Bookings business to query.

Response

{
  "$defs": {
    "ServiceSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "default_duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Default Duration"
        },
        "default_price": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Default Price"
        },
        "default_price_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Default Price Type"
        },
        "is_location_online": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Location Online"
        },
        "is_hidden_from_customers": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Hidden From Customers"
        },
        "notes": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notes"
        },
        "staff_member_ids": {
          "items": {
            "type": "string"
          },
          "title": "Staff Member Ids",
          "type": "array"
        },
        "sms_notifications_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sms Notifications Enabled"
        }
      },
      "title": "ServiceSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "services": {
      "items": {
        "$ref": "#/$defs/ServiceSummary"
      },
      "title": "Services",
      "type": "array"
    },
    "total": {
      "default": 0,
      "title": "Total",
      "type": "integer"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListServicesOutput",
  "type": "object"
}

Parameters

business_id
string
required
ID of the Microsoft Bookings business to query.

Response

{
  "$defs": {
    "StaffMemberSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "email_address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email Address"
        },
        "role": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Role"
        },
        "time_zone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Time Zone"
        },
        "use_business_hours": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Use Business Hours"
        },
        "is_email_notification_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Email Notification Enabled"
        },
        "availability_is_affected_by_personal_calendar": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Availability Is Affected By Personal Calendar"
        }
      },
      "title": "StaffMemberSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "staff_members": {
      "items": {
        "$ref": "#/$defs/StaffMemberSummary"
      },
      "title": "Staff Members",
      "type": "array"
    },
    "total": {
      "default": 0,
      "title": "Total",
      "type": "integer"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListStaffMembersOutput",
  "type": "object"
}

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