Custom Questions
Ask the booker for extra information at confirm time — phone number, project size, what they want to discuss. Answers land on the booking and (optionally) on a backing database row.
Quick Start
- Open an event type and click the Custom Questions tab.
- Type / in the canvas to open the field menu.
- Pick a field type (Short text, Long text, Email, Phone, Number, etc.).
- Click the new field's label to rename it.
- Toggle Required on the field's settings popover if the booker must answer.
- Click Publish changes in the toolbar — new questions only show on the public page after a republish.
Built-in Questions
Every booking page already collects these — you don't add them yourself:
| Question | Required | Notes |
|---|---|---|
| Name | Yes | Free text. |
| Yes | Validated as an email; used for the confirmation message. | |
| Phone | No | Optional unless an SMS workflow is enabled, then prompted. |
Custom questions appear under these three on the public page.
Field Types
| Type | What it captures | Example use |
|---|---|---|
| Short text | One-line text. | Company name, job title |
| Long text | Multi-line text area. | "What would you like to discuss?" |
| Validated email. | Secondary contact | |
| Phone | Free-text phone (no validation — country format varies). | Call-back number |
| Number | Numeric input. | Team size, budget |
| Single-select | Drop-down picker, one answer. | Industry, urgency |
| Multi-select | Checkboxes, many answers. | Topics of interest |
| Date | Date picker. | Project deadline |
| URL | Validated URL. | Their website |
Reuses the Forms designer
The Custom Questions canvas is the same engine that powers Forms. If you've used the slash-menu editor there, this works identically — including conditional logic.
Field Settings
Click any field to open its settings popover:
| Setting | What it does |
|---|---|
| Label | The question text shown to the booker. |
| Help text | Smaller grey text under the label. |
| Placeholder | Hint text inside the empty input. |
| Required | Booker can't submit without answering. |
| Default value | Pre-fills the input. |
| Options | (Single/multi-select only) The choices. |
Conditional Logic
Show, hide, require, or skip-to-page based on previous answers.
- Click the Logic button in the toolbar above the canvas.
- Add a rule: When [field] [is/is not/contains] [value], [show/hide/require] [field].
- Save.
Logic runs client-side as the booker types and is re-validated on the server at submit. See the Forms Conditional Logic guide for the full rules engine — it's the same one.
Where Answers Go
Every custom-question answer is stored on the booking record. View answers from:
| Location | What you see |
|---|---|
| Calendar workspace → click a booking | Side sheet showing every question and answer. |
| Email notifications | The host email includes every answer below the meeting details. |
/booking/{id}/bookings (per-event-type list, planned) | Tabular view; columns per question. |
| Workflows | Webhook payload includes the answers; email/SMS templates can reference {{answers.fieldId}}. |
Writing Answers to a Database (Optional)
If you want answers to also create / update a database row (so you can use views, filters, link to invoices, etc.):
- Pick or create a backing database for this event type.
- On the Custom Questions tab → Database backing → choose the database.
- Map each question to a database property (drag-and-drop or the auto-suggest).
- Save → publish.
From now on every confirmed booking creates a row in that database with the answers in the matching properties.
Why bind to a database
Bookings are real meetings. The database row is the project record spawned from that meeting. Bind once, and your sales pipeline / onboarding flow has a row already populated before the meeting even happens.
Editing Existing Questions
You can rename labels, change help text, toggle required, and add new questions to a published event type at any time. The change auto-saves to draft; click Publish changes to push it live.
Renaming vs. recreating
Renaming a field's label is safe — the underlying field id doesn't change, so historical answers still map to the new label. Deleting and re-adding a field with the same label gives it a new id; old answers stay intact but new submissions go to a separate column.
Related
- Field Types (Forms) — Same field set, more depth on each type
- Conditional Logic (Forms) — Same engine
- Workflows & Reminders — Reference answers in notification templates
- Databases — The optional backing-row destination