---
canonical_url: "https://docs.composio.dev/toolkits/microsoft_bookings"
markdown_url: "https://docs.composio.dev/toolkits/microsoft_bookings.md"
product: "platform"
version: null
last_updated: null
---

# Microsoft Bookings

Microsoft Bookings provides shared business scheduling through Microsoft Graph, including booking businesses, appointments, customers, services, staff, and currencies.

- **Category:** scheduling & booking
- **Auth:** OAUTH2
- **Composio-managed OAuth available?** No
- **Tools:** 35
- **Triggers:** 0
- **Slug:** `MICROSOFT_BOOKINGS`
- **Version:** 00000000_00

## Tools

### Cancel Appointment

**Slug:** `MICROSOFT_BOOKINGS_CANCEL_APPOINTMENT`

Irreversibly cancel an appointment and ask Microsoft Bookings to send the supplied cancellation message to its customers and staff. A successful result confirms that Graph accepted the cancellation, not message delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that owns the appointment. |
| `appointment_id` | string | Yes | ID of the appointment to cancel. |
| `cancellation_message` | string | Yes | Message sent to the appointment's customers and staff explaining the cancellation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Appointment

**Slug:** `MICROSOFT_BOOKINGS_CREATE_APPOINTMENT`

Create an appointment for a service at explicit start and end times, optionally assigning staff and customer details. Microsoft Bookings may send customers a confirmation email; opt_out_of_customer_email requests suppression but does not guarantee non-delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `price` | number | No | Appointment price. |
| `customers` | array | No | Customers attached to the appointment. |
| `reminders` | array | No | Reminder messages and offsets for the appointment. |
| `pre_buffer` | string | No | ISO 8601 setup duration before the appointment. |
| `price_type` | string ("undefined" | "fixedPrice" | "startingAt" | "hourly" | "free" | "priceVaries" | "callUs" | "notSet" | "unknownFutureValue") | No | How the appointment price is interpreted. |
| `service_id` | string | Yes | ID of the service being booked. |
| `business_id` | string | Yes | ID of the booking business that owns the appointment. |
| `post_buffer` | string | No | ISO 8601 cleanup duration after the appointment. |
| `end_date_time` | object | Yes | Appointment end with its interpretation time zone; it must be later than the start. |
| `service_notes` | string | No | Service notes stored on this appointment. |
| `start_date_time` | object | Yes | Appointment start with its interpretation time zone. |
| `service_location` | object | No | Location for this appointment. |
| `staff_member_ids` | array | No | IDs of staff assigned to the appointment. |
| `appointment_label` | string | No | Label used to categorize the appointment. |
| `customer_time_zone` | string | No | Customer's Windows time-zone name. |
| `is_location_online` | boolean | No | Whether this is an online appointment. |
| `additional_information` | string | No | Information included with the appointment. |
| `maximum_attendees_count` | integer | Yes | Maximum attendees allowed; use more than one for multi-customer appointments. |
| `opt_out_of_customer_email` | boolean | No | Ask Microsoft Bookings not to send the customer confirmation email. This preference does not guarantee that no email is delivered. |
| `sms_notifications_enabled` | boolean | No | Whether SMS notifications are enabled when the service supports them. |
| `is_customer_allowed_to_manage_booking` | boolean | No | Whether customers may manage this booking. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Booking Business

**Slug:** `MICROSOFT_BOOKINGS_CREATE_BOOKING_BUSINESS`

Create a shared booking business with the supplied display name. The business starts unpublished and can then be configured with the update tool.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `display_name` | string | Yes | Customer-facing name for the new booking business. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Customer

**Slug:** `MICROSOFT_BOOKINGS_CREATE_CUSTOMER`

Create a saved customer in one booking business with structured contact details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `phones` | array | No | Customer telephone numbers with typed labels. |
| `addresses` | array | No | Customer postal addresses. |
| `business_id` | string | Yes | ID of the booking business that will own the customer. |
| `display_name` | string | Yes | Customer's display name. |
| `email_address` | string | No | Customer's email address. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Custom Question

**Slug:** `MICROSOFT_BOOKINGS_CREATE_CUSTOM_QUESTION`

Create a text or single-choice intake question for one booking business.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that will own the custom question. |
| `display_name` | string | Yes | Question text shown to customers. |
| `answer_options` | array | No | Allowed choices for a radioButton question. |
| `answer_input_type` | string ("text" | "radioButton" | "unknownFutureValue") | No | Expected answer type; radioButton uses answer_options. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Service

**Slug:** `MICROSOFT_BOOKINGS_CREATE_SERVICE`

Create a bookable service with a name and default duration, optionally configuring location, price, staff, reminders, questions, and scheduling rules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notes` | string | No | Internal service notes. |
| `pre_buffer` | string | No | Default ISO 8601 setup duration. |
| `business_id` | string | Yes | ID of the booking business that will offer the service. |
| `description` | string | No | Customer-facing service description. |
| `post_buffer` | string | No | Default ISO 8601 cleanup duration. |
| `display_name` | string | Yes | Customer-facing service name. |
| `language_tag` | string | No | BCP 47 language tag for the service. |
| `default_price` | number | No | Default numeric service price. |
| `custom_questions` | array | No | Custom questions assigned to this service and whether each is required. |
| `default_duration` | string | Yes | Default appointment length as an ISO 8601 duration, for example PT30M. |
| `default_location` | object | No | Default service location. |
| `staff_member_ids` | array | No | Staff IDs eligible to deliver the service. |
| `default_reminders` | array | No | Default reminders copied to new appointments. |
| `scheduling_policy` | object | No | Service-specific scheduling policy. |
| `default_price_type` | string ("undefined" | "fixedPrice" | "startingAt" | "hourly" | "free" | "priceVaries" | "callUs" | "notSet") | No | How the default service price is interpreted. |
| `is_location_online` | boolean | No | Whether this is an online service. |
| `additional_information` | string | No | Additional service information sent with bookings. |
| `maximum_attendees_count` | integer | No | Maximum attendees for appointments of this service. |
| `is_hidden_from_customers` | boolean | No | Whether the service is hidden from customers. |
| `is_anonymous_join_enabled` | boolean | No | Whether anonymous online-meeting join is enabled. |
| `sms_notifications_enabled` | boolean | No | Whether SMS notifications are enabled when supported. |
| `is_customer_allowed_to_manage_booking` | boolean | No | Whether customers may manage bookings for this service. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Staff Member

**Slug:** `MICROSOFT_BOOKINGS_CREATE_STAFF_MEMBER`

Add a staff member to one booking business with a role, email, time zone, and optional working schedule.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("guest" | "administrator" | "viewer" | "externalGuest" | "scheduler") | Yes | Bookings role granted to the staff member. |
| `time_zone` | string | No | Staff member's Windows time-zone name. |
| `business_id` | string | Yes | ID of the booking business that will contain the staff member. |
| `display_name` | string | Yes | Staff member's display name. |
| `email_address` | string | Yes | Staff member's email address. |
| `working_hours` | array | No | Weekly working schedule used when use_business_hours is false. |
| `use_business_hours` | boolean | No | Whether this staff member follows the business-wide hours. |
| `is_email_notification_enabled` | boolean | No | Whether the staff member receives booking email notifications. |
| `availability_is_affected_by_personal_calendar` | boolean | No | Whether personal calendar events affect Bookings availability. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Appointment

**Slug:** `MICROSOFT_BOOKINGS_DELETE_APPOINTMENT`

Permanently delete an appointment without invoking Microsoft Bookings' cancellation-message action. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that owns the appointment. |
| `appointment_id` | string | Yes | ID of the appointment to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Booking Business

**Slug:** `MICROSOFT_BOOKINGS_DELETE_BOOKING_BUSINESS`

Permanently delete one shared booking business and all of its Microsoft Bookings data. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Customer

**Slug:** `MICROSOFT_BOOKINGS_DELETE_CUSTOMER`

Permanently delete one saved customer from a Microsoft Bookings business. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that owns the customer. |
| `customer_id` | string | Yes | ID of the saved customer to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Custom Question

**Slug:** `MICROSOFT_BOOKINGS_DELETE_CUSTOM_QUESTION`

Permanently delete one custom intake question from a booking business. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that owns the question. |
| `question_id` | string | Yes | ID of the custom question to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Service

**Slug:** `MICROSOFT_BOOKINGS_DELETE_SERVICE`

Permanently delete one service from a Microsoft Bookings business. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `service_id` | string | Yes | ID of the service to permanently delete. |
| `business_id` | string | Yes | ID of the booking business that offers the service. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Staff Member

**Slug:** `MICROSOFT_BOOKINGS_DELETE_STAFF_MEMBER`

Permanently remove one staff member from a Microsoft Bookings business. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `staff_id` | string | Yes | ID of the staff member to permanently remove. |
| `business_id` | string | Yes | ID of the booking business that contains the staff member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Appointment

**Slug:** `MICROSOFT_BOOKINGS_GET_APPOINTMENT`

Get one booking appointment, including its service, customers, assigned staff, attendee counts, and UTC start and end times.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `business_id` | string | Yes | ID of the booking business that owns the appointment. |
| `include_count` | boolean | No | Pass Microsoft Graph's documented $count option on this request. Graph may reject this option for a single-resource route. |
| `appointment_id` | string | Yes | ID of the appointment to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Booking Business

**Slug:** `MICROSOFT_BOOKINGS_GET_BOOKING_BUSINESS`

Get the complete configuration and publication state of one shared booking business.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | Booking business ID, commonly the business SMTP address; obtain it from List or Create Booking Businesses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Booking Currency

**Slug:** `MICROSOFT_BOOKINGS_GET_CURRENCY`

Get one Microsoft Bookings currency by its ISO currency code.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `currency_id` | string | Yes | Three-letter ISO 4217 currency code, for example USD. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Customer

**Slug:** `MICROSOFT_BOOKINGS_GET_CUSTOMER`

Get one saved customer and their contact details from a booking business.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `business_id` | string | Yes | ID of the booking business that owns the customer. |
| `customer_id` | string | Yes | Opaque Base64-encoded ID of the saved customer to retrieve. IDs returned by Microsoft Graph create or list operations are already in Graph's usable encoded form; pass the returned id unchanged and do not encode it again. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Custom Question

**Slug:** `MICROSOFT_BOOKINGS_GET_CUSTOM_QUESTION`

Get one custom intake question, including its answer type and available choices.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `business_id` | string | Yes | ID of the booking business that owns the custom question. |
| `question_id` | string | Yes | ID of the custom question to retrieve. |
| `include_count` | boolean | No | Pass Microsoft Graph's documented $count option on this request. Graph may reject this option for a single-resource route. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Service

**Slug:** `MICROSOFT_BOOKINGS_GET_SERVICE`

Get one service and its duration, pricing, staff, questions, reminders, location, and scheduling configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `service_id` | string | Yes | ID of the service to retrieve. |
| `business_id` | string | Yes | ID of the booking business that offers the service. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Staff Member

**Slug:** `MICROSOFT_BOOKINGS_GET_STAFF_MEMBER`

Get one booking staff member's identity, role, membership state, time zone, working hours, and calendar settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `staff_id` | string | Yes | ID of the staff member to retrieve. |
| `business_id` | string | Yes | ID of the booking business that contains the staff member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Appointments

**Slug:** `MICROSOFT_BOOKINGS_LIST_APPOINTMENTS`

List one Microsoft Graph page of appointments for a booking business. Omit start and end to list the appointments collection, or provide both to list appointments occurring in that inclusive calendar-view range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | Inclusive range end as an ISO 8601 date-time with an explicit UTC offset or Z. Provide start and end together to use calendar view. |
| `start` | string | No | Inclusive range start as an ISO 8601 date-time with an explicit UTC offset or Z. Provide start and end together to use calendar view. |
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand on either appointments route. Graph may reject unsupported relations. |
| `business_id` | string | Yes | ID of the booking business whose appointments to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total appointment count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Booking Businesses

**Slug:** `MICROSOFT_BOOKINGS_LIST_BOOKING_BUSINESSES`

List shared booking businesses visible to the connected work or school account. Microsoft Graph returns up to 500 results and does not paginate this endpoint. Results contain only each business ID and display name; use search_query to narrow results or Get Booking Business for full details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search_query` | string | No | Return only booking businesses matching this search text. |
| `include_count` | boolean | No | Include the total matching count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Booking Currencies

**Slug:** `MICROSOFT_BOOKINGS_LIST_CURRENCIES`

Return one Microsoft Graph page of the Microsoft Bookings currency catalog with ISO currency IDs and localized symbols. The documented OData controls are passed through, but Graph may accept and ignore them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Non-negative $top value to pass through. Graph may accept this option without limiting the returned catalog page. |
| `skip` | integer | No | Non-negative $skip value to pass through. Graph may accept this option without changing the returned catalog page. |
| `expand` | array | No | Expansion expressions to pass as comma-separated $expand. Graph may ignore or reject relations unsupported by booking currencies. |
| `filter` | string | No | OData filter expression to pass through as $filter. Graph may accept this option without filtering the currency catalog. |
| `select` | array | No | Currency properties to pass as comma-separated $select. Graph may accept this option without projecting the response. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Pass the documented $count option to Microsoft Graph. The provider may accept it without returning @odata.count. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customers

**Slug:** `MICROSOFT_BOOKINGS_LIST_CUSTOMERS`

List saved customers for one booking business, one Microsoft Graph page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by booking customers. |
| `business_id` | string | Yes | ID of the booking business whose customers to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total customer count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Custom Questions

**Slug:** `MICROSOFT_BOOKINGS_LIST_CUSTOM_QUESTIONS`

List custom intake questions defined for one booking business, one Microsoft Graph page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by custom questions. |
| `business_id` | string | Yes | ID of the booking business whose custom questions to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total question count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Services

**Slug:** `MICROSOFT_BOOKINGS_LIST_SERVICES`

List services offered by one booking business, including duration, pricing, staff, and scheduling defaults, one Microsoft Graph page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by booking services. |
| `business_id` | string | Yes | ID of the booking business whose services to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total service count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Staff Members

**Slug:** `MICROSOFT_BOOKINGS_LIST_STAFF_MEMBERS`

List staff members configured for one booking business, including roles and working hours, one Microsoft Graph page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by booking staff. |
| `business_id` | string | Yes | ID of the booking business whose staff to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total staff count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Publish Booking Business

**Slug:** `MICROSOFT_BOOKINGS_PUBLISH_BOOKING_BUSINESS`

Publish a booking business's external scheduling page so customers can access it. After publishing, call Get Booking Business to retrieve the resulting public URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the configured booking business to publish. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unpublish Booking Business

**Slug:** `MICROSOFT_BOOKINGS_UNPUBLISH_BOOKING_BUSINESS`

Take a booking business's external scheduling page offline and clear its public URL without deleting the business.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the published booking business to take offline. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Appointment

**Slug:** `MICROSOFT_BOOKINGS_UPDATE_APPOINTMENT`

Update an existing appointment's schedule, attendees, service, staff, location, notifications, or pricing without cancelling it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `price` | number | No | Replacement appointment price. |
| `customers` | array | No | Complete replacement customer information; omit customer notes. |
| `reminders` | array | No | Complete replacement reminder list. |
| `pre_buffer` | string | No | Replacement ISO 8601 setup duration. |
| `price_type` | string ("undefined" | "fixedPrice" | "startingAt" | "hourly" | "free" | "priceVaries" | "callUs" | "notSet" | "unknownFutureValue") | No | Replacement interpretation of the appointment price. |
| `service_id` | string | No | Replacement service ID. |
| `business_id` | string | Yes | ID of the booking business that owns the appointment. |
| `post_buffer` | string | No | Replacement ISO 8601 cleanup duration. |
| `end_date_time` | object | No | Replacement end date, time, and time zone. |
| `service_notes` | string | No | Replacement service notes. |
| `appointment_id` | string | Yes | ID of the appointment to update. |
| `start_date_time` | object | No | Replacement start date, time, and time zone. |
| `service_location` | object | No | Replacement appointment location. |
| `staff_member_ids` | array | No | Complete replacement list of assigned staff IDs. |
| `appointment_label` | string | No | Replacement appointment label. |
| `customer_time_zone` | string | No | Customer's Windows time-zone name. |
| `is_location_online` | boolean | No | Whether the appointment is online. |
| `additional_information` | string | No | Replacement additional appointment information. |
| `filled_attendees_count` | integer | Yes | Current or desired filled attendee count; repeat the value from Get Appointment when unchanged. |
| `maximum_attendees_count` | integer | Yes | Current or desired maximum attendee count; repeat the value from Get Appointment when unchanged. |
| `opt_out_of_customer_email` | boolean | No | Whether customer email is suppressed. |
| `sms_notifications_enabled` | boolean | No | Whether SMS notifications are enabled when supported. |
| `is_customer_allowed_to_manage_booking` | boolean | No | Whether customers may manage the booking. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Booking Business

**Slug:** `MICROSOFT_BOOKINGS_UPDATE_BOOKING_BUSINESS`

Update supported contact details, hours, currency, business type, address, or scheduling rules without publishing or unpublishing the business.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `phone` | string | No | Business contact telephone number. |
| `address` | object | No | Structured postal address for the business. |
| `business_id` | string | Yes | ID of the booking business to update. |
| `web_site_url` | string | No | Business website URL. |
| `business_type` | string | No | Business category label. Microsoft documents this field as updateable, but Graph can accept the PATCH without persisting it; read the business afterward when the resulting value matters. |
| `business_hours` | array | No | Complete weekly business-hours schedule. |
| `scheduling_policy` | object | No | Business-wide booking lead-time, interval, and staff-selection rules. |
| `default_currency_iso` | string | No | Three-letter ISO currency code supported by Bookings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Customer

**Slug:** `MICROSOFT_BOOKINGS_UPDATE_CUSTOMER`

Update a saved customer's name, email, phone numbers, or postal addresses in one booking business.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `phones` | array | No | Complete replacement list of customer telephone numbers. |
| `addresses` | array | No | Complete replacement list of customer postal addresses. |
| `business_id` | string | Yes | ID of the booking business that owns the customer. |
| `customer_id` | string | Yes | ID of the saved customer to update. |
| `display_name` | string | No | Replacement customer display name. |
| `email_address` | string | No | Replacement customer email address. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Custom Question

**Slug:** `MICROSOFT_BOOKINGS_UPDATE_CUSTOM_QUESTION`

Update the text, answer type, or choices of one custom intake question.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that owns the question. |
| `question_id` | string | Yes | ID of the custom question to update. |
| `display_name` | string | Yes | Replacement question text. Microsoft Graph documents this field as required. |
| `answer_options` | array | No | Complete replacement choices for a radioButton question. |
| `answer_input_type` | string ("text" | "radioButton" | "unknownFutureValue") | No | Replacement answer type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Service

**Slug:** `MICROSOFT_BOOKINGS_UPDATE_SERVICE`

Update a service's name, duration, location, pricing, staff, reminders, questions, visibility, or scheduling rules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notes` | string | No | Replacement internal notes. |
| `pre_buffer` | string | No | Replacement default ISO 8601 setup duration. |
| `service_id` | string | Yes | ID of the service to update. |
| `business_id` | string | Yes | ID of the booking business that offers the service. |
| `description` | string | No | Replacement customer-facing description. |
| `post_buffer` | string | No | Replacement default ISO 8601 cleanup duration. |
| `display_name` | string | No | Replacement customer-facing service name. |
| `language_tag` | string | No | Replacement BCP 47 language tag. |
| `default_price` | number | No | Replacement default price. |
| `custom_questions` | array | No | Complete replacement question assignment list. |
| `default_duration` | string | No | Replacement default ISO 8601 appointment duration. |
| `default_location` | object | No | Replacement default location. |
| `staff_member_ids` | array | No | Complete replacement list of eligible staff IDs. |
| `default_reminders` | array | No | Complete replacement default-reminder list. |
| `scheduling_policy` | object | No | Replacement service-specific scheduling policy. |
| `default_price_type` | string ("undefined" | "fixedPrice" | "startingAt" | "hourly" | "free" | "priceVaries" | "callUs" | "notSet") | No | Replacement price interpretation. |
| `is_location_online` | boolean | No | Whether this is an online service. |
| `additional_information` | string | No | Replacement additional service information. |
| `maximum_attendees_count` | integer | No | Replacement maximum attendee count. |
| `is_hidden_from_customers` | boolean | No | Whether this service is hidden from customers. |
| `is_anonymous_join_enabled` | boolean | No | Whether anonymous online-meeting join is enabled. |
| `sms_notifications_enabled` | boolean | No | Whether SMS notifications are enabled when supported. |
| `is_customer_allowed_to_manage_booking` | boolean | No | Whether customers may manage bookings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Staff Member

**Slug:** `MICROSOFT_BOOKINGS_UPDATE_STAFF_MEMBER`

Update a booking staff member's identity, role, time zone, working schedule, calendar behavior, or email notifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("guest" | "administrator" | "viewer" | "externalGuest" | "scheduler") | No | Replacement Bookings role. |
| `staff_id` | string | Yes | ID of the staff member to update. |
| `time_zone` | string | No | Replacement Windows time-zone name. |
| `business_id` | string | Yes | ID of the booking business that contains the staff member. |
| `display_name` | string | No | Replacement staff display name. |
| `email_address` | string | No | Replacement staff email address. |
| `working_hours` | array | No | Complete replacement weekly working schedule. |
| `use_business_hours` | boolean | No | Whether this staff member follows business-wide hours. |
| `is_email_notification_enabled` | boolean | No | Whether the staff member receives booking email notifications. |
| `availability_is_affected_by_personal_calendar` | boolean | No | Whether personal calendar events affect Bookings availability. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
