Guide · Staff & services
Custom questions in Microsoft Bookings: best practices
Last updated 8 min read9 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. Microsoft's docs 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. Microsoft's 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.
Answer types#
Microsoft's how-to article doesn't list answer types. The Microsoft Graph API, which reflects the underlying data, defines two for booking questions: text (a free-text answer) and radioButton (pick one from a list of options you supply). Design with those two shapes in mind, and check the question editor on your page for the exact options it shows.
Step 1: Add questions to a service#
- Open Bookings, choose your page under Shared booking pages, and select Services.
- Edit a service (or add a new one) and go to Custom fields.
- Switch off or make optional any built-in fields you don't need.
- Select Add a question, write the question, and select Save.
- Select the question so it's highlighted (enabled) for this service, and tick Required if needed.
- 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,BookingsAddressEntryRestrictedandBookingsNotesEntryRestrictedonSet-OrganizationConfig. - BookingsCreationOfCustomQuestionsRestricted. When this
Set-OrganizationConfigparameter 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.
Consent and links#
Microsoft's 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#
| Where | What you see |
|---|---|
| Bookings Calendar → open the appointment | Each 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 Graph | customQuestionAnswers 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: Microsoft's reporting doc 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 common reason to add "How did you hear about us?" is marketing attribution, and people rarely answer it accurately. If you embed your page with BookingsXP, you can pick one text question from your Bookings page in the widget's tracking settings. BookingsXP answers it with the booking's source (UTM campaign, ad click or referrer) and hides it from visitors, so the source lands in Microsoft's own Custom Fields export column without adding a question to the form. Make that question optional in Bookings, because visitors who book on Microsoft's own page will still see it. More on analytics and attribution. BookingsXP is independent and not affiliated with or endorsed by Microsoft.
Questions people also ask
Sources
- Microsoft Learn: Add questions (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Define service offerings (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Granular controls shared bookings (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Set organizationconfig (opens in a new tab) · learn.microsoft.com
- Microsoft Learn (opens in a new tab) · learn.microsoft.com
- Microsoft Learn (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Reporting info (opens in a new tab) · learn.microsoft.com
- Microsoft Learn (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com