Cool Stuff and Tech Knowledge Sharing

  • Latest comments

Using Power BI to Report Bookings Events

During COVID times we are getting more and more customers using Bookings. The service, which is part of Microsoft 365, now has the ability to use Microsoft Teams to offer virtual sessions .

microsoft bookings usage report

Possibilities are endless. Banks that allow customers to interact virtually with account managers or investments experts, hospitals and clinics that offer virtual consultation (tele medicine), remote psychology sessions in challenging times, are just a few scenarios where customers can leverage Bookings.

As soon as Bookings get setup and people start using it to create appointments and have virtual sessions the work refocus to how report.

How about a way to connect Power BI to bookings and extract appointment information? That is possible.

When a new business is created on Bookings, a new user calendar is created in Exchange Online and we can connect Power BI to extract that information and build reports.

In the sample below I created two businesses in Bookings: TestHospital01 and TestHospital02.

microsoft bookings usage report

As you can see in the Booking Page status, each Hospital has a correspondent user created on Exchange Online/Office 365 and the user calendar is used to manage the appointments for each one of the hospitals.

Now that we have a correspondence between each business/hospital to a Exchange Online calendar we can leverage Power Platform to do a few interesting things. We can use Power Automate to fire specific actions based on events related to schedule/cancel appointments and we can also user Power BI to report on top of information extracted from calendars.

Focusing on Power BI, we can connect to calendars created by Bookings and report. There are two ways to do that: using Microsoft GRAPH and Power BI ODATA connector or using the native Exchange Online connector. The following steps show how to acquire data using the native ExO connector.

1. Open Power BI Desktop and click Get Data, search for the Exchange Online connector and click Connect.

Annotation 2020-05-22 174210

2. In Mailbox Address type the SMTP address of the user associated to the first business you created on Bookings. If you don’t know the SMTP address, open Bookings, click on Booking Page and copy the address from the Booking Page Status. Image below show the SMTP address in the Booking Page Status and the Power BI Mailbox Address text box.

Untitled

3. If prompted to authenticate, please specify the credentials of the user that created the business in Bookings.

4. Select Calendar and click Transform Data.

microsoft bookings usage report

5. If you have more businesses to include on the report, click New Source and repeat the process I just described specifying the SMTP addresses for each business. In my case I’m adding two businesses. Test Hospital 01 and Test Hospital 02.

6. Now we need a way to consolidate all the information in a single table so we can create better reports. You can do that using the Append Queries command in Power Query. Just Click Append Queries and select Append Queries as New.

Annotation 2020-05-22 175641

7. Select the tables you are going to consolidate and click OK. In my case I’m creating a third table appending data from two other tables that have data from Test Hospital 01 and Test Hospital 02.

microsoft bookings usage report

8. The append command will create the Append1 table. In my case I decided to include an additional column on the resultant table to indicate the source (which hospital). To achieve that I used the Advanced Editor in Power Query to edit the M formula used to create the table. The code I used is below as a reference.

microsoft bookings usage report

let Source = Table.Combine({Table.AddColumn(TestHospital01,”Source”, each “Hospital 01″) , Table.AddColumn(TestHospital02,”Source”, each “Hospital 02”)}) in Source

9. Now we have Append1 table with the consolidated data and we’re ready to clock  Close & Apply and start building reports.

Disclaimer – The information contained in this blog post doesn’t represent the official Microsoft guidance or best practices. It is just the view of the author on current alternatives, implementations and workarounds for common issues and/or business needs. Please refer to official Microsoft documentation and evaluate carefully any steps, code or procedures documented herein. The author doesn’t offer any warranty. Use this information at your own risk.

techpeanuts

May 22, 2020

Bookings , Office 365 , Power Automate , Power BI

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

Recent Posts

  • Integrating Service Now and Teams with Logic Apps – Approvals
  • Latest updates on CC Community Version
  • Reactions and Easier Reporting with Company Communicator
  • Proactive Messages with Logic Apps Limits
  • Sending Large Number of Proactive Teams Messages with Azure Logic Apps

Recent Comments

  • January 2023
  • August 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • February 2021
  • January 2021
  • December 2020
  • September 2020
  • August 2020
  • Building Access
  • Company Communicator
  • Speaker Queue
  • Uncategorized

© 2024 Tech Peanuts — Powered by WordPress

Theme by Anders Noren — Up ↑

microsoft bookings usage report

Using scripts for Microsoft Bookings calendar and mailbox

microsoft bookings usage report

Altamish Ahmad

November 22nd, 2022 1 1

Microsoft Bookings let’s enterprise organizations and small business owners manage customer bookings and information with minimal setup. Today, we’re going to take a deeper look at using scripts to get information about your organization’s Bookings calendars and mailboxes.

When creating a Bookings calendar , a scheduling mailbox is also created. This mailbox stores details of the Bookings calendar such as Appointments, Services, Staff Members, and Business details. Tenant admins want to be aware of these mailboxes, the users and usage.

Common questions tenant/IT admins may have

What are the bookings calendars in my organization.

Tenant/IT admins want the list of all the Bookings calendars in their organization.

Who are the users of a Booking calendars?

Tenant admins are concerned about who is using the Bookings calendar within the organization, typically wanting to know which staff members have an “admin” role. These admins can modify settings of the calendar and can create and manage appointments for themselves and others.

Do we have proper admin coverage on the Bookings calendars?

If a Bookings calendar has no staff members with an “admin” role, it is considered orphan. This can happen when the existing admins are removed from the calendar or they leave your organization. The content in the calendar is unaffected by this – the content isn’t tied to any admin’s account, but not having an admin means there’s nobody with permissions to manage the calendar.

Is the Booking calendar being used?

A Bookings calendar is considered “unused” if no appointments have been created on it in a defined period of time. For example, one of our customers shared that if there is no appointment created within one quarter (3 months), they consider the calendar inactive or unused.

Is the Booking calendar published?

Tenant admins may want to know if the Bookings calendar is published for customers to create appointments.

Sample Scripts

To address these questions, we have created a script which allows tenant admins to gather all this information from PowerShell. Some of these PowerShell commands are derived from existing Bookings Graph APIs and will need the permissions for those APIs.

Please remember that these are guidelines. You should always refer to the latest updates for Microsoft Graph and Microsoft Graph PowerShell Cmdlets to ensure the scripts are using the latest and updated syntax.

List of Bookings Calendars

Get the list of Booking calendars from this Microsoft Graph API . Alternatively, you can use the following commands to get the list of Bookings calendars in the organization:

“Get-Mailbox -RecipientTypeDetails SchedulingMailbox -ResultSize:Unlimited”.

Initial Script

In the script above, we connect to Microsoft Graph Booking APIs through PowerShell. We get the appointment and staff data for the Booking Business (denoted in the variable “BookingBusinessId”). We use this as a base for the code snippets below:

Users, admins, and orphan calendars

The above gets the list of all users or staff members in the calendar. Note that the staff members tagged with role ‘administrator’ are the admins of the Bookings calendar. Remember, a Bookings calendar is orphaned if there are no staff members with “admin” role. The first clue to this is that the variable “adminStaffCount” will be 0. To confirm, we can check if the staff members with the administrator role exists in the organization.

The above code fragment checks if the staff member’s email id is enabled and if it exists in organization. If none of the administrators exist (or are ), the calendar is orphan.

Appointment Counts and Unused Calendars

One of the ways you can determine if your calendar is unused is to check when the last appointment was created. You may also want to see the count of appointments in the last ‘n’ months.

Other information in the Bookings Calendar

The list of Bookings Calendar attributes can be found here . An example to get some key attributes is given below:

Get started with resources

Read the documentation:

  • Microsoft Bookings documentation
  • Application permission-based APIs in PowerShell
  • Permission reference
  • List permissions needed for specific API or cmdlet

We hope this gives you some ideas on how to use Bookings calendars and mailboxes. Provide feedback and keep reaching out to us with your use cases and requests.

Stay tuned for more updates:

  • Visit our Microsoft Graph Dev Center.
  • Follow us on Twitter
  • Subscribe to our blog

Happy coding!

microsoft bookings usage report

Altamish Ahmad Senior Product Manager

microsoft bookings usage report

Discussion is closed. Login to edit/delete existing comments.

' data-src=

Hi, great article. However, I’m having issues when I attempt to run your code, I hope you can help as I believe I’m missing something. As you can see I’m attempting to connect with the most privileged scopes and I’m registered as a Global Admin for my organisation. Here is the script I’m running.

Here are the errors I’m getting:

Any help or advice anyone could give would be helpful.

Edit: Fun Fact! Apparently you have to be an Administrator of the Calendar in question in order to retrieve any info from it whatsoever. Apparently the fact you are Global Admin and Connect with the most permissive scopes does not factor into it at all.

light-theme-icon

Mr. SharePoint

How to Use Microsoft Bookings: The Complete Tutorial

Last Updated on June 29, 2023

Feeling overwhelmed with Microsoft Bookings?

In this tutorial, I will discuss everything on how to use Microsoft Bookings including how to configure the settings.

Let’s get started.

Table of Contents:

What is Microsoft Bookings?

What are the features of microsoft bookings, 1. real-time appointment availability, 2. smooth website integration, 3. automatic notifications and confirmations, step #1: navigate to the bookings app, step #2: create a new booking calendar, step #3: invite staff members to the calendar, step #4: finish the new bookings calendar, booking page, business information, how to share your bookings page.

Are you familiar with apps or tools where people can book a meeting with you? That’s what this app is all about.

Microsoft Bookings is a tool that clients and customers can use to  schedule meetings  with you quite easily.

Microsoft Bookings has two primary components:

  • The  front-end booking page  where people can schedule appointments. it can be shared using a link, through social media, or even embedded on a site.
  • The  back-end web-based app  where you (owners and admin) can configure meeting details including the time of availability, staff schedules, etc.

Note : If you’re looking for calendar options in Microsoft 365, check out this article:  Calendar Options in SharePoint and Microsoft 365 .

Sign up for exclusive updates, tips, and strategies

Booking apps are more or less similar — Microsoft Bookings is no exception.

Here are some of the features you can expect from the app:

  • The ability to  assign  staff members with the appropriate permissions to do their responsibilities.
  • The booking page can also be  customized  according to your branding — complete with logo and brand colors.
  • Mobile responsiveness  so the booking page will still look good even when viewed on a mobile device.
  • Built-in client/customer  database  that will save the information of those who booked an appointment with you.

If you’re concerned about information security, information is stored in Microsoft Exchange as a booking calendar is a  mailbox  in Exchange Online.

Microsoft also confirmed that Bookings is in  compliance with standards  like ISO, FISMA, SOC, and SEC.

Related : How to Add a Shared Mailbox in Outlook 365 (Easy Guide)

What are the advantages of Microsoft Bookings?

If your organization is using apps from Microsoft, then it makes sense to take advantage of this booking app.

Besides that point, here are some advantages:

Since the app is cloud-based, all appointment bookings are  updated  in real-time.

This is vital since people who want to book a meeting with you can see an updated calendar and schedule of your availability.

Because the calendar updates in real-time, double-booking can’t happen (which happens on other apps when someone snags a schedule from another user).

If you don’t want to do extra work, you can make use of the app’s stand-alone bookings page and share it publicly.

But in case you want to integrate the tool into your website, you can simply  embed  the app so it looks like a natural part of your website.

Even if you embed the app into a website, you can still add custom fields and the embedded app will reflect the changes.

The app wouldn’t be as useful as it is if it doesn’t send automated notifications to you.

MS Bookings can save you a lot of time by  automatically  sending email reminders and confirmations so you don’t have to manually check your calendar all the time.

These notifications can help reduce repetitive scheduling tasks on your end.

Note : For a comparison of Bookings and Bookings with me, read this article: Explained: Microsoft Bookings vs Bookings With Me (Better?)

How to create a Microsoft Bookings calendar

The first step here is to navigate to the Microsoft Bookings app.

If you’re on Microsoft 365 or SharePoint Online, follow these steps:

  • Click the  app launcher
  • Hit the  bookings  icon

App launcher > Bookings

If you can’t find the icon right away, you need to click the  all apps  button first and then find the Bookings icon from there.

In the Bookings app, you will see a similar screen in the image below if this was your first time going into the app.

To get started, click the  create new calendar  button:

Create new calendar button

On the next screen, you will have to enter a  name  for the calendar.

This is important since the calendar name will also be the email address for the booking invites and will be a part of the booking page link.

The safest route here is to simply use your  business name :

Create new Bookings calendar

Other settings you can include/change:

  • Your own company logo
  • Business type
  • Business hours (days and hours)

The business type you enter here will be one of the services shown in your calendar. You can customize this later on.

Once you’re done setting all of them, kindly click the  next  button to proceed.

The next page is where you can add  staff members  to the calendar.

Simply use the field provided to  search  for a name and then  select  that user to add to your calendar.

Once you do, that user will appear as a  guest  on the list:

Invite staff to the calendar

The people you add here will automatically become team members by default. Later on, I’ll show you how to easily change the access.

Once you’re done here, kindly click the  next  button once again.

The next part is where you can add a service.

However, as I explained earlier, the business type you entered in step #2 will also be one of the services shown.

If you want to change this, click the change button below the service:

Change the service for appointment booking

On the next page, you can  update  the following:

  • Service name
  • Appointment duration
  • Appointment schedule
  • Make the meeting in Teams

Once you’re done, simply click the  update service  button:

Update service in Bookings

The button will take you to the earlier page — but now with the update service. Click the  next  button to proceed to the last page.

The next part is where you can customize who can book appointments with you (the default is for organization members only).

Select which you prefer and click the  create calendar  button:

People can book with a public self-service page

The system will inform you that it’s currently setting up your calendar and will be ready in less than a minute.

Once you’re done, the browser will redirect you to the Bookings app with your calendar in it (using the new Bookings interface).

How to configure the settings on Microsoft Bookings

The home screen in the app will now change, showing instead the Bookings calendars that you have.

If you want to configure its settings, you need to open the calendar first by clicking on it:

Click the Booking calendar

The first screen will show you the Booking calendar:

Booking calendar

If you want to create a new booking manually (where you input the meeting details and customer information yourself), click the  new booking  button above the calendar.

You will see this window show up:

Create a new booking manually

Here are the following  details  you need to provide on this page:

  • The appointment time (service details)
  • Customer information
  • Staff who will attend the meeting

If you expand the options for the service details, you will be able to specify the service location, price, email reminder, follow-up email, and some notes.

Expanding the options for customer information will allow you to provide the customer’s address, send a meeting invite to the customer, and a few self-explanatory options.

In line with the new booking button, there is also a button to  add time off . This will open a similar-looking window:

Add time off

The next option in the panel is the Booking page where you can configure various settings:

  • Business page access control
  • Customer data usage consent
  • Default scheduling policy
  • Customize your page
  • Region and time zone settings

Manage your booking page

The  business page access control  basically allows you to:

  • Disable direct search engine indexing of your booking page
  • Require a one-time password for customers/clients to create bookings

Under the  customer data usage content , you can basically show personal data collection and usage terms to the person creating a booking with you.

If you want to configure the email notifications, go to the  default scheduling policy  settings. You will be able to change the following settings here:

  • Time increments (30 minutes by default)
  • Minimum (24 hours by default) and maximum (1 year by default) lead time
  • Email notifications
  • Staff control (customers can choose the staff to book with)
  • Availability (determine the book-ability of the business)

Default scheduling policy

In the email notifications, you can set up the system to  automatically send an email  to you when someone booked your service and whether or not to send an invite to the customer.

For general availability, you can also  create various availability  for a date range — perfect for holidays and vacations.

General availability

For branding your Bookings page, you can go to the  customize your page  settings:

  • Page template
  • Color theme
  • Set custom color to the booking page
  • Display the business logo on the booking page

Customize your page

The  region and time zone settings  will allow you to change the language of the booking page as well as the current time zone.

The people who booked a meeting with you will have their information saved on this page. If it’s your first time using it, you will see a page similar to the image below.

To manually enter a new customer, click the  add a new customer  button:

Add new customer

The next part is to manually enter the customer  information .

Click the  save changes  button once you’re done:

Add customer information

You should then see the new customer on the list. You will be able to edit his/her information as well as book an appointment.

This is a great feature in Microsoft Bookings since this means you can manually set and manage appointments with a client on your end.

On the staff settings page, you will be able to see all the  staff members  and their information (contact, availability, etc.).

This is what you will see on the screen:

Staff member information

You can also add a new staff member from this screen.

Simply click on the  add new staff  button above the page and supply the needed information:

Add staff member information

Click the  save changes  button once you’re done.

On this page, you will be able to add new services as well as configure existing ones.

Since you have only started, the only button here is to  add a new service :

Add new service button

This will open a new window where you can provide the following:

  • The basic details of the service
  • Availability options
  • Assign staff to the service
  • Custom fields
  • Notifications

Add service details

Most of the information here is things we covered earlier — but only specific to the service that you will be adding.

The custom fields part will allow you to require specific customer information as well as add new custom fields.

The process is quite similar to creating  forms   where you can specify the question (text or dropdown):

Custom fields settings

For notifications, you can also enable  text message notifications  to the customer and customize the reminders and follow-up.

The business information is where you can configure the basic details of your business shown in Bookings.

Business information

Specifically, this is where you can configure the following:

  • Basic details
  • Privacy policy and Terms and conditions
  • Business logo
  • Business hours
  • ACS App integration

If you have a separate terms and conditions page and one for the privacy policy, you can enter the  links  here.

You can also integrate your  Azure Communication Service App  with Bookings so customers will receive a URL to the app for online appointments.

The integration part is new. Currently, it only allows you to connect with Power Automate using an SMTP address.

Note : For more information on Power Automate, check out my introduction article:  Introduction to Microsoft Power Automate .

If you have followed closely the section above, you may have already come across the Bookings page link.

To put it simply, follow these steps:

  • Go to the  Booking page  tab
  • Click the  action  button to share the page link

Your booking page

For reference:

  • Copy  the link if you want to share the page on social media
  • Use the  email  button to send an email directly to a client through Outlook
  • Embedding  will allow you to embed the page to your website

You can also change the  privacy of the link  from this page — from disabling the self-service feature to making the page available to anyone.

How do you feel about Microsoft Bookings? Do you see yourself using it anytime soon? Why or why not?

Need business help? Let’s talk it over. Kindly send me a message  through this form here  and I’ll get back to you asap.

guest

Awesome post. Thank you, Ryan!

Len P

This was an extremely useful tutorial to work through MS Bookings Calendar methodically, Thankyou Ryan!

Renae

Hello, I’m trying to figure out how I could use Bookings to schedule a meeting when everyone has availability. Is there a way this can be done?

Subscribe for Practical 365 updates

Please turn off your ad blocker and refresh the page to subscribe.

You may withdraw your consent at any time. Please visit our Privacy Statement for additional information

Exchange Online / Microsoft Graph / PowerShell

Reporting meeting room statistics with powershell and the microsoft graph.

Avatar photo

Table of Contents

Discover the Usage of Meeting Rooms

With online meetings being the norm, an organization might wonder how much use conference and meeting rooms get. You could monitor usage by checking a room on an ongoing basis to see if it’s occupied, by whom, and how long the occupants spend there. Monitoring the ins and outs of a room is not an attractive or fun task, but the checking can be automated by using Graph API requests against the calendars of room mailboxes to find information about events scheduled with the room mailbox, like the one shown in Figure 1. The data won’t include informal meetings where people show up and use a room without a formal booking, but it should give a good oversight on how busy meeting rooms are.

In this article, I describe the script I wrote to extract meeting information from room calendars to report some usage statistics. The principal illustrated is how to access and use the information. Afterward, it’s up to you how you use the data.

Scheduling a meeting in a room mailbox

Update: This article describes how the script was enhanced to add daily usage pattern charts.

Script Prerequisites

I often use the Microsoft Graph PowerShell SDK cmdlets to interact with the Graph. However, in this case, I use a registered Azure AD app in the script to hold the Graph Calendar.Read.All and Place.Read.All application permissions needed to access the calendars.

Although it’s possible that a script like this will run as a scheduled task, I wanted to be able to run the script interactively, and interactive access with the Microsoft Graph PowerShell SDK is limited to delegate access . In other words, the code can report items in the calendar of the signed-in user but have no access to the calendars belonging to the meeting rooms. Application permission is necessary to gain access to the folders in other users’ mailboxes. The same issue drove the choice of Graph API requests in the mailbox report script .

Graph SDK cmdlets can use application permissions when run in a non-interactive script. For instance, when using the SDK cmdlets in an Azure Automation runbook , authentication happens using the automation account. The service principal of the automation account holds the permissions that the script needs to access the data. See this article for more information about Graph permissions .

Exchange Online application access policies can control apps that access mailbox contents by limiting access to specific mailboxes. In this case, an application access could define that the app can only access the room mailboxes.

Cybersecurity Risk Management for Active Directory

Discover how to prevent and recover from AD attacks through these Cybersecurity Risk Management Solutions.

microsoft bookings usage report

Listing Room Mailboxes and Workspaces

After creating a registered app in the Azure AD admin center, assigning the two application permissions, and consenting to their use, it’s time to start by finding the list of room mailboxes to process. To do this, the script uses the Graph Places API and runs this query:

The query returns full-blown room mailboxes of the type used to host meetings but does not include workspaces. These are smaller locations (like hot desks) that people can book. In Exchange terms, these objects are room mailboxes marked as workspaces . The Places API treats workspaces differently because they are presented as separate objects in Outlook’s Room Finder . To retrieve workspaces, the API request is:

To create a list of both room mailboxes and workspaces, we combine the sets of data returned by the two API requests. Another way of fetching both room mailboxes and workspaces is to use the Get-EXOMailbox cmdlet:

The downside of using Get-EXOMailbox is that the script must connect to the Exchange Online management module. In addition, the query below to fetch calendar data changes so that instead of using the emailAddress property, it must use the primarySMTPaddress property.

Extracting Calendar Data

We now need to loop through the set of mailboxes to extract meeting information from each calendar. The URI for the query is:

The identifier for the calendar is the primary SMTP address of the mailbox. The CalendarView parameter sets a start and end date for the information to retrieve. These variables are set earlier in the script to look for events over the last 60 days (easily changed). The resulting URI looks like this:

The results of the call populate an array of events. The script unpacks each event to fetch the information we want to analyze, such as the organizer, duration, online meeting status, the number of attendees, and so on.

After extraction, an event looks like this:

After processing all the room mailboxes, the script summarizes what it finds. Some simple calculations tell us the count of events, how many are online, the most popular room and most active meeting organizers, and a summary snapshot for each room. Some simple formatting displays the statistics (Figure 2).

Statistics for meetings scheduled in room mailboxes

The data only includes meetings accepted by room calendars. Canceled meetings are excluded.

Obviously, this data isn’t very exciting because it covers just 28 meetings. However, the principal is the important thing, and once you can access and retrieve data, you can process it any way you want, including exporting the data to Power BI to visualize it in different ways

The script I used is available from GitHub . Feel free to improve it in any way that you can.

About the Author

Avatar photo

Tony Redmond

' src=

Any idea on this error? Get-GraphData : System.Net.WebException: The remote server returned an error: (401) Unauthorized. at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(WebRequest request) at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord() At C:\ReportRoomMailboxUsage.PS1:142 char:25 + [Array]$RoomMailboxes = Get-GraphData -Uri $Uri -AccessToken $Token + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Get-GraphData

When you see a 401 error it means that the request doesn’t have the necessary permission to complete. In this case, does the app have consent to use the Mail.Read.All application permission?

' src=

If I wanted to use this to report only on Teams meetings so we could try and get a more accurate man hour count of Teams meetings could I do that?

Filter the set of meetings found for a mailbox to select the online meetings. That’s what I would do.

I ended up modifying the $CalendarData line to $CalendarData = $CalendarData | Where-Object {$_.isCancelled -eq $False -and $_.isOnlineMeeting -eq $True} and it looks like it pulled the information I needed.

Yep. That’s what I would do.

' src=

thanks for your script! But I have one question about it. I adjusted the value to get 100+ items via Graph. In total we have 236 Rooms.

$Uri = “https://graph.microsoft.com/beta/places/microsoft.graph.room?`$top=300”

But even when running this it is only returning data of 117 Rooms. What can I do to make sure to have all my rooms available within the results?

Regards, Nils

Try finding room mailboxes with Exchange Online instead (Get-ExoMailbox -RecipientTypeDetails RoomMailbox -ResultSize Unlimited) and see if this finds all the mailboxes. There might be something in the Places API that’s not picking up some of your mailboxes (it’s a beta API after all).

(Get-ExoMailbox -RecipientTypeDetails RoomMailbox -ResultSize Unlimited) is giving all 236 rooms. Also when using GraphExplorer via Browser it is giving me correct number of rooms by typing this URL “https://graph.microsoft.com/beta/places/microsoft.graph.room?`$top=300”

If simply replacing the [Array]$RoomMailboxes with mentioned ExchangeQuery to get all Rooms script returns nothing any longer.

How can I easily come around this?

Bill Wheeler wrote he solved this by simply adding a list of rooms to the URI. How can I get this done?

You should get the same results with the query in Graph Explorer and the app unless there’s something blocking access to mailboxes for the app (like RBAC for applications).

I can’t debug this issue for you because I don’t have access to your data. If the Get-ExoMailbox cmdlet works, use the array it produces and process the 236 rooms that way.

' src=

Subject is coming as email address of the organizer. I tried to see $event.subject, it’s the same. So, is this by design. Any work around s possible?.

As you noted, this is the data the Graph returns. Did you check the actual data in the room calendar?

Actual data is showing correctly in the calendars

I’ve asked a contact in Microsoft about the issue.

how do i extract all users calendar data.

Is the event ID a unique value to compare the same meeting with users calendar data?

See https://practical365.com/room-mailbox-meeting-organizer/

' src=

Hi Tony, The event output gets the subject as the organizer’s name. Not correct subject value, any input on this?

Example from about output Subject : Ken Bowers

Thanks, Samee.

The script outputs the subject returned by the Graph ($Event.Subject). Sometimes, this is the name of the organizer. Have a look at the code…

' src=

Works clean when run against ALL (default). When I attempt to limit the array to a single room mailbox it returns no data. I’ve verified the room mailbox calendar has many items, and the room mailbox has accepted these items. output is just zeros, no errors for permissions or no object found. know where I should start investigating? Notably, this room is does not appear in the list when I run the default ALL process.

# Find room mailboxes – this ignores room mailboxes marked as workspaces $Uri = “https://graph.microsoft.com/beta/places/microsoft.graph.room” [Array]$RoomMailboxes = Get-ExoMailbox -RecipientTypeDetails RoomMailbox -Identity [primarySMTPAddress Redacted]

Have you tried running:

$RoomMailbox = Get-ExoMailbox -Identity “My Room Mailbox” $URI = “https://graph.microsoft.com/V1.0/users/” + $Room.primarySmtpAddress + “/calendar/calendarView?startDateTime=” + $Start + “&endDateTime=” + $End $Data = Get-GraphData -Uri $Uri -AccessToken $Token

Make sure that $Start and $End are populated with the start end end times to search for.

Thanks Tony.

Getting the same results (no data, with divide-by-zero errors on the percentages) with these modifications. Tested using different rooms, and rooms that appear in the default report using the whole env in the array.

Make sure that the URI contains correct values. Sometimes it doesn’t and you get zero returns because the lookup fails to find the room mailbox or any data for the dates passed in the URI.

' src=

First off, thanks for the information and script as I finally got around to setting this up Second, when i run the script it pulls data from some conference rooms, but gives the follow error on others, which others it doesn’t indicate. Rechecked API/ Permissions and they are set as specified in article.

Get-GraphData : System.Net.WebException: The remote server returned an error: (403) Forbidden. at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(WebRequest request) at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord() At C:\xxxx\xxxxxxxxxxx.ps1:158 char:28 + … [array]$CalendarData = Get-GraphData -Uri $Uri -AccessToken $Token + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Get-GraphData

Any assistance would be great!

I’d check the URI for the room that you have a problem with. The code is: $Uri = “https://graph.microsoft.com/V1.0/users/” + $Room.emailAddress + “/calendar/calendarView?startDateTime=” + $Start + “&endDateTime=” + $End

Is the email address correct? Check it against the room that the script fails on.

' src=

awesome script sir got it working but did encounter 403 on some of the room mailboxes.

Im trying to check if it was a permission just like in the thread below.

See my other response. I suspect it’s something to do with the email address of the room. Maybe there’s something strange with some of the rooms.

' src=

Hi! Thanks a lot for the sample code. I am having problem with the code as the run takes over 1h meaning the token will expire. Also the token does not include the refresh token nor expires_on values meaning I can’t refresh it. How can I alter the code so that it checks if the token is valid and refreshes it?

Access tokens issued to apps that use the client credentials authentication flow. It is the app’s responsibility to track the age of its access token and renew if necessary. How many meeting rooms are you analyzing? There must be a large number to take over an hour (or they have tons of meetings).

An example of how to renew access tokens is included in the Teams and Groups activity report script (see this article: https://office365itpros.com/2023/02/03/powershell-tricks-groups-report/ )

Let me answer myself: Since the default token lifetime is 60 minutes and I failed to change the policy, I handled this differently: I added new variable right after: $tokenRequest = Invoke-WebRequest -Method …. $Global:renewtime = (get-date).AddMinutes(45).ToString(“HH:mm”)

Now, I added some comparing in the foreach loop (ForEach ($Room in $RoomMailboxes) {…. $currenttime = (get-date).ToString(“HH:mm”) $left=new-timespan -start $currenttime -end $renewtime IF ($left.minutes -lt 15) { $Token = GetAccessToken } … code continues here as it was.

The If statement calls the GetAccessToken function again if there is less than 30 minutes before the token expires. This could be lower too, but I didn´t want to push it, since at my current query there was over 3000 reservations for single room and they seem to take a long time.. I know it’s ugly, but hey, it seems to work!

Ugly but effective beats nice but flawed any day

' src=

Question: Does your script account for recurring events? I’ve started something similar, but using the PowerShell SDK, with Get-MgUserEvent cmdlet, which I assume is the wrapper for calendarview. It doesn’t list any of the specific instances, but allows you to get the pattern properties. I was getting ready to delve into Invoke for instances, because the SDK cmd (Get-MgUserEventInstance) requires start and end date, but doesn’t accept them as parameters.

Very nice article and script. I’m a huge fan of your book O365 for IT Pros. Reference it all the time.

AFAIK, it does. The events are read direct from room mailboxes and each occurrence of an event is a discrete item in the mailbox.

I realized that instead of using CalendarView, I was using a different endpoint (users/{UserId}/Events/{EventId}), which doesn’t retrieve specific occurrences. Don’t I feel sheeepppiiiisshhh. Sorry for noise.

No issue. We all live and learn.

' src=

First of all, thanks for your amazing script. While i am trying to run the script, i hit into errors Scanning room mailboxes for calendar events from 1/8/2023 5:07:39 PM to 3/10/2023 5:07:39 PM Attempted to divide by zero. At C:\Users\eddychong\Downloads\mailbox.ps1:219 char:1 + $PercentOnline = ($OnlineMeetings.Count/$TotalEvents).toString(“P”)

While i suspect it could not find any room mailboxes, so i added 2 write-host for debug after the #Find workspaces script. # Find workspaces $Uri = “https://graph.microsoft.com/beta/places/microsoft.graph.workspace” [array]$WorkSpaces = Get-GraphData -Uri $Uri -AccessToken $Token

Write-Host “Debug: Worksspace is” $WorkSpaces

# Combine workspaces with room mailboxes if any are found If ($WorkSpaces) { $RoomMailboxes = $RoomMailboxes + $WorkSpaces }

$RoomMailboxes = $RoomMailboxes | Where-Object {$_.EmailAddress -ne $Null} Write-Host “Debug: Room mailboxes are” $RoomMailboxes

The output showing no mailboxes. Can you advise if there is anything that i need to modify? Debug: Worksspace is @{@odata.context=https://graph.microsoft.com/beta/$metadata#places/microsoft.graph.workspace; value=System.Object[]} Debug: Room mailboxes are Scanning room mailboxes for calendar events from 1/8/2023 5:07:39 PM to 3/10/2023 5:07:39 PM Attempted to divide by zero.

The script uses the Places API to find room mailboxes. Sometimes it takes a little while for new room mailboxes to show up in that API. This is normally OK because room mailboxes tend to be quite static. You don’t add or remove them on an ongoing basis. But for testing, you might want to replace the calls that find room mailboxes with Get-ExoMailbox -RecipientTypeDetails RoomMailbox…. There’s an earlier discussion about how to do this. You also need to change the property used to construct the URI to fetch calendar info. Again, details are in an earlier thread.

' src=

Hi, the script is very helpful – many thanks!

I am trying to narrow the GET to one roomlist, but when I modify the URI then it brakes.

https://graph.microsoft.com/v1.0/places/[email protected]/microsoft.graph.roomlist/rooms

Anyone has done it ?

If you only want to access a specific mailbox, change the population of the $RoomMailboxes array to:

$RoomMailboxes = Get-ExoMailbox -RecipientTypeDetails RoomMailbox -Identity ‘Room Mailbox to Query’

After that, the script will process as normal, even though only one item is in the $RoomMailboxes array.

the change of array:

$Uri = “https://graph.microsoft.com/beta/places/microsoft.graph.room” [Array]$RoomMailboxes = Get-GraphData -Uri $Uri -AccessToken $Token If (!($RoomMailboxes)) {Write-Host “No room mailboxes found – exiting” ; break}

$Uri = “https://graph.microsoft.com/beta/places/microsoft.graph.room” [Array]$RoomMailboxes = Get-ExoMailbox -RecipientTypeDetails RoomMailbox -Identity ‘[email protected]’ If (!($RoomMailboxes)) {Write-Host “No room mailboxes found – exiting” ; break}

Then I get :

Get-GraphData : System.Net.WebException: The remote server returned an error: (404) Not Found. at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(WebRequest request) at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord() At C:\Users\70J6816\Downloads\ReportRoomMailboxUsage.ps1:131 char:28 + … [array]$CalendarData = Get-GraphData -Uri $Uri -AccessToken $Token

What’s in the array? Hopefully one mailbox…

And what’s in the $URI variable. The Graph is complaining that it can’t find the object you’re requesting.

The original line is $Uri = “https://graph.microsoft.com/V1.0/users/” + $Room.emailAddress + “/calendar/calendarView?startDateTime=” + $Start + “&endDateTime=” + $End

Change it to $Uri = “https://graph.microsoft.com/V1.0/users/” + $Room.PrimarySmtpAddress + “/calendar/calendarView?startDateTime=” + $Start + “&endDateTime=” + $End

You’re using Exchange to return information instead of the Graph. The information is different depending on which source you use….

yeah, replaced email address with SMTP address and now it’s working.

Thank you. 🙂

' src=

do you think its possible to report on which days are most popular. That is, for a given room for a given timeframe, what % of bookings were monday,tuesday,etc.

My thoughts are its unlikely as the ‘day’ doesnt seem to be part of the meeting, just the date, so the script would need to calculate all the dates for ‘mondays’ for that timeframe, then count how many of those there were, then the other days, then figure out %. Just seems too crazy, but hey, my manager is asking for it.

Anything is possible when you have the data. For instance, I was able to hack out this example chart to show the most popular day for a specific room. The same could be used to output the overall most popular day across all rooms:

Summary usage pattern for the Board Conference Room room Monday events: 1 (4.55%) oo> Tuesday events: 16 (72.73%) oooooooooooooooooooooooooooooooooooo> Wednesday events: 2 (9.09%) ooooo> Thursday events: 1 (4.55%) oo> Friday events: 1 (4.55%) oo> Saturday events: 1 (4.55%) oo> Sunday events: 0 (0.00%) >

Try the enhanced script as described in https://office365itpros.com/2023/02/10/room-mailboxes-usage-pattern/ and see if that works for you.

' src=

Hi Tony, i followed the instruction (app registration + api permission ) but i still got this error Get-GraphData : System.Net.WebException: The remote server returned an error: (403) Forbidden. What’s can be my mistake ?

ps : does the script manage multilanguage ? (my room mailboxes are in French)

It’s a permissions problem (403 – see https://practical365.com/common-graph-api-errors-powershell/ ).

I have not tested with French mailboxes, but I can’t see that there should be a problem because the recipient type doesn’t change.

solved, just like Vibhu Gupta said, i removed all permissions and it works perfectly now

thanks a lot for this script 😉

Glad you got things sorted.

' src=

Again, wanted to thank you for posting this code. It was extremely helpful. I did run into a but in the graph when I ran this in our production environment. I found that I wasn’t getting all of the conference rooms. Pulling the data in the Exchange Module, I had 194 rooms but when I pulled running using Graph, i was only able to pull down 100 rooms. the issue is being escalated to engineering. I was able to target room lists in the Uri as a workaround, which worked very nicely.

Thanks again!

The script uses a default Graph query, which means that 100 items are returned, which is why I use a function to return additional data if more is available (Get-GraphData). I’m surprised that it didn’t return all available room mailboxes. Although you’ve got a workaround, it would be good to see if the problem is with the API. You could try adding a Top clause to the query to return more than the default 100 items.

$Uri = “https://graph.microsoft.com/beta/places/microsoft.graph.room?`$top=200”

Then run the command to fetch the data (or use [array]$Data = Invoke-MgGraphRequest -Uri $Uri) to see how many objects are returned.

what did you do to have a specific list of rooms within the URI as workaround? Can you share the code / how you were able to slove this?

' src=

Never mind :). User error!

I’ve found that if you ‘accidentally’ click conent on behalf of the org, it fails. I ended up revoking org permissions and it worked like a champ.

Tony – thank so much for the script. I seem to be running into the same challenge as others of getting (Response status code does not indicate success: 403 (Forbidden)). I am running with Application permissions: Calendars.Read and Place.Read.All. I see the rooms successfully loaded into the array.

' src=

Tony, thanks, this script is pretty much exactly what we have been trying to find for awhile now. I have ran it several times and we get interesting results. I ran it on 180day timeframe , and it seems to be mixed as to what rooms it attaches to. We also get an error after the room listing and before the calculations. The calculations return fine for the rooms that are gathered.

Found 10 calendar events for the Lynchburg Conference Room room Found 35 calendar events for the Lynchburg Training Room room Found 15 calendar events for the Tyler HR Conference Room room Get-GraphData : System.Net.WebException: The remote server returned an error: (404) Not Found. at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(WebRequest request) at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord() At C:\Users\..\…, Inc\Documents\Exchange PowerShell Scripts\ROOMS_REPORT.ps1:129 char:28 + … [array]$CalendarData = Get-GraphData -Uri $Uri -AccessToken $Token + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Get-GraphData

Meeting Room Statistics from 7/15/2022 9:35:34 AM to 1/12/2023 9:35:34 AM ———————————————————————–

What email address is in $URI when the call fails? It might be that the lookup against the Places data returns bad information.

You could look at the $RoomMailboxes array after the failure to find which mailbox is being processed after the last successful room (looks like that’s the Tyler HR Conference room).

When you find the room, check that it exists… It might not! That’s what the error says…

$URI = https://graph.microsoft.com/V1.0/users//calendar/calendarView?startDateTime=2022-11-12T12:36:09&endDateTime=2023-01-12T12:36:09 ( I just ran it on 60 day to speed up the script)

I see three rooms in the array after the last successful room, but they do exist in the address book.

If I just wanted to run the report against a certain roomlist, where / how would I edit the script to do that?

First – for some reason, the URI that you show has no user information in it. There should be something like [email protected] between users and calendar. Like /users/[email protected]/calendar

One quick fix would be to include a line like $RoomMailboxes = $RoomMailboxes | Where-Object {$_.EmailAddress -ne $Null} to eliminate any rooms without an email address from the array. However, I am curious as to why a room mailbox would exist without an email address… or why a lookup against the Places API returns such data. Places is a beta API so maybe that’s one of the reasons why it’s not in the production Graph APIs.

You could also look at the array to see what’s there before making any changes:

$RoomMailboxes | Format-List

The key to processing a selected list of rooms would be to build the input array with the rooms that you want to process. For instance, you could build the array with Get-ExoMailbox -RecipientTypeDetails RoomMailbox and a filter against a custom attribute.

' src=

Hello Guys, Thanks for sharing. I having the same problem as VibHu, check all the steps in the discussion but still I’m getting this error: Get-GraphData : System.Net.WebException: The remote server returned an error: (403) Forbidden.

My only two permissions are : “Place.Read.All” and “Calendars.Read”

Did you check that you’re using application rather than delegate permissions?

' src=

Thank you Tony,

Removed all permissions and left only “Place.Read.All” and “Calendars.Read”. The script now works. Surprising that extra permissions would have such unexpected behaviour. Again, thank you very much for the help solving this.

As I say, Graph permissions can be a real bear to deal with…

This is bizarre, I don’t see “Calendars.Read.All” it does not appear in the list.

Only the below permissions are available when I search for “Calendars”

Calendars.Read Read calendars in all mailboxes

Calendars.ReadBasic.All Read basic details of calendars in all mailboxes

Calendars.ReadWrite Read and write calendars in all mailboxes

Sorry. My mistake – it is Calendars.Read (Graph permissions can be a bit of a nightmare to navigate at times). I think that the Calendars.ReadBasic.All permission is getting in the way. I would start over and remove all permissions from the app except Calendars.Read and Places.Read.

Then check your token to see if those permissions are present and then see if the code works.

Here are all the roles extracted from the token: “rh”: “0.ASAA3glhSrDTFkCO3RY0kzd99gMAAAAAAAAAwAAAAAAAAAAgAAA.”, “roles”: [ “Place.Read.All”, “User.ReadBasic.All”, “Calendars.Read”, “Directory.Read.All”, “User.Read.All”, “Calendars.ReadBasic.All” ],

I have added few extra while testing.

Any ideas what could be the issue here?

I use Calendars.Read.All. You have Calendars.Read and Calendars.ReadBasic.All (a different permission that’s used for free/busy information). Try assigning Calendars.Read.All

I have added Directory.Read.All as per your recommendation, no difference unfortunately.

Test your token and see what permissions it has.

This is using your powershell script:

.\ReportRoomMailboxUsage.ps1 Scanning room mailboxes for calendar events from 28/12/2022 15:04:31 to 05/01/2023 15:04:31 Get-GraphData : System.Net.WebException: The remote server returned an error: (403) Forbidden. The URL is the below I believe. (with substituted account) Uri: https://graph.microsoft.com/V1.0/users/[email protected]/calendar/calendarView?startDateTime=2022-12-28T18:48:02&endDateTime=2022-12-31T18:48:02

Thanks for trying to help

Well, I just tested and looked at the token (you can paste it into jwt.io to test your token) and I see that the app has just two permissions:

“oid”: “f7165c54-9331-497a-8da5-5ae53e8b263d”, “rh”: “0.AVwAPzFitvwUokOaetLif080eAMAAAAAAAAAwAAAAAAAAABcAAA.”, “roles”: [ “Place.Read.All”, “Calendars.Read” ],

' src=

fix the emailaddress to primarysmtpaddress in $uri. It will work

The Graph doesn’t return a property called PrimarySmtpAddress for the Places API. You get emailAddress, which is what the script uses.

id : ebe9be7a-0e33-481f-bfea-1e10735aaaf6 emailAddress : [email protected] displayName : Board Conference Room phone : +353 1 2070000 nickname : Board Conference Room

However, if you find room mailboxes with Get-ExoMailbox -RecipientTypeDetails RoomMailbox, you can use PrimarySmtpAddress because that’s what the cmdlet returns.

Yes, added also User.Read.All, still 403…

What call is returning the 403? (what URL are you trying to access)?

Try adding the Directory.Read.All permission.

' src=

I get 403 error even though Calendar.Read.All and Place.Read.All application permissions are set. Are any other permissions required as well?

Get-GraphData : System.Net.WebException: The remote server returned an error: (403) Forbidden.

Are you using application permissions?

' src=

Nice article Tony very usefully, just take care of the App Secret in your script (remove and reset it) as its visible!

The app secret isn’t much use without the app identifier and the tenant identifier…

Leave a Reply Cancel reply

Latest articles.

Managing Exclusions for Microsoft Security Solutions

Managing Exclusions for Microsoft Security Solutions

In this blog, Thijs Lecomte reviews Exclusion for Microsoft Security Solutions, why they are important, and how to manage them.

A New Take on The Classic Exchange Mailbox Statistics PowerShell Script

A New Take on The Classic Exchange Mailbox Statistics PowerShell Script

Anyone who learned PowerShell to manage Exchange has probably written a script to report Exchange mailbox statistics, which means that many scripts have been written since 2006. This article describes a new take on the topic that produces a nice HTML report and two lists that can be used for other reporting.

  • Exchange Online

Practical Protection: Microsoft Introduces “Cloud PKI”

Practical Protection: Microsoft Introduces “Cloud PKI”

In this edition of Practical Protection, we are talking about the new Microsoft Cloud PKI, reviewing the steps for deployment, and helping you decide if it is worthwhile for your organization.

  • Microsoft 365

microsoft bookings usage report

Microsoft Bookings

A simpler way to organize schedules and manage appointments.

  • For Business
  • For Enterprise

Appointments color coded and listed by employee in Microsoft Bookings.

Simplify scheduling to save time

Save time when scheduling with Microsoft Bookings. Customize appointment details, booking requirements, and specify service providers to streamline the booking experience for you and your customers. Bookings is integrated with your Microsoft 365 calendar to help your customers quickly find available times and avoid double-booking. With Bookings, you’ll spend less time scheduling and more time meeting with customers.

Visit these sample pages to learn how people can book appointments in Bookings:

A laptop screen showing several medical professionals’ schedules in the Bookings calendar within Microsoft Teams.

Meet virtually with Microsoft Teams

Make your Microsoft Bookings meetings virtual with Microsoft Teams. Every appointment booked as an online meeting creates a meeting link that everyone can join virtually from anywhere. Bookings is also available as an app within Teams to help you create calendars, assign staff, schedule new appointments, and meet without ever leaving Teams.

A device screen showing different provider’s calendars in Bookings

Customize appointments to your business needs

Microsoft Bookings has flexibility and customization options to fit a variety of scheduling needs across departments, individuals, and types of appointments. Create and manage multiple Bookings calendars, each with their own unique setup. Different calendars can have different page structures, information, staff, and types of appointments and communication.

A device screen showing the details of an upcoming booking for a hair salon with the options to reschedule, cancel the booking or create a new booking

Provide your clients flexibility, convenience, and control

Microsoft Bookings offers more options for your customers when they visit your booking page, book an appointment, or get a confirmation email and calendar invitation. Customers who book an appointment online can easily reschedule or cancel it themselves to keep everyone in sync. If you prefer to book appointments for your customers, enter the appointment details in Bookings so they receive confirmations and reminders. With Bookings, it’s also easy to track all changes made to appointments.

How organizations use Microsoft Bookings

Organizations across multiple industries have implemented Bookings in a variety of ways to address their scheduling needs.

A person standing outside, leaning on a car and using a mobile phone

Société de l’assurance automobile du Québec (SAAQ)

SAAQ is a government agency that used Bookings to allow citizens to schedule appointments at 115 different service centers.

“The success story of this implementation is being able to build out and implement a new solution in only a few days without it costing a lot of money.”

—Mario Blouin, Technology Enterprise Architect, Société de l’assurance automobile du Québec (SAAQ)

A person sitting at a desk engaged in a Teams video call with a medical provider on a laptop

Zurich Insurance

Zurich Insurance, a global insurance company, implemented Bookings as an efficient way for customers to schedule online appointments.

“If you want to have more transparency and availability of appointments for your organization, use Bookings... Bookings doesn’t require a lot of people or other resources to set up, and the benefits are big.”

—Raid El Badarin-Deriy, Digital Workplace Technical Lead, Zurich Insurance, Germany

A child sitting at a table using a Surface device

Florida Virtual School

Bookings helped Florida Virtual School schedule and manage interactions between teachers, students, parents, and staff.

“The simplicity and ease-of-use were very attractive to our team. People select their preferred days and times, so students can only book when the teacher is available to meet with them. It’s a very smart, real-time system that works.”

—Regina Collins, Global School Principal, Florida Virtual School

A customer sitting in the waiting area of a bank using a mobile phone

Umpqua Bank

Umpqua Bank achieved business continuity while transitioning to appointment-only services using Bookings.

“Bookings solves a universal business problem… in a simple and easy-to-use way. If Bookings is in your portfolio suite and you need a scheduling tool, it’s a no-brainer.”

—Robert Walters, Senior Vice President – Director of Technology Operations, Umpqua Bank

A healthcare provider helping a child use physical therapy ropes

Confluent Health

With the rise of virtual consultations, Confluent Health’s scheduling team uses Bookings to more easily manage and schedule appointments for those virtual visits.

“The centralized scheduling of appointments has generated great feedback. Everyone has commented on how easy it is to use for the virtual visits.”

—Brooke Mugavin, Vice President of Operations, Confluent Health

Get it all with Microsoft 365

Microsoft Bookings is part of select Microsoft 365 plans. Stay productive with always up-to-date apps, email, file storage, sharing, and other features.

A customer and a receptionist wearing masks and having a conversation at a front desk of a business. There is a Surface device displaying a PowerPoint presentation and the customer is holding up their mobile phone displaying a Teams call in progress

Frequently asked questions

What is a booking/scheduling app.

A booking and scheduling app is an online application to allow for easy scheduling of customizable appointments that integrates with your calendar. A booking or scheduling app can help you and your clients avoid double booking.

Does Microsoft Bookings integrate with other applications?

Microsoft Bookings easily integrates with other Microsoft applications including Microsoft Outlook Calendar, Microsoft Teams and more. Microsoft Bookings integrations allows you to easily integrate your appointments with your personal and professional calendars.

What are the benefits of an online scheduling system?

Online booking systems can save you and your business a lot of time and headaches that can come with trying to align schedules for appointments. An online scheduling tool makes it easy for people to see your calendar availability even if they are not in your organization. An online booking system can also prevent double booking with real time availability.

What is the importance of scheduling meetings and planning ahead?

Planning ahead to schedule meetings and appointments is important to ensure you don’t have overlapping appointments, and aren’t double booking. Scheduling meetings ahead of time also makes sure you are prepared and not caught off guard.

What does it mean to be double booked?

Double booking is when someone has more than one meeting or appointment at the same time. To avoid double booking, a scheduling or booking tool should be used so that your availability is always up to date.

What is a cancellation policy?

A cancellation policy can protect you and your business from customers who cancel at the last minute, leaving you with an open appointment and potentially costing you money. A cancellation policy should be clear at the time of booking and not be a surprise to consumers. A cancellation policy can help prevent people cancelling a the last minute or not showing up at all.

Connect with Microsoft 365 :

Support icon

  • Chat with sales
  • Contact sales

Available Mon to Fri from 6:00 AM to 6:00 PM Pacific Time.

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Health and usage reports

  • 10 contributors
  • Applies to: Microsoft Teams

The reporting node contains data for the health and usage of your Microsoft Teams Rooms in the Pro Management portal. The Overview tab surfaces tenant-wide health trends of your rooms. The Health tab displays a list of rooms with their corresponding health data. Room usage based on calendar information and call quality data is visible under the Usage tab.

Export tickets

The ticket export feature lets you export all active and closed ticket history information within a select date range. Exporting tickets lets you easily access and analyze your ticket history data for better decision making.

Under the Overview report, the Export tickets button provides ticket history details that include the following fields: creation date, device name, incident type, ticket state, ticket, last update, history, last resolved date, message/notes conversations, closure summary, closed by, and last closed date.

The data is generated in a JSON file that you can download and import into Power BI. The download starts after you select Export tickets . If you leave the portal before the download starts, you'll have to request the file again.

Navigating reports

The overview section provides graphical representations of important aspects of meeting room management. The charts will change depending on the time span selected or group selected. To change the time span, click the drop-down menu.

To change the group, click the group selection drop-down menu in the banner.

Tickets by category

The donut displays the total tickets raised for the selected time span and group (default is seven days, all groups). Tickets are represented in their major categories: Audio, Display, Peripherals, Connectivity, Versioning, and Recorded issues.

A flyout for the detailed view for tickets of that category appears when selected.

In the flyout, it's possible to filter the list of tickets by the subcategory by selecting the respective part of the donut.

To navigate back, either click on the donut or click on the breadcrumb at the top left.

To navigate to a specific ticket in this list view, click on the link under the Support ticket column .

Health history

This graph shows the average health (definition in Health section) for all the rooms in the tenant and the average health for all Microsoft Teams Rooms Pro customers on a day-to-day basis. You can view the average health for up to 90 days.

Most reliable/least reliable rooms

Two tables show the most reliable and least reliable rooms based on health. For the full list view, select Health, then sort the list by the Health column.

Rooms history

Provides a historical view of rooms enrolled in the service and provides a comparative view of rooms that were healthy or unmonitored in the same time period.

To navigate to the Health report for all rooms, select Reports, then select Health .

The health score is a metric designed to surface rooms that are most likely to cause end-user frustration. A room can either be healthy or unhealthy for a given day. It is considered unhealthy if a ticket or many tickets impacted the room for more than 20 total minutes during non-maintenance hours (5AM -9PM machine local time). For example, if a ticket is opened at 5:00 AM but closed at 5:15 AM, the room is still considered healthy. But, if a second ticket occurred from 09:00AM to 9:10AM, the room would be considered unhealthy for the day. Similarly, if a ticket occurred from 5:00 AM to 5:21 AM, it is considered unhealthy for the day.

Health for the day is aggregated once a day at 12:00 AM UTC time. For customers near the international date line, health aggregation may occur near the middle of the workday.

Rooms that are onboarding are hidden for the list of rooms in the Health tab and do not count towards the average health of the tenant.

Clicking on a room listed in this view displays more details.

The bar graph displays the number of tickets on each day. Tickets opened on that respective day appear in blue. Tickets opened prior to the respective day appear in orange. Clicking on a day on the graph filters the pie chart and table to the relevant tickets. To reverse the filter, navigate with the breadcrumbs or click on the graph.

Categorization of tickets is represented in the donut chart. Interacting with this filters the timeline graph and table. To reverse the filter, navigate with the breadcrumbs or click on the graph.

The meeting impact view shows scheduled meetings during which a ticket with a severity of "Important" or "Critical" was open. The purpose of this view is to provide an approximation of meetings where participants could have experienced issues.

The Settings tab displays the metadata of the room such as the hardware information, device settings, BIOS information, app settings and location.

To view the Usage report for all rooms, select Reports->Usage .

The headlines provide a few insights:

  • Total rooms in your tenant
  • How many do not have any booked meetings, either offline or online
  • Percentage of utilization of rooms across the tenant
  • Total number of booked meetings through exchange
  • Percentage of booked meetings that included a Skype or Teams link
  • Total calls with room participation
  • Aggregate call performance score from all calls classified with "Good" quality to all calls.

Below the headline Metrics is a table of rooms with corresponding metrics. Select a room to view more usage details. The metrics in the table are described in the following table.

Usage is calculated at the end of each day at midnight (00:00) local time of the meeting room device. Utilization is calculated based on the total booked meeting time for that day divided by 8 hours.

Note The metrics for Panels that aren't sharing an account with Microsoft Teams Rooms aren't showing yet in the usage report.

Usage details of a room

Clicking on a room in the list view prompts a flyout with more in-depth information. Under the Utilization tab of the flyout is a graph showing hours of usage of the last five business days. For each day there are two bars: blue represents booked meeting time; purple represents scheduled time of Teams/Skype enabled meetings. At the bottom, the average meeting bookings and duration for the past five business days are calculated.

The Calls table shows meetings in which the room participated in a Teams call. The Room Audio Quality is evaluated for only the room, not all participants. To view call quality for all participants of a specific call, select a call by clicking on the Start Time.

To view stream details for the room, click the Session Start Time.

Insight report

The Insight report is located under the Report section of the pro-management portal. It provides a detailed overview of all the activities completed by our services during a specific time range, including the types of actions performed, such as detection, remediation, and updates. This report highlights the value we provide through actions to resolve rooms issues and how much time and money we help you save by doing that.

To view the Insight report for all rooms, select Report > Insight Report (Preview) .

The Actions section of the report shows a timeline view and aggregate count of all actions completed each day by the service. Action types include detection, remediation, and updates. Details on the actions can be viewed by selecting See details . Once you have selected See details , a new panel will appear with two sections; Tickets and Updates. The Tickets section shows a list of tickets with corresponding hours saved. Select the Tickets section to show an expanded view of each action taken on the respective ticket and the hours saved. the Updates section shows a list of each update applied and the corresponding tally of devices that successfully completed the update.

Detection, investigation, and remediation

The Detection, investigation, and remediation section displays two counts respective of the specified time range: Meeting issues prevented and Incidents remediated.

The Updates section provides a count of total updates either scheduled, in progress, or completed across the devices enrolled in the service.

Estimated savings

The estimated hours saved from the actions completed are converted to a monetary amount based on a default rate of $50 USD/hour for IT professionals. To customize the rate, select See details in this section. The Detail pane allows you to input a custom hourly rate and corresponding currency to get a better monetary estimate.

User experience

This section provides the average call rating by end-users on a scale of 1 to 5 (5 being the best).

Was this page helpful?

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback .

Submit and view feedback for

Additional resources

microsoft bookings usage report

Contribute to the Microsoft 365 and Office forum! Click  HERE  to learn more  💡

March 14, 2024

Contribute to the Microsoft 365 and Office forum!

Click  HERE  to learn more  💡

  • Search the community and support articles
  • Microsoft 365 and Office
  • Search Community member

Ask a new question

Bookings - missing customer data on calendar

When we create bookings from the link, the custom information does not display on the bookings calendar but the customer name does. If you edit the booking, then the custom data is displayed but the customers name disappears.

This is what is shows when you click on it from the calendar:

microsoft bookings usage report

This is what shows if you click to edit:

microsoft bookings usage report

  • Subscribe to RSS feed

Report abuse

Replies (2) .

Kerry Chen MSFT

  • Microsoft Agent |

Dear Beth P.

Good day! Thank you for posting to the Microsoft Community. We are happy to help you!

First of all, we regret for the inconvenience caused to your work. Based on your description, please kindly try to clear your browser's cache first and then log back in to check the result, thank you. If it doesn't work, please try using a different browser and log in to the privacy mode (Incognito mode) of the other browser to check the result, thank you.

Meanwhile, since your problem is related to Bookings, and our forums lack the tools and permissions to solve bookings problems, to help you better and not waste more time, I recommend that you ask questions in Microsoft Bookings - Microsoft Community Hub . Technical engineers over there specialize in Bookings issues, and experts will focus on queries to further assist you.

Thank you in advance for your understanding! Your patience and cooperation will be greatly appreciated. I hope all the best!

Kerry Chen | Community Moderator

Was this reply helpful? Yes No

Sorry this didn't help.

Great! Thanks for your feedback.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

Thanks for your feedback.

Yeah, we have tried all those options and it's happening with all of our staff. I'll try the Microsoft Bookings - Microsoft Community Hub you suggested; hopefully someone will respond to me this time.

Question Info

  • For business
  • Norsk Bokmål
  • Ελληνικά
  • Русский
  • עברית
  • العربية
  • ไทย
  • 한국어
  • 中文(简体)
  • 中文(繁體)
  • 日本語

Microsoft Power BI Blog

Power BI March 2024 Feature Summary

Headshot of article author Saveen Reddy

Welcome to the March 2024 update! Here are a few, select highlights of the many updates we have for Power BI. There are new updates for Visual calculations, edit your data model in the Power BI Service, and deliver report subscriptions to OneDrive SharePoint.

There is more to explore, please continue to read on.

Earn a free Microsoft Fabric certification exam!  

We are thrilled to announce the general availability of Exam DP-600 , which leads to the Microsoft Certified: Fabric Analytics Engineer Associate certification.   

Microsoft Fabric’s common analytics platform is built on the instantly familiar Power BI experience , making your transition to Fabric Analytics Engineer easier. With Fabric, you can build on your prior knowledge – whether that is Power BI, SQL, or Python – and master how to enrich data for analytics in the era of AI.  

To help you learn quickly and get certified, we created the Fabric Career Hub. We have curated the best free on-demand and live training, exam crams, practice tests and more .  

Also, become eligible for a free certification exam by completing the Fabric AI Skills Challenge. But hurry, the challenge only runs from March 19 – April 19 and free certs are first-come, first-served! (limit one per participant, terms and conditions apply).  

microsoft bookings usage report

  • Version number: v: 2.127.1080.0
  • Date published: 3/25/24

microsoft bookings usage report

  • On-Object Interaction Updates 

Expanding Spatial Data Integration: Shapefile Support in Azure Maps Visual

Data bars in matrix subtotal/total conditional formatting, data labels alignment, edit your data model in the power bi service – updates.

  • Undo/Redo, Clear all, and New filter cards in Explore 
  • Custom visual SSO support 

New title flyout for Power BI Desktop developer mode

  • Rename to “Semantic Model” in Power BI Project files 

System file updates for Git integration

Hierarchal identity filter api, new visuals in appsource, dumbbell bar chart by nova silva, date picker by powerviz, drill down combo pro, pdf uploader/viewer, inforiver premium matrix, localized parameter prompts in power bi report builder.

Visual calculations update  

You can now add and edit visual calculations on the service. You can add a visual calculation by selecting New calculation from the context menu on a visual after you publish a report to the service.

A screenshot of a computer Description automatically generated

Also, after you publish a report that has visual calculations in it, you can access the visual calculations edit mode by selecting a visual calculation and choosing Edit calculation .

A screenshot of a computer Description automatically generated

To learn more about visual calculations, read our announcement blog and our documentation.

Blogs: https://powerbi.microsoft.com/blog/visual-calculations-preview/

Docs: https://aka.ms/visual-calculations-docs

On-Object Interaction Updates

Why not both? To balance the needs of our existing users who prefer to build visuals quickly in the pane, with the needs of our new users that need guidance when picking a visual type or appropriate field wells, you no longer must choose one or the other path, now there’s both!

This month, we streamlined the build pane and moved the visual suggestions feature to be inside the on-object build button only. Need help building your visual? Use the on-object “suggest a visual” experience. Already know your way around, use the build pane as you already do today.

A screenshot of a computer Description automatically generated

Gauge visual now supported! The gauge visual now supports the new on-object formatting sub selections. Simply double click on your gauge visual to enter format mode, then right-click on which part of the visual you’d like to format using the mini-toolbar.

A screenshot of a graph Description automatically generated

The pane switcher has been renamed to Pane manager and spruced up this month. Based on your feedback, we’ve updated the order of the pane listings and added the settings that pertain to the Pane manager directly in this menu. Let us know what you think!

A screenshot of a computer Description automatically generated

Mobile layout auto-create  

You know that mobile optimized report layouts are the best way to view data in the Power BI mobile apps. But you also know that it requires extra work to create that layout. Well, not anymore…

As of this monthly update, you can generate a mobile-optimized layout with a click of a button! This long-awaited feature allows you to easily create mobile-optimized layouts for any new or existing report page, saving you tons of time!

When you switch to the mobile layout view in Power BI Desktop , if the mobile canvas is empty, you can generate a mobile layout just by selecting the Auto-create button.

The auto-create engine understands the desktop layout of your report and builds a mobile layout that considers the position, size, type, and order of the visuals that the report contains. It places both visible and hidden visuals, so if you have bookmarks that change a visual’s visibility, they will work in the automatically created mobile layout as well.

You can edit the automatically created mobile layout, so if the result is not exactly what you expected, you can tweak it to make it perfect for your needs. Think of it as a starting point you can use to shorten the way to that beautiful, effective, mobile-optimized report you envision.

To enjoy the new mobile layout auto-create capabilities, switch on the “ Auto-create mobile layout ” preview feature in Power BI Desktop: File > Options and settings > Options > Preview features > Auto-create mobile layout .

A screenshot of a computer Description automatically generated

We invite you to try out the mobile layout Auto-create feature and share your feedback with us!

After successfully integrating WKT and KML formats in February, we’re now stepping it up a notch by extending our support to include the Shapefile format. With just two clicks, you can now seamlessly overlay your spatial data onto Azure Maps’ base map. Whether through file upload or a hosted file, Azure Maps’ reference layer empowers you to effortlessly incorporate your data. Get ready to elevate your data storytelling to new heights, embracing flexibility and unlocking fresh insights with our upcoming release!

A map of australia with white text Description automatically generated

In this Power BI release, we are happy to upgrade the data bars for Matrix and table to apply them to values only, values and totals, or total only. This enhancement gives you better control and reduces unnecessary noise to keep your tabular visuals nice and clean.

In this Power BI release, we’re excited to introduce an upgrade to the data bars for Matrix and Table visuals. Now, you have the flexibility to apply data bars to the following options:

Values Only: Display data bars based solely on the values within your visual.

Values and Totals: Extend data bars to include both individual values and their corresponding totals.

Total Only: Show data bars exclusively for the overall total.

This enhancement provides better control over your tabular visuals, reducing unnecessary noise and ensuring cleaner presentation.

microsoft bookings usage report

We’ve made significant improvements to the data labels in our charts. Now, when you use a multi-line layout with title, value, and detail labels, you have the flexibility to horizontally align them. This means you can create cleaner, more organized visualizations by ensuring that your labels are neatly positioned. To experience this enhancement, follow these steps: 1) navigate to the Data Labels section, 2) click on Layout , and finally, 3) explore the Horizontal alignment options for aligning your labels.

microsoft bookings usage report

Write DAX queries in DAX query view with Copilot  

The DAX query view with Copilot is now available in public preview! Enable the feature in the Preview section of File > Options and settings > Options, click on DAX query view, and launch the in-line Copilot by clicking the Copilot button in the ribbon or using the shortcut CTRL+I.

With Fabric Copilot, you can generate DAX queries from natural language, get explanations of DAX queries and functions, and even get help on specific DAX topics. Try it out today and see how it can boost your productivity with DAX query view!

A screenshot of a computer Description automatically generated

A more detailed blog post will be available soon.

Enhanced row-level security editor is Enabled by Default

We are excited to announce the enhanced row-level security editor as the default experience in Desktop! With this editor, you can quickly and easily define row-level security roles and filters without having to write any DAX! Simply choose ‘Manage roles’ from the ribbon to access the default drop-down interface for creating and editing security roles. If you prefer using DAX or need it for your filter definitions, you can switch between the default drop-down editor and a DAX editor.

A screenshot of a computer Description automatically generated

Learn more information about this editor including limitations in our documentation . Please continue to submit your feedback directly in the comments of this blog post.

Selection expressions for calculation groups 

Calculation groups just got more powerful! This month, we are introducing the preview of selection expressions for calculation groups, which allow you to influence what happens in case the user makes multiple selections for a single calculation group or does not make a selection at all. This provides a way to do better error handling, but also opens interesting scenarios that provide some good default behavior, for example, automatic currency conversion. Selection expressions are optionally defined on a calculation group and consist of an expression and an optional dynamic format expression.

This new capability comes with an extra benefit of potential performance improvements when evaluating complex calculation group items.

To define and manage selection expressions for calculation groups you can leverage the same tools you use today to work with calculation groups.

On a calculation group you will be able to specify the following selection expressions both consisting of the Expression itself and a FormatStringDefinition:

  • multipleOrEmptySelectionExpression . This expression has a default value of SELECTEDMEASURE() and will be returned if the user selects multiple calculation items on the same calculation group or if a conflict between the user’s selections and the filter context occurs.
  • noSelectionExpression . This expression has a default value of SELECTEDMEASURE() and will be returned if the user did not select any items on the calculation group.

Here’s an overview of the type of selection compared to the current behavior that we shipped before this preview, and the new behavior both when the expression is defined on the calculation group and when it’s not. The items in bold are where the new behavior differs from the current behavior.

Let’s look at some examples.

Multiple or Empty selections

If the user makes multiple selections on the same calculation group, the current behavior is to return the same result as if the user did not make any selections. In this preview, you can specify a multiOrEmptySelectionExpression on the calculation group. If you did, then we evaluate that expression and related dynamic format string and return its result. You can for example use this to inform the user about what is being filtered:

In case of a conflict or empty selection on a calculation group you might have seen this error before:

A screenshot of a computer Description automatically generated

With our new behavior this error is a thing of the past and we will evaluate the multipleOrEmptySelectionExpression if present on the calculation group. If that expression is not defined, we will not filter the calculation group.

No selections

One of the best showcases for this scenario is automatic currency conversion. Today, if you use calculation groups to do currency conversion, the report author and user must remember to select the right calculation group item for the currency conversion to happen. With this preview, you are now empowered to do automatic currency conversion using a default currency. On top of that, if the user wants to convert to another currency altogether, they can still do that, but even if they deselect all currencies the default currency conversion will still be applied.

Note how both the currency to convert to as well as the “conversion” calculation group item is selected.

A screenshot of a computer Description automatically generated

Notice how the user must only select the currency to convert to.

A screenshot of a computer Description automatically generated

Read more about selection expressions in our calculation groups documentation.

The selection expressions for calculation groups are currently in preview. Please let us know what you think!

DAX query view improvements 

We released the public preview of DAX query view in November 2023, and in this release, we made the following improvements:

  • Re-ordering of query tabs is now available.
  • The share feedback link has been added to the command bar.
  • Coach marks for DAX query view.

And we have released additional INFO DAX functions.

  • INFO.STORAGETABLECOLUMNS() equivalent to DISCOVER_STORAGE_TABLE_COLUMNS
  • INFO.STORAGETABLECOLUMNSEGMENTS() equivalent to DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS
  • INFO.STORAGETABLES() equivalent to DISCOVER_STORAGE_TABLES

Learn more with these resources.

  • DAX query view: https://learn.microsoft.com/power-bi/transform-model/dax-query-view
  • DAX queries: https://aka.ms/dax-queries

Below are the improvements coming this month to the data model editing in the Service preview:

Autodetect relationships

Creating relationships for your semantic model on the web is now easier using autodetect relationships. Simply go to the Home ribbon and select the Manage relationships dialog . Then, choose ‘Autodetect’ and let Power BI find and create relationships for you.

A screenshot of a computer Description automatically generated

Sort by column

Within the web you can now edit the sort by property for a column in your semantic model.

Row-level security

We have made several improvements to the row-level security editor in the web. In the DAX editor you can now do the following actions:

  • Utilize IntelliSense to assist in defining your DAX expression.
  • Verify the validity of your DAX expression by clicking the check button.
  • Revert changes to your DAX expression by selecting the X button.

A screenshot of a computer Description automatically generated

Please continue to submit your feedback directly in the comments of this blog post or in our  feedback forum.

Undo/Redo, Clear all, and New filter cards in Explore

This month we’ve added a few new features to the new Explore experience.

Now it’s simply to undo your previous action or use the ‘Reset all changes’ to go back to the last save state of your exploration.

Note: If you haven’t saved your exploration yet, then reset will clear your canvas back to blank.

A screenshot of a computer Description automatically generated

The new ‘clear all’ feature allows you to wipe your canvas back to blank. This works great when using Explore as a whiteboarding space, maybe you have a new thought you’d like to explore and want to essentially erase what you have in one click. This is made simple with the new ‘clear all’ option.

A screenshot of a phone Description automatically generated

New filter card styling

When using the filtering experience in Explore you’ll now notice an update to the filter cards style and readability. We hope these improvements make filters easier to use and accessible for more users. Let us know what you think!

A screenshot of a graph Description automatically generated

Deliver report subscriptions to OneDrive SharePoint

You can now send subscriptions to OneDrive SharePoint (ODSP). With this update, all your large reports, both PBIX and paginated reports can be sent to ODSP. At this time, the workspace must be backed by a premium capacity or equivalent fabric capacity .

microsoft bookings usage report

We currently support “Standard” subscriptions.

microsoft bookings usage report

You need to select the “Attach full report” option.

microsoft bookings usage report

We support more output formats for paginated reports.

microsoft bookings usage report

Once you select the output format, you can select the OneDrive or SharePoint option, the location and enter the subscription schedule to have your report delivered.

microsoft bookings usage report

Learn more about subscribing to ODSP here . This feature will start lighting up in certain regions as soon as this week, but depending on the geography in which your Power BI tenant is located, it may take up to three weeks to appear. Also, since this feature will not be supported in Sov clouds while in preview.

Custom visual SSO support

Custom visuals that use the new authentication API are also supported when viewed in the Power BI Mobile apps. No additional authentication is required, making sure that the data exploration experience in the mobile app is as delightful as possible, without any interruptions.

You can quickly recognize when you are working on a Power BI Project (PBIP by looking at the title bar:

A screenshot of a computer Description automatically generated

If you click on the title bar, you will see a new flyout that is specific for Power BI Project. This lets you easily locate the Power BI Project files as well as the display name settings for the report and the semantic model. You can also open the folder in file explorer by clicking on the paths.

A screenshot of a computer Description automatically generated

Rename to “Semantic Model” in Power BI Project files

Following the rename to “Semantic Model,” announced last November, Power BI Project files (PBIP) also adhere to that naming change. Now, when saving as PBIP, the following changes will be verified:

  • Only applied to new PBIP files, existing will keep the current folder name.
  • “definition.pbidataset” file is renamed to “definition.pbism”

Currently, when synchronizing Fabric items with Git, every item directory is equipped with two automatically generated system files— item.metadata.json and item.config.json . These files are vital for establishing and maintaining the connection between the two platforms.

A screenshot of a computer Description automatically generated

As part of our continuous efforts to simplify the integration with Git, we have consolidated these files into a single system file -. platform. This new system file will encompass all the attributes that were previously distributed between the two files.

A screenshot of a computer Description automatically generated

When you make new changes to Git, your system files will be automatically updated to the new version in conjunction with your modifications. Both your own changes and the new file updates will show as part of the commit operation. Additionally, any new projects exported from Power BI desktop via developer mode will adopt the new system file format. Beyond these adjustments, there will be no impact on your Git workflow.

More about this file and the attributes within it can be found here.

API 5.9.0 introduces a new filter API. This API allows you to create a visual that can filter matrix data hierarchically based on data points. This is useful for custom visuals that leverage group-on keys and allow hierarchical filtering using identities. For more information see the documentation .   

Visualizations

Waterfall-Visual-Extended Stacked Insights Waterfall – What’s driving my variation? Untap Text Box CloudScope Image

neas-spc Donut Chart image

orcaviz-enterprise

Your valuable feedback continues to shape our Power BI visuals, and we’re thrilled to announce exciting enhancements to the Dumbbell Bar Chart. In the latest release, we’ve introduced the capability to display multiple dumbbell bars in a single row, allowing for the presentation of more than two values in a streamlined manner. This update opens new possibilities, including the creation of the Adverse Event Timeline plot, or AE Timeline.

A screenshot of a graph Description automatically generated

The AE Timeline serves as a graphical representation of the timing of adverse events in clinical trials or studies. Its primary objective is to visually convey when adverse events occur concerning the timing of treatment or exposure. Widely used in medical research, especially during safety data analysis in drug development, the AE Timeline is now seamlessly available within Power BI.

Experience the enhanced Dumbbell Bar Chart and the innovative AE Timeline by downloading it from AppSource . All features are readily accessible within Power BI Desktop, empowering you to evaluate this visual on your own data. Dive into enhanced functionality and discover new insights effortlessly.

Questions or remarks? Visit us at: https://visuals.novasilva.com/ .

The Ultimate Date Slicer for Power BI.

The “First Day of Week” option was added in the recent version update.

The Date Picker visual offers a modern calendar view, Presets, Pop-up mode, Default Selection, Themes, and more, making it a must-have date slicer for Power BI reports.  Its rich formatting options help with brand consistency and a seamless UI experience.

Key Features:

  • Display Mode:  Choose between Pop-up and Canvas modes.
  • Presets:  Many commonly used presets like Today, Last Week, YTD, MTD, or create your preset using field.
  • Default Selection:  Control the date period selected when the user refreshes or reopens the report.
  • Filter Type : Choose between Range and Start/End types.
  • Month Style : Select single- or double-month date slicer.
  • Multiple Date Ranges : Flexibility to select multiple date ranges.
  • Themes:  15+ pre-built themes with full customization.
  • Holidays and Weekends : Customize holidays/weekends representation.
  • Import/Export JSON:  Build templates and share your designs.

Many more features and customizable options.

🔗 Try Date Picker for FREE from  AppSource

📊 Check out all features of the visual: Demo file

📃 Step-by-step instructions: Documentation 💡 YouTube Video:  Video Link

📍 Learn more about visuals: https://powerviz.ai/

✅ Follow Powerviz: https://lnkd.in/gN_9Sa6U

A screenshot of a calendar Description automatically generated

Drill Down Combo PRO lets report creators build impressive charts of categorical data. Choose from multiple chart types and create column, line, area, and their combination charts. Use vast customization options to make your chart unique while enhancing the readability of your data with features like conditional formatting and dynamic thresholds.

MAIN FEATURES:

  • Conditional formatting – compare results against forecasts by automatically adjusting formatting based on a numerical value.
  • Full customization – customize X and Y axes, the legend, outline, and fill settings.
  • Choose normal, 100% proportional, or zero-based stacking.
  • Set up to 4 static and/or dynamic thresholds to demonstrate targets.
  • Customize multiple series simultaneously with series and value label defaults.

POPULAR USE CASES:

  • Sales and marketing – sales strategies, results, marketing metrics
  • Human resources – hiring, overtime, and efficiency ratios by department.
  • Accounting and finance – financial performance by region, office, or business line
  • Manufacturing – production and quality metrics

ZoomCharts Drill Down Visuals are known for interactive drilldowns, cross-filtering, and rich customization options. They support interactions, selections, custom and native tooltips, filtering, bookmarks, and context menu.

Try Drill Down Combo PRO now by downloading the visual from AppSource. 

Learn More about Drill Down Combo PRO by ZoomCharts.  

A screenshot of a graph Description automatically generated

Upload and securely share any PDF file with your colleagues.

Introducing our PDF Uploader/Viewer visual !

Simply upload any PDF file and instantly share it with your colleagues.

This visual boasts several impressive capabilities:

  • Microsoft certification ensures that the visual does not interact with external services, guaranteeing that your PDF files are securely stored and encrypted within the report, in alignment with your report sensitivity settings.
  • It automatically saves your preferences , allowing you to navigate pages, adjust the zoom level, and scroll to emphasize specific sections. Your colleagues will view the exact portion of the PDF you highlighted.
  • You have the flexibility to add text or draw lines to underline key content.
  • Users can conveniently download the PDF file directly from the visual.

A screenshot of a computer Description automatically generated

Inforiver Premium Matrix by Lumel delivers superior reporting capabilities for financial, paginated, IBCS, variance, management reporting, and executive scorecards with the flexibility and familiar user experience of Excel.

To bring visual formulas and ton of additional functionalities frequently sought after by the Power BI community, Inforiver leveraged a differentiated architecture compared to the native matrix. With the recently released dynamic drill SDK/API , we now offer the Performance Mode , so you don’t have to compromise between the initial load performance offered by the native matrix and the advanced capabilities offered by Inforiver. You can now load the first two levels as the default dimensions of the hierarchy and then drill down to the lower levels as needed on demand, giving you the best of both worlds.

In addition to manual data input and what-if simulation capabilities, Inforiver’ s planning and forecasting capabilities are significantly enhanced with the upcoming 2.8 release . This includes a dedicated forecast toolbar, support for automatic rolling forecasts, dynamic handling of time series extensions, and an option to distribute deficits to other time periods.

Inforiver notes and annotations are now context-aware and are dynamically updated based on the filter/slicer selection.

Try Inforiver today!

A screenshot of a computer Description automatically generated

YouTube video: https://youtu.be/uBLw8xOWujc

Video titled: Inforiver Premium Matrix 2.8 | No Code Advanced Reporting in Power BI

Paginated Reports

Connect to new data sources from power bi report builder .

You can now connect to new data sources such as Snowflake and Databricks using the “Get Data” button in Power BI Report Builder.

microsoft bookings usage report

Follow the simple, click-through experience of Power Query online. Select the data source that you want to connect to.

microsoft bookings usage report

If you want to use AAD, you need to create a shareable cloud connection. You can create one as documented here or use one that has been shared with you.

microsoft bookings usage report

You might also select the shareable cloud connection from the “Connection” dropdown. Make sure that the report consumer has permissions to the shareable cloud connection.

Once you have a connection, select Next.

microsoft bookings usage report

You can transform the data that was selected.

microsoft bookings usage report

In the Power Query editor, you can perform all the operations supported. Learn more about the capabilities of the Power Query editor .

microsoft bookings usage report

The M-Query will be used to build your RDL dataset.

microsoft bookings usage report

You can use this dataset to build your paginated report. You can publish the report to the service and share it. Learn more about connecting to more data sources from Power BI Report builder here .

Need a paginated report to support parameter prompts in more than one language? You no longer need to create several reports. You can simply set an expression for the prompt in Power BI Report Builder and specify the translated labels for a given language that the prompt should be displayed in. Learn more from the documentation on Localizing parameter prompts .

microsoft bookings usage report

That is all for this month! Please continue sending us your feedback and do not forget to vote for other features that you would like to see in Power BI! We hope that you enjoy the update! If you installed Power BI Desktop from the Microsoft Store,  please leave us a review .

Also, don’t forget to vote on your favorite feature this month on our community website. 

As always, keep voting on  Ideas  to help us determine what to build next. We are looking forward to hearing from you!

  • Microsoft Fabric

microsoft bookings usage report

Microsoft Dynamics 356 Customer Service icon next to a customer service agent on her laptop

  • Business Decision Makers
  • Analyst reports
  • Dynamics 365 Customer Service​

Forrester TEI study shows 315% ROI when modernizing customer service with Microsoft Dynamics 365 Customer Service

  • By Angela Chang, Senior Product Marketing Manager

Great customer service is absolutely critical to any organization’s success. Today, organizations require modern solutions that can help them support customers on the channels and touchpoints of their choice, by providing customers with self-service options and arming customer support agents with access to information and experts to resolve issues quickly and efficiently. We are pleased to share the results of a March 2024 Forrester Consulting Total Economic Impact TM (TEI) Study commissioned by Microsoft. Forrester calculates Dynamics 365 Customer Service delivered benefits of $14.70 million over three years to a composite organization. The total investment required was $3.54 million over three years and provided a ROI of 315% with a payback period of less than six months .

ROI Impact of Microsoft Dynamics 365 Customer Service

Methodology and purpose

Forrester’s TEI study is a methodology developed specifically to assist companies with the complexities of procuring technology solutions. The TEI study also aids technology vendors in objectively evaluating and communicating their solutions’ value proposition. To these ends, the TEI study discussed here provides a framework for business-decision-makers to assess the potential financial impact of implementing Dynamics 365 Customer Service.

dynamics 365 customer service drives roi and enhances operations

Ultimately, the financial impact of the 2023 study is a projection for a composite organization developed by Forrester through real-world interviews with five businesses that currently use Dynamics 365 Customer Service. These businesses’ experiences and the interview results are aggregated to create a composite organization to obtain data about costs, benefits, and risks. For this study, the composite organization is a $1 billion industry-agnostic organization that operates at multiple locations around the world. It has 5,000 employees total, and 500 of those are customer support agents who support a growing customer base. Each agent works an average of six hours a day and spends 75% of that time on support interactions.

Continue reading to learn what key challenges the composite organization faces and the study’s critical findings.

Key challenges

In the interviews conducted for this TEI study, the organizations shared the following common challenges:

  • A disparate stack of aging customer support and customer relationship management (CRM) solutions.
  • Siloed customer data, which led to suboptimal support.
  • Increasing support capacity requirements.
  • An inconsistent and one-sized customer experience.

With these challenges top of mind, the organizations wanted to find and invest in a customer service solution that could:

  • Integrate seamlessly with other Microsoft solutions, including other Microsoft Dynamics 365 modules, Microsoft Power BI, and Microsoft Teams.
  • Deliver automation and AI-driven insights to the customer support function to enable agents to deliver a better support experience while limiting the requirements for additional support agents.
  • Help establish and curate a knowledgebase to help agents further support the customer experience.

Key findings

Microsoft Dynamics 365 Customer Service provides service organizations’ agents the tools they need to deliver faster, seamless, personalized experiences across any channel. Dynamics 365 Customer Service simplifies and automates support agent processes with Microsoft Copilot in Dynamics 365 Customer Service while delivering faster support experiences to organizations’ customers, which can improve customer satisfaction and lead to additional revenue and profit.

Forrester’s study revealed four quantifiable impact areas: improved handling times leading to greater agent productivity, improvements to first-call resolution and misrouted calls, improvement to sales pipeline generation leading to revenue increases, and cost savings after retiring other customer service solutions.

Let’s take a closer look at each of these areas below to understand how Dynamics 365 Customer Service delivers value for customer support organizations.

Reduced call handling time by 40%

Interviewees noted several inefficiencies across their organizations’ previous customer service solutions that increased agents’ interaction time with customers:

  • Multiple solutions for different support functions, leading to siloed customer data and relevant support information.
  • Lack of visibility into customer histories and best practices for service and resolution.
  • A one-size-fits-all approach to service-case routing.
  • No automation for common support tasks.

Implementing Dynamics 365 Customer Service enabled their organizations to automate manual aspects of their agents’ daily responsibilities, which helped to reduce the time they spent searching for customer information and best practices. Because agents were able to have shorter, more efficient interactions with customers, the composite organization saved an average of 468 hours per agent each year.

Improved first-call resolution by 20%—and decreased misroutes by 15%

With their legacy customer support tools, agents at the study’s participant organizations had no easily accessible customer knowledge base with records of common support issues. They also had no easy way to locate specialists who could help resolve issues, so calls were frequently misrouted to the wrong specialists.

With Dynamics 365 Customer Service, they found they could automatically route support cases to the best specialists depending on the nature of the case. This helped them to both increase first-call resolution rates by 20% and shorten the overall time of interactions. They also decreased the times agents misrouted calls to the wrong specialists by 15%. Overall, the composite organization’s agents saved up to 292 hours per year.

Increased sales pipeline generation to drive additional profitability

Some interviewees shared revenue impact to their organizations’ revenue based on the implementation of Dynamics 365 Customer Service. A CRM product manager at a travel and hospitality organization explained that because Dynamics 365 Customer service automates the majority of searches performed by agents, they can spend more time on revenue-linked interactions. Another interviewee at a manufacturing organization said that customer information and leads are shared between support agents using Dynamics 365 Customer Service and salespeople using Microsoft Dynamics 365 Sales, enabling salespeople to see customer interactions and identify opportunities for new revenue.

Saved up to $978,000 in costs on retired customer service solution(s)

By implementing Dynamics 365 Customer Service, participant organizations were able to retire their previous customer service solutions, saving costs on license fees, infrastructure, and personnel maintenance hours. Interviewees from one manufacturing organization said their company reclaimed nearly $100,000 annually by decommissioning two third-party customer service solutions made redundant by Dynamics 365 Customer Service.

Other benefits

woman looking at a tablet

Forrester Consulting Total Impact Study

See the total economic impact of Dynamics 365 Customer Service

Study participants mentioned additional benefits to their organizations that were not quantified for this report, including:

  • Integration with other Microsoft products including Microsoft Power BI for discovering and predicting common support issues and Teams for easy collaboration between support agents and specialists to help resolve issues.
  • An improved customer support experience with reductions in key support metrics such as handle time, hold time, and resolution rates—and the ability to deliver faster, more personalized, and more nuanced support experiences with Dynamics 365 Customer Service.

Forrester’s TEI study of Dynamics 365 Customer Service found four primary quantifiable impact areas and several soft benefits. Taken together, the study found that Dynamics 365 Customer Service delivered a total economic impact of $14.7 million in financial savings over three years. The total investment required was $3.54 million over three years and provided a ROI of 315%.

To get a closer look at the study’s results and a better understanding of how Dynamics 365 Customer Service can help your organization, download and read the full study: The Total Economic Impact of Microsoft Dynamics 365 Customer Service .

Headshot of Angela Chang

Related posts

Ribbon-like graphic design

Explore the next wave of AI innovation at the Microsoft Business Applications Launch Event  

Customer service support call in action, including the Dynamics 365 Customer Service icon.

Microsoft is a Leader in The Forrester Wave™: Customer Service Solutions, Q1 2024   

abstract image of two people looking at a computer

AI in CRM and ERP systems: 2024 trends, innovations, and best practices  

Executive sitting at desk using laptop in an office with a panoramic view. Including Copilot logo.

Introducing Microsoft Copilot for Finance: Transform finance with next-generation AI in Microsoft 365  

  • First things to know about calls
  • Get to know the new calling experience
  • Start a call from a chat
  • Use the dial pad to make a call
  • Answer a call
  • Optimize mobile data usage
  • Add someone to a call
  • Make multiple calls at the same time
  • Put a call on hold
  • Transfer a call
  • Park a call
  • Use end-to-end encryption for Teams calls
  • Use the Queues app
  • Manage your call settings
  • Call forwarding, call groups, and simultaneous ring
  • Manage your call queue and auto attendant settings in Microsoft Teams
  • Merge calls in Teams
  • Share a phone line with a delegate
  • Check your voicemail
  • View or add contacts
  • View your call history
  • Turn off automatic video in a call
  • Manage your support call queue
  • Use certified Teams devices to help manage calls and meetings
  • Use Microsoft Teams on Apple Vision Pro
  • Get started with Teams phones
  • Get started with Teams displays
  • Get started with Teams panels
  • Broadcasting audio and video from Teams with NDI
  • Get started with Microsoft Teams Rooms
  • Use shared display mode in meeting rooms
  • Cast content from a mobile device to a Teams Room
  • Teams Rooms (Windows)
  • Teams Rooms (Android)
  • IntelliFrame for Teams Rooms
  • Experience Cloud IntelliFrame
  • Create Recognition profiles
  • Use Teams Intelligent Speakers to identify in-room participants in meeting transcription
  • Use the MacBook Pro Touch Bar in Teams meetings and calls
  • Connect third-party devices to Teams
  • Use a room remote to control a Teams Room device
  • Connect a Teams display or desk phone to Teams Windows desktop
  • Participate in a Teams meeting on Surface Hub
  • Place Teams calls with Apple CarPlay
  • Getting started with Teams Phone Mobile
  • Manage call settings in Teams Phone Mobile
  • Overview of Teams calls
  • Set up a delegate to take your calls
  • Tips for Teams calls

microsoft bookings usage report

Use the Queues app in Microsoft Teams

The Queues app is a native Teams experience that extends the customer engagement capabilities of your organization. This collaborative call handling solution allows team members to manage customer calls and team leads to manage queues, access reports, and analyze data. You can pin the app to the left side of Teams for easy access.  

Beginning with surfacing calls in the Call queue, your team can use the Queues app to handle incoming calls, whether they are PSTN or VOIP. You can make outgoing calls on behalf of the call queues or auto attendants that you are assigned to. You can review your call queue metrics and collaborate seamlessly with leads or colleagues within the flow of work. Depending on your permissions, you can monitor call queues and auto attendants in real-time, opt in or opt out your team members, generate performance reports, and configure the call queues and auto attendants.

Queues app is available in Teams Premium, an add-on license that provides additional features to make Teams meetings more personalized, intelligent, and secure. To get access to Teams Premium, contact your IT admin.

Queues app in Teams is available as part of the public preview program and might undergo further changes before being released publicly. To get access to this and other upcoming features, switch to Teams public preview .

Launch the app

Once you've been authorized by your IT admin, the Queues app will be ready to use.

Microsoft Teams more options icon

Find the Queues app.

You can pin the app to the bar by right-clicking it and selecting Pin .

View the call queue

Depending on how your organization is structured, you may have several call queues you can opt in to. From the Queues app, you can see available queues to join along the top of the window.

Screenshot showing the Opt in button for selected queue

Select the queue you would like to opt in to.

Click Opt in .

Once opted in, you will start to receive calls from this queue. To opt out, return to the same button and select Opt out . This will remove you from the list of opted-in team members, and you will stop receiving calls.

Additionally, team leads can opt in or opt out their team members directly. Hover over their name and the Opt in/Opt out button will appear. 

Screenshot showing how Queues looks to a team lead

Note:  If Presence-based routing is turned on in Call settings , team members must be both opted in and have their status set to Available in order to receive calls.

Interact with your team

Your teammates are grouped by their opt in/opt out status. To send a message or initiate a call, simply select a team member from the menu.

Under M anage queue , select People.

Click on the name of the person you would like to interact with. If you call a team member this way, you will have the option of choosing which phone number the outbound call uses.

Use the dialpad

Select Dialpad from the bottom left corner of the window to expand the view. From there, you can place outgoing calls. 

Screenshot showing where to find the dialpad

If your organization has multiple outbound numbers to choose from, you will see a dropdown appear above the Call button, allowing you to choose which number you’d like to place outbound calls with.

View call history

To view past calls, including calls or voicemails you may have missed, select Calls under Manage queue . 

You can select any call in your history to see more detailed information and call that number back using the number associated with your call queue.

Currently, call history includes the past calls that you have picked up or calls that you have missed that have a voicemail.

View real-time statistics

If authorized by your IT admin, you can see real-time statistics for your call queue, such as total number of calls in the queue, average call time, and longest wait time. The available statistics are based on your admin settings, and new metrics may come available in the future.

There are two ways to find your analytics dashboard.

First, when you have a queue selected, you will see an overview for that queue at the top of Quick access on the left side of the Teams window.

Second, to see a wider range of analytics for all of your queues, your team members, and your auto attendants:

Select Analytics in the top right corner of the window.

Select the queue, auto attendant, or team member you’d like to see the analytics for from the dropdowns.

Related topics

Manage your call queue and auto attendant settings

Facebook

Need more help?

Want more options.

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

microsoft bookings usage report

Microsoft 365 subscription benefits

microsoft bookings usage report

Microsoft 365 training

microsoft bookings usage report

Microsoft security

microsoft bookings usage report

Accessibility center

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

microsoft bookings usage report

Ask the Microsoft Community

microsoft bookings usage report

Microsoft Tech Community

microsoft bookings usage report

Windows Insiders

Microsoft 365 Insiders

Was this information helpful?

Thank you for your feedback.

IMAGES

  1. Microsoft Bookings: A Positive Way To Schedule Appointments

    microsoft bookings usage report

  2. Reporting information for Microsoft Bookings

    microsoft bookings usage report

  3. Online Bookings and Appointment Scheduling

    microsoft bookings usage report

  4. How to Use Microsoft Bookings

    microsoft bookings usage report

  5. Introduction to Microsoft Bookings

    microsoft bookings usage report

  6. Microsoft Bookings

    microsoft bookings usage report

VIDEO

  1. Create a Placeholder

  2. Pre Appointment Microsoft Bookings

  3. Ep 87: Microsoft Bookings

  4. Adding a Customer

  5. Setting up Microsoft Bookings for tutorials

  6. Say Goodbye to Overwhelming CRMs with Microsoft Bookings

COMMENTS

  1. Microsoft Bookings

    The only way I've found so far to extract data from Bookings is using Excel: Data>Get Data>From Online Services>From Microsoft Exchange Online> and then entering the email address associated with the booking page of the calendar. This will at least allow you to pull a list of bookings and show cancellations, etc. View solution in original post.

  2. View Bookings calendar information

    See four months of Booking activity. In Microsoft 365, select the App launcher, and then select Bookings. On the Bookings home page, select Export. On the Export recent data page, select your date range and select Export. Save the file with a new name, and specify .xls or xlsx format. Open the file to see the four month view of your Bookings ...

  3. Microsoft Bookings Frequently Asked Questions

    Microsoft Bookings is a Microsoft 365 app that makes scheduling and managing appointments easy. Bookings includes a Web-based booking calendar and integrates with Outlook to optimize your staff's calendar, giving your customers flexibility to book a time that works best for them. Automated notification emails reduce no-shows, and organizations ...

  4. Pulling attendance reports in Bookings.

    From Microsoft Booking, at this moment we have only one report available which shows Booking activity report (Booking calendar information). Besides this, at this moment there is no such other meeting attendance report available from MS Booking site. We do understand your concern for this feature and as this is related with MS Booking's ...

  5. Microsoft Teams Virtual Appointments usage report

    Directly by choosing Virtual Appointments usage in Analytics & reports > Usage reports. The Virtual Appointments usage card. In the dashboard of the Teams admin center, go to the Virtual Appointments usage card. Here, you get an at-a-glance view of Virtual Appointments usage across your organization, including Bookings and Teams EHR-integrated ...

  6. Using Power BI to Report Bookings Events

    1. Open Power BI Desktop and click Get Data, search for the Exchange Online connector and click Connect. 2. In Mailbox Address type the SMTP address of the user associated to the first business you created on Bookings. If you don't know the SMTP address, open Bookings, click on Booking Page and copy the address from the Booking Page Status.

  7. Microsoft Bookings

    Microsoft Bookings lets you conduct virtual meetings. Use Bookings to make your organization's meetings virtual with online meetings via Microsoft Teams and Skype for Business. Each appointment booked as an online meeting creates a unique meeting link that is sent to attendees so they can join via a web browser, phone dial-in, or the Skype or ...

  8. Microsoft Bookings logs & audit

    This is achievable with the use of excel and Data, Get Data, From Online Services, From Microsoft Exchange Online. You'll need your Bookings email address @LiamMTU. Jul 29 2022 08:16 AM. I'm looking at a option like this as well. I tried the Excel Data connection but only gives me the current booking calendar events.

  9. Microsoft Bookings behind the scenes

    Microsoft Bookings is an appointment scheduling tool that provides effective ways to manage your services and schedule appointments for your customers with just a few clicks. Bookings is integrated with your Office 365 calendar to help your customers quickly find available times and avoid your staff from being double-booked.

  10. Using scripts for Microsoft Bookings calendar and mailbox

    List of Bookings Calendars. Get the list of Booking calendars from this Microsoft Graph API. Alternatively, you can use the following commands to get the list of Bookings calendars in the organization: "Get-Mailbox -RecipientTypeDetails SchedulingMailbox -ResultSize:Unlimited".

  11. Analyze your Virtual Appointment usage

    In Teams, open the Virtual Appointments app and select the Analytics tab. Choose a Report you want to see, including the Date range, and then select Run report. Hover over parts of the graph to see specific details, like the number of appointments for each day. Below the graph is a table that gives you detailed information for each appointment ...

  12. Bookings management reports or ability to extract data

    Hi Jan - Thanks for your interest in Bookings and your question. Bookings has limited capabilities for reporting, and does it only on a rolling 30 days for the entire business not per staff member. We are working to make our reporting better and you can support this idea in UserVoice by upvoting it. Thanks!

  13. How to Use Microsoft Bookings: The Complete Tutorial

    Step #2: Create a new Booking calendar. To get started, click the create new calendar button: On the next screen, you will have to enter a name for the calendar. This is important since the calendar name will also be the email address for the booking invites and will be a part of the booking page link.

  14. How to Report Meeting Statistics for Room Mailboxes

    Update: This article describes how the script was enhanced to add daily usage pattern charts. Script Prerequisites. I often use the Microsoft Graph PowerShell SDK cmdlets to interact with the Graph. However, in this case, I use a registered Azure AD app in the script to hold the Graph Calendar.Read.All and Place.Read.All application permissions needed to access the calendars.

  15. Microsoft Bookings

    Click File -> Open and Export - Import/Export -> Export to File -> Next -> Comma Separated Values -> Next. Choose the calendar that matches your business name. Next -> Choose a file name (I chose calendar_output.CSV -> Next -> Finish. Choose a date range - OK. Open the exported CSV and open another new Excel sheet.

  16. You can now do more with Microsoft Bookings

    Office 365 Admin Center controls that require an employee "opt in" to be schedulable through Bookings. Social sharing toggle - More control over how booking pages are shared. Admins can now control whether, or not, their users can see social sharing options inside Bookings. From the Admin portal go to Settings/Services & add-ins/Bookings.

  17. About Microsoft 365 usage analytics

    Microsoft 365 usage analytics gives you access to a prebuilt dashboard that provides a cross-product view of the last 12 months and contains many prebuilt reports. Each report provides you with specific usage insights. User-specific information is available for the last full calendar month.

  18. Microsoft 365 admin center apps usage reports

    The Microsoft 365 Apps usage report can be viewed for trends over the last 7 days, 30 days, 90 days, or 180 days. However, if you select a particular day in the report, the table will show data for up to 28 days from the current date (not the date the report was generated). The data in each report usually covers up to the last two days.

  19. Booking Report

    Currently, you can Export as a TSV files are tab separated value files. You can view or edit a file like this with any text editor or spreadsheet program, such as Excel. For your reference: Reporting information for Microsoft Bookings. Your time and understanding will be highly appreciated. Best regards,

  20. Online Bookings and Appointment Scheduling

    Save time when scheduling with Microsoft Bookings. Customize appointment details, booking requirements, and specify service providers to streamline the booking experience for you and your customers. Bookings is integrated with your Microsoft 365 calendar to help your customers quickly find available times and avoid double-booking.

  21. Meeting room usage reports

    Hi! How can i get any type of usage reports on our meeting rooms (room mailbox)? We have over 500 rooms in our organisation and i would like to know how much these rooms are booked, if some rooms isn't been used and if some are always fully booked, if they are more booked in January than in February etc.

  22. Health and usage reports

    Show 7 more. The reporting node contains data for the health and usage of your Microsoft Teams Rooms in the Pro Management portal. The Overview tab surfaces tenant-wide health trends of your rooms. The Health tab displays a list of rooms with their corresponding health data. Room usage based on calendar information and call quality data is ...

  23. with 365

    To get the TSV file, open the specific calendar on the Booking page, select Export more data as TSV: Note: you can open the TSV file via Excel > File > Open. Hope above information helps, feel free to contact us if there is anything unclear or you have any further concerns. Best regards, Jennifer. * Beware of scammers posting fake support ...

  24. Microsoft Bookings is no longer Notifying Administrator for Bookings

    Until a few days ago, I was receiving notifications as the administrator/creator for bookings made with our sales team. Despite no changes being implemented on our part, the notifications have stopped. What could be causing this sudden issue? We find these notifications very effective so we can monitor the daily bookings being made.

  25. Bookings

    Bookings - missing customer data on calendar. Hi, When we create bookings from the link, the custom information does not display on the bookings calendar but the customer name does. If you edit the booking, then the custom data is displayed but the customers name disappears. This is what is shows when you click on it from the calendar:

  26. THIS JUST IN!!!! High LSASS Usage After Windows Update 3B March 2024

    As of March 18, 2024, customers are experiencing excessive memory consumption by LSASS on Windows Server 2012-2022 DCs that have installed the following Windows Update (s): KB 5035857: March 12, 2024, KB5035857 (OS Build 20348.2340) Windows Server 2022. KB 5035849: March 12, 2024, KB5035849 (OS Build 17763.5576) Windows Server 2019.

  27. Power BI March 2024 Feature Summary

    Power BI March 2024 Feature Summary Welcome to the March 2024 update! Here are a few, select highlights of the many updates we have for Power BI. There are new updates for Visual calculations, edit your data model in the Power BI Service, and deliver report subscriptions to OneDrive SharePoint. There is more to explore, please continue to read on.

  28. Enhance collaboration with Microsoft Teams Premium

    This collaborative call handling solution allows team members to manage customer calls and for team leads to manage queues, access reports, and analyze data. The familiar Teams interface eliminates the need for app-switching, enabling users to handle customer calls while staying in the flow of work. The Queues app is simple way to extend the ...

  29. Forrester TEI study shows 315% ROI when modernizing customer service

    Study participants mentioned additional benefits to their organizations that were not quantified for this report, including: Integration with other Microsoft products including Microsoft Power BI for discovering and predicting common support issues and Teams for easy collaboration between support agents and specialists to help resolve issues.; An improved customer support experience with ...

  30. Use the Queues app in Microsoft Teams

    From the Queues app, you can see available queues to join along the top of the window. Select the queue you would like to opt in to. Click Opt in. Once opted in, you will start to receive calls from this queue. To opt out, return to the same button and select Opt out. This will remove you from the list of opted-in team members, and you will ...