Answer · Customers & data
Bulk delete or import customers in Microsoft Bookings
Last updated 3 min read4 sources
“How do I bulk delete or import customers in Microsoft Bookings?”
Asked in Microsoft Learn (opens in a new tab), Microsoft Learn (opens in a new tab) and Microsoft Learn (opens in a new tab)
Short answer
You can bulk import, but you can't bulk delete. Microsoft Bookings has an Import customers option on the Customers page that reads an Outlook-contacts-style CSV. There is no select-all or multi-delete for customers in the web app as of September 2026, so removing more than a handful means deleting them one at a time or scripting it through the Microsoft Graph API.
Importing customers#
- Open the booking calendar in Bookings and go to Customers.
- Select Import customers and choose your CSV file.
- Check a few records afterwards to confirm names, emails and phone numbers landed in the right fields.
Microsoft doesn't publish a current documentation page or column specification for this import. What people who got it working report:
- Use the column headers from an Outlook contacts export (for example
First Name,Last Name,E-mail Address,Mobile Phone). The easiest way to get the exact headers is to export a contact from Outlook and reuse that file as a template. - Save as CSV UTF-8.
- There is no field-mapping step, so your headers have to match what Bookings expects; you can't point a column at a field yourself.
- Imports don't overwrite existing customers, according to a Microsoft support answer. Importing a fixed file on top of a bad one creates duplicates.
When the import keeps failing#
A 2026 Microsoft Q&A thread describes every CSV variant failing with "file format is not correct", even with Outlook headers and UTF-8, and nobody found a fix. If you hit the same error after trying the steps above, the more reliable route is to create customers through Graph, one POST per row:
POST https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/{id}/customers
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.bookingCustomer",
"displayName": "Jordan Miller",
"emailAddress": "jordanm@contoso.com"
}Bulk deleting customers#
In the web app you delete customers individually from the Customers page. For a bad import of hundreds of rows, script it. Graph exposes DELETE /solutions/bookingBusinesses/{id}/customers/{customerId}, and the least-privileged permission is BookingsAppointment.ReadWrite.All.
This PowerShell example backs up the list, then deletes only customers matching a filter. Change the filter before running it, and run it against a test calendar first.
Connect-MgGraph -Scopes "BookingsAppointment.ReadWrite.All"
$biz = "YourBusiness@contoso.com"
$base = "https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/$biz/customers"
# 1. Read every customer and keep a backup
$all = @(); $url = $base
do {
$page = Invoke-MgGraphRequest -Method GET -Uri $url
$all += $page.value
$url = $page.'@odata.nextLink'
} while ($url)
$all | ConvertTo-Json -Depth 5 | Out-File customers-backup.json
# 2. Delete only the records you mean to remove
$targets = $all | Where-Object { $_.emailAddress -like "*@example-import.com" }
foreach ($c in $targets) {
Invoke-MgGraphRequest -Method DELETE -Uri "$base/$($c.id)"
}Run deletions one after another as above. Microsoft's throttling limits allow four concurrent Bookings requests per app and mailbox, so parallel loops will start failing.
Things to know before you delete#
- Removing a customer doesn't remove their past or upcoming appointments, per users who have done it. Handle appointments separately.
- There's no undo. Keep the backup file until you've checked the result.
- If the goal is to wipe everything, including appointments, deleting the whole booking calendar is the only complete reset. That is an admin task and it's permanent; see deleting a shared booking page.
- For privacy requests about one person, see where Bookings stores customer data, and pull a copy first with the customer list export.
Questions people also ask
Sources
- Microsoft Learn: Bookingcustomer delete (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Bookingbusiness list customers (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Throttling limits (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com