Microsoft Bookings (Preview)

Microsoft Bookings is a scheduling tool and is part of the Microsoft Office family of products. Bookings allows customers of small businesses and companies to book appointments with the company.

This connector is available in the following products and regions:

Service Class Regions
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Microsoft Bookings Customer Support
URL https://techcommunity.microsoft.com/t5/microsoft-bookings/bd-p/MicrosoftBookings
Email bookingscustomersupport@service.microsoft.com
Connector Metadata
Publisher Microsoft Corporation
Website https://book.ms
Privacy policy https://docs.microsoft.com/en-us/microsoft-365/bookings/bookings-faq?view=o365-worldwide#privacy
Categories Business Management;Collaboration

Microsoft Bookings connector is built with the purpose of extending Booking appointments with other functionalities that power platform has to offer. Have you ever looked for custom workflows which you have wanted to build for your customers when they make an appoint with your business, like, Booking a Zoom meeting along with an appointment, Integrating a payment method using Sripe, Uploading customer data to a CRM system, sending out welcome emails? Booking connector is a solution for these asks. With this connector we are exposing all appointment booking actions - like Create/Update/Delete of Bookings.

Prerequisites

Customers trying to use the Bookings Connector should have a Bookings Business License to use this connector with. Microsoft Bookings will be available with these licenses.

How to get credentials

Microsoft Bookings uses AAD authentication. Having a valid O365 account will ensure that you are authenticated to use Bookings connector. You should be a signed in user to create appointment based flows.

Get started with your connector

For creating a custom flow with Bookings apppointments as triggers, you will need to know the Booking busineess' SMTP address. You can build flows with bookings appointment being created/updated/cancelled as triggers. Here are some of the common flows that you can build:

###Integration with Stripe Stripe allows private individuals and businesses to accept payments over the internet. You can track customers, orders, invoices and more; For more information Stripe | Microsoft Power Automate

###Integration with Zoom This Connector will help to automate Zoom Meeting Operations; For more information Zoom Meetings (Independent Publisher) | Microsoft Power Automate

####Integration with Dynamic 365 Dynamics 365 Sales Insights helps increase your sales with the help of AI-driven insights that promote personalized engagement and proactive decision making to help build relationships. ; For more information Dynamics 365 Sales Insights | Microsoft Power Automate

Here is all the list of connectors: List of supported connectors | Microsoft Power Automate

Known issues and limitations

  1. Only admins can create flows using Appointment triggers. Description: Right now only Bookings admins can create appointment triggers. If you are a user who is not an admin (Team Member, Scheduler, Viewer, Guest), you should ask your admin to create a flow. Alternatively, you can also request for admin access.

  2. Only 5 flows can be created per Bookings Mailbox. Description: For a Booking Mailbox, only 5 flows can be created. This is a Bookings Mailbox level limit and not a per admin limit. If you are looking for more than one action for an appointment trigger, you can add that in one of the existing flows by using the Add Action button. You can contact other Booking administrators for support.

Common errors and remedies

HTTP Error Codes while creating flows:

  1. '401': Check for Authentication related issues in your connection.
  2. '403': Only Bookings Administrators can create appointment flows. Check (1) in Known issues and Limitations section.
  3. '403': Notification URL domain not a part of allowed list.
  4. '429': More than expected number of appointment flows created for a business. Check (2) in Known issues and Limitations section.
  5. '500': This is an internal server error. Please report this to your support engineer with all the error details in the flow creation response.

FAQ

  1. How do I get the SMTP address for creating an Appointment trigger based flow? Answer: To create appointment trigger based flows, the creator should get the SMTP address of the Bookings business. This is the same SMTP address that is used to make graph calls. This is also a part of the bookings page URL. SMTPAddress.png

  2. How to get Customer data from the appointment trigger responses? Answer: If this is a 1:1 booking, then the top level fields like CustomerName, CustomerEmail etc can be used. If it is a group bookings, the customers array can be used to get fields like displayName (customers email, customers displayName etc) can be used with a power automate loop component.

  3. Why is the StaffMembers an array? I can assign only one staff assigned per booking. Answer: Right now, all your bookings will come up with only one staff member in the staffMembers array. In the future, when bookings support multi staff scenarios, this array of staffMembers can be used.

Throttling Limits

Name Calls Renewal Period
API calls per connection10060 seconds

Triggers

When a bookings appointment is Cancelled

This trigger is used for listening to cancel of bookings appointments. Enter the SMTP address of Bookings Business that you are looking forward to listen for cancel appointment events.

When a bookings appointment is Created

This trigger is used for listening to create of bookings appointments. Enter the SMTP address of Bookings Business that you are looking forward to listen for create appointment events.

When a bookings appointment is Updated

This trigger is used for listening to Updated of bookings appointments. Enter the SMTP address of Bookings Business that you are looking forward to listen for Update appointment events.

When a bookings appointment is Cancelled

This trigger is used for listening to cancel of bookings appointments. Enter the SMTP address of Bookings Business that you are looking forward to listen for cancel appointment events.

Parameters

Name Key Required Type Description
Bookings Business SMTP Address.
SMTPAddress True string

SMTP Address of your Bookings Business. This can be found in your business's bookings page.

changeType
changeType string

Returns

When a bookings appointment is Created

This trigger is used for listening to create of bookings appointments. Enter the SMTP address of Bookings Business that you are looking forward to listen for create appointment events.

Parameters

Name Key Required Type Description
Bookings Business SMTP Address.
SMTPAddress True string

SMTP Address of your Bookings Business. This can be found in your business's bookings page.

changeType
changeType string

Returns

When a bookings appointment is Updated

This trigger is used for listening to Updated of bookings appointments. Enter the SMTP address of Bookings Business that you are looking forward to listen for Update appointment events.

Parameters

Name Key Required Type Description
Bookings Business SMTP Address.
SMTPAddress True string

SMTP Address of your Bookings Business. This can be found in your business's bookings page.

changeType
changeType string

Returns

Definitions

AppointmentData

Name Path Type Description
Additional Info
AdditionalInfo string

Additional Info about the booking.

Customer Email
CustomerEmail string

Customer Email address in case of 1:1 bookings.

CustomerId
CustomerId string

Customer Id in case of 1:1 bookings.

City
CustomerLocation.PhysicalAddress.City string

City the customer belongs to for 1:1 booking.

CountryOrRegion
CustomerLocation.PhysicalAddress.CountryOrRegion string

Country Or Region of the customer for 1:1 booking.

PostalCode
CustomerLocation.PhysicalAddress.PostalCode string

Postal Code of the customer for 1:1 booking.

State
CustomerLocation.PhysicalAddress.State string

State where the customer belongs to in the 1:1 booking.

Street
CustomerLocation.PhysicalAddress.Street string

Street where the customer belongs to in the 1:1 booking.

CustomerName
CustomerName string

Customer Name for 1:1 booking.

CustomerNotes
CustomerNotes string

Customer Notes for 1:1 booking.

CustomerPhone
CustomerPhone string

Customer Phone for 1:1 booking.

CustomerTimeZone
CustomerTimeZone string

Customer Time Zone for 1:1 booking.

Customers
Customers array of CustomerData

List of customers in the 1:n booking

Duration
Duration integer

Duration of the meeting

EndTime
EndTime string

End Time of the appointment.

FilledAttendeesCount
FilledAttendeesCount integer

Number of attendees who have booked this appoinment slot.

Id
Id string

Unique identifier for the bookings appointment.

JoinWebURL
JoinWebURL string

URL for joining this online appointment.

MaxAttendeesCount
MaxAttendeesCount integer

Max number of attendees allowed in this appoinment.

SelfServiceAppointmentId
SelfServiceAppointmentId string

Self service appointment id for the booking appointment.

ServiceId
ServiceId string

Unique Service Identifier.

ServiceName
ServiceName string

Name of the bookings service.

ServiceNotes
ServiceNotes string

Service level notes for the staff and admin.

StaffMembers
StaffMembers array of StaffMemberData

List of staff members

Start Time
StartTime string

Start Time of the appointment.

Tracking Data
TrackingData string

Campaign tracking Data.

Cancel Reason
CancelReason string

Reason for cancellation of this booking appointment

CustomerData

Name Path Type Description
Email
Email string

Email of the customer in the 1:n appointment.

Id
Id string

Unique ID of the customer in the 1:n appointment

City
Location.PhysicalAddress.City string

City the customer belongs to for 1:n booking.

Country Or Region
Location.PhysicalAddress.CountryOrRegion string

Country Or Region of the customer for 1:n booking.

Postal Code
Location.PhysicalAddress.PostalCode string

Postal Code of the customer for 1:n booking.

State
Location.PhysicalAddress.State string

State where the customer belongs to in the 1:n booking.

Street
Location.PhysicalAddress.Street string

Street where the customer belongs to in the 1:n booking.

Display Name
Name string

Display Name of the customer in the 1:n appointment.

Notes
Notes string

Notes of the customer in the 1:n appointment.

Timezone
TimeZone string

Timezone of the customer in the 1:n appointment.

Answers
Answers array of CustomQuestion

All the custom questions and answers.

StaffMemberData

Name Path Type Description
DisplayName
DisplayName string

Display Name of the staff assigned for this appointment.

EmailAddress
EmailAddress string

Email Address of the staff assigned to this appointment.

Id
Id string

Unique Staff identifier.

CustomQuestion

Name Path Type Description
Answer
Answer string

Answer to this custom question.

AnswerOptions
AnswerOptions array of string

All the answer options.

IsRequired
IsRequired boolean

Tells if answering this question is mandatory.

Question
Question string

Question to be answered.

QuestionID
QuestionID string

Unique Identifier of the Question to be answered.

SelectedOptions
SelectedOptions array of integer

All the selected answer options.