Answer · Customers & data

How to export Microsoft Bookings appointments to Excel

Last updated 4 min read3 sources

The question people ask
“How do I export Microsoft Bookings appointments to Excel?”

Asked in Microsoft Learn (opens in a new tab), Microsoft Tech Community (opens in a new tab) and Microsoft Learn (opens in a new tab)

Short answer

Microsoft Bookings has a built-in export: on the Shared Bookings home page select Export, pick a date range and download a TSV (tab-separated) file. Excel opens it once you tell it the columns are separated by tabs, and from there you can save it as a normal workbook. Each export covers at most four months, so longer histories need several exports or the Microsoft Graph API.

Export the file from Bookings#

These are the steps in Microsoft's reporting documentation:

  1. In Microsoft 365, open the App launcher and select Bookings.
  2. On the Shared Bookings home page, select Export.
  3. On the Export recent data page, choose your date range and select Export.
  4. Save the downloaded .tsv file.

Two details trip people up:

  • Who can export. The Bookings FAQ says only staff assigned the Administrator role on that calendar can download the report. Viewers and team members won't get a usable export.
  • How much data. The reporting page describes a four-month window that you can move "over the course of a year". The FAQ still describes "all bookings made in the past 120 days". The two Microsoft pages disagree; in practice, plan for roughly four months per file and check the first and last dates in each export.

Open the TSV in Excel properly#

Older forum answers suggest renaming the file from .tsv to .xlsx. That doesn't convert anything: the file is still plain text, and Excel will warn that the format and extension don't match. Import it instead.

In Excel for Microsoft 365 on Windows:

  1. Open a blank workbook and go to Data → Get Data → From File → From Text/CSV (or the From Text/CSV button in the Get & Transform Data group).
  2. Browse to the export. If it doesn't appear, switch the file-type filter to All files.
  3. In the preview, set Delimiter to Tab. If accented names look garbled, change File Origin to 65001: Unicode (UTF-8).
  4. Select Load to drop it into a table, or Transform Data to clean it in Power Query first.
  5. Use File → Save As → Excel Workbook (.xlsx).

Using Power Query has a practical benefit: when you download next month's export, you can point the query at the new file and refresh rather than rebuilding your formatting.

What columns you get#

As of September 2026, Microsoft documents these fields:

GroupColumns
Original fieldsDate & Time, Customer Name, Customer Email, Customer Phone, Customer Address, Staff, Service, Location, Duration (minutes), Event Type
Added fieldsPricing Type, Price, Currency, Cc Attendees, Signed Up Attendees Count, Text Notifications Enabled, Custom Fields, Booking ID, Tracking data
  • Custom Fields holds every custom question and answer for a booking in a single cell. To get one column per question, split that column in Power Query; open the raw file first to see what separates the pairs, because Microsoft doesn't document the format.
  • Booking ID is, per Microsoft, useful for spotting rows that belong to the same group-service booking.
  • Tracking data carries campaign IDs passed on the booking link. If it's blank, see why RefID tracking data comes through empty.

Limitations and workarounds#

  • Four-month window. For a full year, export consecutive ranges and append them in Power Query (Data → Get Data → From File → From Folder combines every file in a folder).
  • Possible row cap. A 2021 Microsoft Q&A thread reports exports stopping at 10,000 rows. Microsoft doesn't document a cap, so treat it as unconfirmed. If a busy calendar's export looks short, export smaller date ranges.
  • One calendar per file. Each shared booking page exports separately; there is no tenant-wide export.
  • No schedule. The export is manual. For an automatic feed, the Graph API returns appointments for a date range:
Text
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/{bookingBusinessId}/calendarView?start=2026-01-01T00:00:00Z&end=2026-04-01T00:00:00Z

Microsoft recommends calendarView rather than $filter for date ranges. You need an Entra app registration with a Bookings permission such as Bookings.Read.All. For pivot tables, charts and a repeatable monthly routine, the Excel reporting guide picks up where this page stops.

Doing this with BookingsXP#

If you embed your booking page with the BookingsXP widget and turn on the optional data layer, BookingsXP keeps a copy of each booking made through the widget and lets you download those bookings as CSV. It only covers bookings made through the widget, not ones staff create in the Bookings calendar or that come through Microsoft's own page, so keep the TSV export for the full picture. Details are on the data layer and webhooks page; plans are on pricing. BookingsXP is independent and not affiliated with or endorsed by Microsoft.

Questions people also ask

Sources

  1. Microsoft Learn: Reporting info (opens in a new tab) · learn.microsoft.com
  2. Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com
  3. Microsoft Learn: Bookingbusiness list appointments (opens in a new tab) · learn.microsoft.com