Guide · Staff & services

Custom questions in Microsoft Bookings: best practices

Last updated 8 min readPart of Custom questions in Microsoft Bookings9 sources

Custom questions are how a Microsoft Bookings page collects what staff need before the appointment: an insurance provider, a policy number, a topic, a company name. Good questions make appointments shorter and better prepared. Too many questions, or badly worded ones, make people abandon the form or type "n/a". This guide is for whoever owns a shared booking page. It covers how questions work in Bookings, the limits admins can set, how to write questions that give you usable answers, and where the answers end up. Setting up a first set of questions takes about 20 minutes.

Custom questions are documented only for shared booking pages. Microsoft doesn't describe them for personal "Bookings with me" pages, and users report they aren't available there; see custom questions on Bookings with me.

How custom questions work#

A few mechanics shape everything else:

  • Questions belong to services. You switch questions on per service, so a "First consultation" can ask more than a "Follow-up call".
  • There's one shared question list per booking page. A question you create while editing one service appears, switched off, on every other service. Selecting it switches it on for that service.
  • Deleting is global. If you delete a question from the list, it's removed from every service. Microsoft recommends switching it off on the service instead.
  • Required is a checkbox. Tick Required and the customer can't complete the booking until they answer.
  • Customers see two sections. The built-in fields appear under Add your details; your questions appear under Provide additional information.
  • Staff see answers on the appointment. Open the appointment in the Bookings Calendar to see the answers. Staff also see the questions when they create a booking for a customer.

The built-in fields#

Every service starts with Customer email, phone number, customer address and customer notes. The Microsoft Learn articles describe these two ways. The service setup doc says they are "non-removable fields" that you can make optional. The custom-questions doc shows phone and notes being switched off so customers aren't asked. Check what your editor allows, but plan on at least making unwanted fields optional.

Keep Customer email required. The Bookings FAQ is clear that without an email address, the customer gets no confirmation and no Teams link. Users on Microsoft Q&A who replaced the built-in email field with their own "Email" question have reported confirmations stopping. Use the built-in field. More in required fields and hiding phone or address.

What we saw when testing (September 2026)#

The Microsoft how-to article doesn't list answer types, so we checked the public booking page itself. We captured it and the calls it makes across 13 live captures, and made and cancelled a handful of test bookings. Three things matter for question design:

  • There are only two question types. A question is either free text or single choice (radio buttons, pick one from options you supply). There's no checkbox or multi-select type, so "tick all that apply" questions aren't possible. The Microsoft Graph API describes the same two types.
  • Customer notes are limited to 3,000 characters. The page enforces this in the browser, which is plenty for context but not for a pasted document.
  • An admin can hide fields on every page at once. The page reads tenant settings that hide phone, address, notes and custom questions across all booking pages. If a question or field you set up doesn't appear, check with your admin before rebuilding the service (see Step 2).

On personal "Bookings with me" pages, the booking request we captured carried only name, email, notes and time zone, with no custom questions or phone.

Step 1: Add questions to a service#

  1. Open Bookings, choose your page under Shared booking pages, and select Services.
  2. Edit a service (or add a new one) and go to Custom fields.
  3. Switch off or make optional any built-in fields you don't need.
  4. Select Add a question, write the question, and select Save.
  5. Select the question so it's highlighted (enabled) for this service, and tick Required if needed.
  6. Select OK, then save the service.

If the page is already published, customers see the questions on their next booking. If it isn't, publish it from Booking page with Save and publish.

Step 2: Check what your admin allows#

Two tenant-level controls can change what you see:

  • Restrict collection of customer data (Microsoft 365 admin center → Settings → Org settings → Bookings). The admin ticks fields that shouldn't be collected, and "these fields won't be included on any forms shown to your clients or customers". The PowerShell equivalents are BookingsPhoneNumberEntryRestricted, BookingsAddressEntryRestricted and BookingsNotesEntryRestricted on Set-OrganizationConfig.
  • BookingsCreationOfCustomQuestionsRestricted. When this Set-OrganizationConfig parameter is $true, "Bookings admins can't add custom questions". If Add a question is missing or fails, ask your admin whether this is set.

Admin setting changes can take up to four hours to apply.

Step 3: Design questions people will answer#

Ask only what changes the appointment#

For each question, ask: "Would staff do anything differently depending on the answer?" If not, drop it. A policy number the adviser looks up before the call passes. "How did you hear about us?" rarely changes the appointment, so make it optional or capture it another way (see the last section).

As a rough rule, three or four questions on top of name and email is plenty for a first appointment. Every extra required field is another reason to leave the page.

Prefer a list when the answers are predictable#

If you can list the likely answers, use a choice question instead of free text. "Which product is this about?" with five options gives you clean data you can pivot in Excel. The free-text version gives you "CRM", "crm", "the CRM one" and "not sure". Include an "Other / not sure" option so people aren't forced into a wrong answer.

Use free text for things that are genuinely open (a reference number, "What would you like to cover?").

Word questions for people outside your organization#

  • Put the format in the question: "Policy number (8 digits, on your renewal letter)".
  • Avoid internal acronyms and product codenames.
  • Ask one thing per question. "Company name and size" gets half-answers.
  • Say why you're asking when it isn't obvious: "Your student ID, so we can open your record before the meeting".

Use Required sparingly#

Required is right for information without which the appointment can't happen, such as a student ID for an academic advising slot. For everything else, optional keeps the form moving. Staff can ask in the meeting.

Keep the shared list tidy#

Because the list is shared across services, give questions clear, specific wording so it's obvious which is which when you enable them on another service. Don't create near-duplicates like "Company" and "Company name". It splits your data across two fields in exports.

The Bookings FAQ suggests two ways to collect consent. You can turn on Customer data usage consent on the Booking page, with your own wording. Or you can add a required custom field that links to your consent form and asks the customer to confirm they've completed it. The consent checkbox is simpler and records when consent was given.

Where the answers go#

WhereWhat you see
Bookings Calendar → open the appointmentEach question and answer, visible to staff
Export from the Bookings home page (TSV)A Custom Fields column. Microsoft says "all the questions and answers related to a single booking are combined in this field".
Power Automate Bookings connector (preview)CustomQuestionAnswers in the appointment trigger output
Microsoft GraphcustomQuestionAnswers on each customer in an appointment

Two practical consequences:

  • Exports need splitting. Because all answers share one column, you'll need to split it in Excel or Power Query before you can pivot by answer. The Excel reporting guide shows how.
  • Choice questions pay off here. Pivoting "Which product?" across 300 bookings only works if the answers are consistent.

Older forum answers say custom fields are missing from the export. That's out of date: the Bookings reporting article lists Custom Fields among the export fields.

Privacy: collect less#

Everything customers type is stored in the booking mailbox in Exchange Online, is visible to staff who can open the calendar, and ends up in every export someone downloads and shares. See where Bookings stores data.

  • Don't ask for sensitive data you don't need. Health details, ID numbers, financial account numbers and passwords don't belong in a free-text booking field. If a clinic needs medical history, collect it through the system built for that, not the booking form.
  • Don't ask for payment details. Bookings has no payment support, and a card number in a text field is a liability.
  • Use your admin's restrictions if your compliance team has decided certain fields must never be collected.
  • Watch exported files. A TSV with a Custom Fields column is a personal data file. Store and delete it accordingly.

Common problems#

  • The question doesn't appear on the page. It's in the list but not highlighted (enabled) for that service, or the service change wasn't saved.
  • A question disappeared from several services. Someone deleted it from the shared list instead of switching it off.
  • Customers get no confirmation. Check that the built-in Customer email field is enabled and required.
  • The Add a question option is missing. Your admin may have restricted custom question creation.

Doing this with BookingsXP#

A Bookings custom question is just its question text; Microsoft doesn't document a separate hint or description field. If you embed your page with the BookingsXP widget, you can add help text under each Bookings custom question, such as "8 digits, on your renewal letter", so the format hint doesn't have to live in the question itself. The widget can also answer one optional text question with the booking's source (UTM campaign, ad click or referrer) and hide it from visitors, so the source lands in the Custom Fields export column instead of asking "How did you hear about us?" (see analytics and attribution). Visitors who book on the Microsoft page still see that question, so keep it optional in Bookings. BookingsXP is independent and not affiliated with or endorsed by Microsoft.

Questions people also ask

Sources

  1. Microsoft Learn: Add questions (opens in a new tab) · learn.microsoft.com
  2. Microsoft Learn: Define service offerings (opens in a new tab) · learn.microsoft.com
  3. Microsoft Learn: Granular controls shared bookings (opens in a new tab) · learn.microsoft.com
  4. Microsoft Learn: Set organizationconfig (opens in a new tab) · learn.microsoft.com
  5. Microsoft Learn (opens in a new tab) · learn.microsoft.com
  6. Microsoft Learn (opens in a new tab) · learn.microsoft.com
  7. Microsoft Learn: Reporting info (opens in a new tab) · learn.microsoft.com
  8. Microsoft Learn (opens in a new tab) · learn.microsoft.com
  9. Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com