Answer · Customers & data

How to export Microsoft Bookings appointments to Excel

Last updated 4 min readPart of Microsoft Bookings reporting and exports3 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 the reporting documentation on Microsoft Learn:

  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. If you can't see Export, ask an administrator of that calendar.
  • 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).

Importing through Power Query also means next month's file can reuse the same steps; the Excel reporting guide sets that up.

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 the RefID campaign value passed on the booking link. In our September 2026 tests, the page stored that value on the appointment and it survived a reschedule, but it didn't appear in the Outlook event the owner receives, so the export is the place to look for it. 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 keep every file. The reporting guide shows how to stack them in Power Query.
  • 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's no tenant-wide export. See whether Bookings has a reports dashboard for combining calendars.
  • No customer-only list. The export is one row per booking. For a de-duplicated list of people, see exporting the customer list.
  • No schedule. The export is manual. For an automatic feed, the Microsoft Graph calendarView endpoint returns a calendar's appointments for a date range (Microsoft recommends it over $filter for date ranges) and needs an Entra app registration with a Bookings permission such as Bookings.Read.All.

Doing this with BookingsXP#

If you embed your booking page with the BookingsXP widget and switch on Store bookings for that widget (off by default), BookingsXP keeps a copy of each widget booking, with the answers and the traffic source, and the Pro and Business plans let you download those as CSV. It only covers bookings made through the widget, not ones staff create in the Bookings calendar or that come through the booking page Microsoft hosts, so keep the TSV export for the full picture. See data and webhooks and 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