About this integration
Microsoft Bookings for appointments and staff calendars. This integration exposes its full API as workflow modules.
The integration includes 6 triggers, 12 search modules and 20 actions. Connections use oauth or oauth authentication.
How to connect
The credential form asks for Microsoft - Tenant, Microsoft - Client ID, Microsoft - Client Secret, and Microsoft - Tenant.
OAuth asks you to approve Bookings.Read.All, Bookings.ReadWrite.All, and Bookings.Manage.All before access is granted.
Sign in and approve access — your password is never shared with WEXTL®, and you can revoke access from the provider at any time.
You’ll be redirected to sign in and approve access — your password is never shared with WEXTL.
You’ll be redirected to sign in and approve access — your password is never shared with WEXTL.
Connecting Microsoft Bookings to WEXTL®
| Field | Type | Help |
|---|---|---|
Microsoft - TenantRequired | select | Go to |
Microsoft - Client IDRequired | text | Go to the Microsoft Entra admin center → Entra ID → App registrations and select New registration. → enter a description and expiration → Add, then immediately copy your Client ID |
Microsoft - Client SecretRequired | password | Copy you client Secret from the previously created app |
- Bookings.Read.All
- Bookings.ReadWrite.All
- Bookings.Manage.All
- BookingsAppointment.ReadWrite.All
| Field | Type | Help |
|---|---|---|
Microsoft - TenantRequired | select | Go to |
Microsoft - Client IDRequired | text | Register your application in the Microsoft Entra admin center, then copy the Application (client) ID from the app's Overview page |
Microsoft - Client SecretRequired | password | In your app registration, go to Certificates & secrets → Client secrets, create a new client secret, and copy its value immediately after it's generated. |
Email or User IDRequired | text | Go to Microsoft Entra admin center → Users → select the user → Overview, then copy the Object ID, or enter The email of the user. |
- Bookings.Read.All
- Bookings.ReadWrite.All
- Bookings.Manage.All
- BookingsAppointment.ReadWrite.All
Use it in workflow automation
Start with Watch Booking Appointments, then add Cancel a Booking Appointment.
The canvas below runs Watch Booking Appointments into Cancel a Booking Appointment — watch the video, then drop a node onto the canvas.
Select the Watch Booking Appointments trigger and the workflow fires automatically when the event occurs — no polling required.
Then add Create a Booking Business as the next node. Branch, filter, or hand off to other integrations from there.
The integration includes 26 ready-made modules for scheduling work — each run logs its inputs and outputs for debugging.
Microsoft Bookings workflow on the canvas: Watch Booking Appointments then Create a Booking Business
Triggers, searches and actions
Browse every Microsoft Bookings module field below: 6 triggers, 12 searchs, and 20 actions you can drop onto the canvas.
Triggers
This integration includes 6 triggers — start a workflow the moment something changes in the app.
- Watch Booking Appointments
- Watch Booking Business
- Watch Booking Customers
- Watch Booking Questions
- Watch Booking Services
Searches
Use any of 12 search modules to retrieve records without leaving the workflow canvas.
- List Booking Appointments
- List Booking Businesses
- List Booking Customers
- List Booking Questions
- List Booking Services
Actions
This integration includes 20 action modules — create, update, or delete records as part of any workflow.
- Cancel a Booking Appointment
- Create a Booking Appointment
- Create a Booking Business
- Create a Booking Customer
- Create a Booking Question
Explore the fields available for each Microsoft Bookings trigger, search, and action.
Triggers
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Anonymous join web URL | text |
Appointment label | text |
Created date time | date |
Customer email address | |
Customer name | text |
Customer notes | text |
Customer phone | text |
Customers | array |
Customer time zone | text |
Duration | text |
End | object |
@odata type | text |
Filled attendees count | text |
ID | text |
Is customer allowed to manage booking | text |
Is location online | text |
Join web URL | url |
Last updated date time | date |
Maximum attendees count | text |
| Field | Type |
|---|---|
@odata type | text |
Address | object |
@odata type | text |
Booking page settings | object |
@odata type | text |
Business hours | array |
Business type | text |
Created date time | date |
Default currency iso | text |
Display name | text |
Email | |
ID | text |
Is published | text |
Language tag | text |
Last updated date time | date |
Phone | text |
Public URL | url |
Scheduling policy | object |
@odata type | text |
Web site URL | url |
| Field | Type |
|---|---|
@odata type | text |
Addresses | array |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Last updated date time | date |
Phones | array |
| Field | Type |
|---|---|
@odata type | text |
Answer input type | text |
Answer options | array |
Created date time | date |
Display name | text |
ID | text |
Last updated date time | date |
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Created date time | date |
Custom questions | array |
Default duration | text |
Default location | object |
@odata type | text |
Default price | text |
Default price type | text |
Default reminders | array |
Description | text |
Display name | text |
ID | text |
Is anonymous join enabled | text |
Is customer allowed to manage booking | text |
Is hidden from customers | text |
Is location online | text |
Language tag | text |
Last updated date time | date |
Maximum attendees count | text |
Notes | text |
| Field | Type |
|---|---|
@odata type | text |
Availability is affected by personal calendar | text |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Is email notification enabled | text |
Last updated date time | date |
Role | text |
Time zone | time |
Use business hours | text |
Working hours | array |
Searches
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Limit | number |
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Anonymous join web URL | text |
Appointment label | text |
Created date time | date |
Customer email address | |
Customer name | text |
Customer notes | text |
Customer phone | text |
Customers | array |
Customer time zone | text |
Duration | text |
End | object |
@odata type | text |
Filled attendees count | text |
ID | text |
Is customer allowed to manage booking | text |
Is location online | text |
Join web URL | url |
Last updated date time | date |
Maximum attendees count | text |
| Field | Type |
|---|---|
Search Query | text |
Limit | number |
| Field | Type |
|---|---|
@odata type | text |
Address | object |
@odata type | text |
Booking page settings | object |
@odata type | text |
Business hours | array |
Business type | text |
Created date time | date |
Default currency iso | text |
Display name | text |
Email | |
ID | text |
Is published | text |
Language tag | text |
Last updated date time | date |
Phone | text |
Public URL | url |
Scheduling policy | object |
@odata type | text |
Web site URL | url |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Limit | number |
| Field | Type |
|---|---|
@odata type | text |
Addresses | array |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Last updated date time | date |
Phones | array |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Limit | number |
| Field | Type |
|---|---|
@odata type | text |
Answer input type | text |
Answer options | array |
Created date time | date |
Display name | text |
ID | text |
Last updated date time | date |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Limit | number |
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Created date time | date |
Custom questions | array |
Default duration | text |
Default location | object |
@odata type | text |
Default price | text |
Default price type | text |
Default reminders | array |
Description | text |
Display name | text |
ID | text |
Is anonymous join enabled | text |
Is customer allowed to manage booking | text |
Is hidden from customers | text |
Is location online | text |
Language tag | text |
Last updated date time | date |
Maximum attendees count | text |
Notes | text |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Limit | number |
| Field | Type |
|---|---|
@odata type | text |
Availability is affected by personal calendar | text |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Is email notification enabled | text |
Last updated date time | date |
Role | text |
Time zone | time |
Use business hours | text |
Working hours | array |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Anonymous join web URL | text |
Appointment label | text |
Created date time | date |
Customer email address | |
Customer name | text |
Customer notes | text |
Customer phone | text |
Customers | array |
Customer time zone | text |
Duration | text |
End | object |
@odata type | text |
Filled attendees count | text |
ID | text |
Is customer allowed to manage booking | text |
Is location online | text |
Join web URL | url |
Last updated date time | date |
Maximum attendees count | text |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
@odata type | text |
Address | object |
@odata type | text |
Booking page settings | object |
@odata type | text |
Business hours | array |
Business type | text |
Created date time | date |
Default currency iso | text |
Display name | text |
Email | |
ID | text |
Is published | text |
Language tag | text |
Last updated date time | date |
Phone | text |
Public URL | url |
Scheduling policy | object |
@odata type | text |
Web site URL | url |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
@odata type | text |
Addresses | array |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Last updated date time | date |
Phones | array |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
@odata type | text |
Answer input type | text |
Answer options | array |
Created date time | date |
Display name | text |
ID | text |
Last updated date time | date |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Created date time | date |
Custom questions | array |
Default duration | text |
Default location | object |
@odata type | text |
Default price | text |
Default price type | text |
Default reminders | array |
Description | text |
Display name | text |
ID | text |
Is anonymous join enabled | text |
Is customer allowed to manage booking | text |
Is hidden from customers | text |
Is location online | text |
Language tag | text |
Last updated date time | date |
Maximum attendees count | text |
Notes | text |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
@odata type | text |
Addresses | array |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Last updated date time | date |
Phones | array |
Actions
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Service IDRequired | choice |
Customer Email Address | |
Customer Name | text |
Start DateTimeRequired | object |
DateTimeRequired | date |
Time Zone | time |
End DateTimeRequired | object |
DateTimeRequired | date |
Time Zone | time |
Duration | text |
Additional Information | text |
Appointment Label | text |
Anonymous Join Web URL | url |
Customer Notes | text |
Customer Phone | text |
Customers | array |
Customer Time Zone | time |
Filled Attendees Count | number |
Is Customer Allowed To Manage Booking | boolean |
Is Location Online | boolean |
Join Web URL | url |
Maximum Attendees Count | number |
Opt-Out Of Customer Email | boolean |
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Anonymous join web URL | text |
Appointment label | text |
Created date time | date |
Customer email address | |
Customer name | text |
Customer notes | text |
Customer phone | text |
Customers | array |
Customer time zone | text |
Duration | text |
End | object |
@odata type | text |
Filled attendees count | text |
ID | text |
Is customer allowed to manage booking | text |
Is location online | text |
Join web URL | url |
Last updated date time | date |
Maximum attendees count | text |
| Field | Type |
|---|---|
Display NameRequired | text |
Business TypeRequired | text |
Email | |
Address | object |
Street | text |
City | text |
State | text |
Postal Code | text |
Country Or Region | text |
Booking Page Settings | object |
Allow Anonymous Bookings | boolean |
Is Published | boolean |
Business Hours | array |
Default Currency ISO | text |
Language Tag | text |
Phone | text |
Public URL | url |
Website URL | url |
Scheduling Policy | object |
Maximum Advance | number |
Minimum Lead Time | number |
Send Confirmations To Owner | boolean |
| Field | Type |
|---|---|
@odata type | text |
Address | object |
@odata type | text |
Booking page settings | object |
@odata type | text |
Business hours | array |
Business type | text |
Created date time | date |
Default currency iso | text |
Display name | text |
Email | |
ID | text |
Is published | text |
Language tag | text |
Last updated date time | date |
Phone | text |
Public URL | url |
Scheduling policy | object |
@odata type | text |
Web site URL | url |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Email AddressRequired | |
Display Name | text |
Addresses | array |
Phones | array |
| Field | Type |
|---|---|
@odata type | text |
Addresses | array |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Last updated date time | date |
Phones | array |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Display NameRequired | text |
Answer Input Type | choice |
Answer Options | array |
Answer Option | text |
| Field | Type |
|---|---|
@odata type | text |
Answer input type | text |
Answer options | array |
Created date time | date |
Display name | text |
ID | text |
Last updated date time | date |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Display NameRequired | text |
Description | text |
Language Tag | text |
Maximum Attendees Count | number |
Default Duration | text |
Default Location | object |
Display Name | text |
Address | object |
Default Price | number |
Default Price Type | text |
Additional Information | text |
Notes | text |
Is Anonymous Join Enabled | boolean |
Is Customer Allowed to Manage Booking | boolean |
Is Hidden From Customers | boolean |
Is Location Online | boolean |
SMS Notifications Enabled | boolean |
Post Buffer | text |
Pre Buffer | text |
Web URL | url |
Staff Member IDs | choice |
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Created date time | date |
Custom questions | array |
Default duration | text |
Default location | object |
@odata type | text |
Default price | text |
Default price type | text |
Default reminders | array |
Description | text |
Display name | text |
ID | text |
Is anonymous join enabled | text |
Is customer allowed to manage booking | text |
Is hidden from customers | text |
Is location online | text |
Language tag | text |
Last updated date time | date |
Maximum attendees count | text |
Notes | text |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Display NameRequired | text |
Email AddressRequired | |
RoleRequired | text |
Availability Is Affected By Personal Calendar | boolean |
Is Email Notification Enabled | boolean |
Time Zone | time |
Use Business Hours | boolean |
Working Hours | array |
| Field | Type |
|---|---|
@odata type | text |
Addresses | array |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Last updated date time | date |
Phones | array |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
| Field | Type |
|---|---|
URLRequired | text |
MethodRequired | choice |
Headers | array |
Header | object |
Query String | array |
Parameter | object |
Body | text |
| Field | Type |
|---|---|
Body | text |
Headers | object |
Status code | number |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Service ID | choice |
Customer Email Address | |
Customer Name | text |
Start DateTimeRequired | object |
DateTimeRequired | date |
Time Zone | time |
End DateTimeRequired | object |
DateTimeRequired | date |
Time Zone | time |
Duration | text |
Additional Information | text |
Appointment Label | text |
Anonymous Join Web URL | url |
Customer Notes | text |
Customer Phone | text |
Customers | array |
Customer Time Zone | time |
Filled Attendees Count | number |
Is Customer Allowed To Manage Booking | boolean |
Is Location Online | boolean |
Join Web URL | url |
Maximum Attendees Count | number |
Opt-Out Of Customer Email | boolean |
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Anonymous join web URL | text |
Appointment label | text |
Created date time | date |
Customer email address | |
Customer name | text |
Customer notes | text |
Customer phone | text |
Customers | array |
Customer time zone | text |
Duration | text |
End | object |
@odata type | text |
Filled attendees count | text |
ID | text |
Is customer allowed to manage booking | text |
Is location online | text |
Join web URL | url |
Last updated date time | date |
Maximum attendees count | text |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Display Name | text |
Business Type | text |
Email | |
Address | object |
Street | text |
City | text |
State | text |
Postal Code | text |
Country Or Region | text |
Booking Page Settings | object |
Allow Anonymous Bookings | boolean |
Is Published | boolean |
Business Hours | array |
Default Currency ISO | text |
Language Tag | text |
Phone | text |
Public URL | url |
Website URL | url |
Scheduling Policy | object |
Maximum Advance | number |
Minimum Lead Time | number |
Send Confirmations To Owner | boolean |
| Field | Type |
|---|---|
@odata type | text |
Address | object |
@odata type | text |
Booking page settings | object |
@odata type | text |
Business hours | array |
Business type | text |
Created date time | date |
Default currency iso | text |
Display name | text |
Email | |
ID | text |
Is published | text |
Language tag | text |
Last updated date time | date |
Phone | text |
Public URL | url |
Scheduling policy | object |
@odata type | text |
Web site URL | url |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Email Address | |
Display Name | text |
Addresses | array |
Phones | array |
| Field | Type |
|---|---|
@odata type | text |
Addresses | array |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Last updated date time | date |
Phones | array |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Display Name | text |
Answer Input Type | choice |
Answer Options | array |
Answer Option | text |
| Field | Type |
|---|---|
@odata type | text |
Answer input type | text |
Answer options | array |
Created date time | date |
Display name | text |
ID | text |
Last updated date time | date |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Display Name | text |
Description | text |
Language Tag | text |
Maximum Attendees Count | number |
Default Duration | text |
Default Location | object |
Display Name | text |
Address | object |
Default Price | number |
Default Price Type | text |
Additional Information | text |
Notes | text |
Is Anonymous Join Enabled | boolean |
Is Customer Allowed to Manage Booking | boolean |
Is Hidden From Customers | boolean |
Is Location Online | boolean |
SMS Notifications Enabled | boolean |
Post Buffer | text |
Pre Buffer | text |
Web URL | url |
Staff Member IDs | choice |
| Field | Type |
|---|---|
@odata type | text |
Additional information | text |
Created date time | date |
Custom questions | array |
Default duration | text |
Default location | object |
@odata type | text |
Default price | text |
Default price type | text |
Default reminders | array |
Description | text |
Display name | text |
ID | text |
Is anonymous join enabled | text |
Is customer allowed to manage booking | text |
Is hidden from customers | text |
Is location online | text |
Language tag | text |
Last updated date time | date |
Maximum attendees count | text |
Notes | text |
| Field | Type |
|---|---|
Booking Business IDRequired | choice |
Display Name | text |
Email Address | |
Role | text |
Availability Is Affected By Personal Calendar | boolean |
Is Email Notification Enabled | boolean |
Time Zone | time |
Use Business Hours | boolean |
Working Hours | array |
| Field | Type |
|---|---|
@odata type | text |
Addresses | array |
Created date time | date |
Display name | text |
Email address | |
ID | text |
Last updated date time | date |
Phones | array |



