conduyt_create_booking_page
Create a booking page with a title, slug, host, and duration, plus optional Zoom meetings, availability, and branding. Requires calendar:edit permission.
Instructions
Create a booking page (POST /api/v1/booking-pages): title, slug, userId (host) and durationMinutes at least; optional written location, videoProvider 'zoom' + videoHostEmail for one Zoom meeting per booking, availabilityRules override, embedAllowedOrigins, leadSource, brandName. Requires calendar:edit (admin/owner).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| title | Yes | ||
| userId | Yes | ||
| isActive | No | ||
| location | No | written location (link, phone, address); with videoProvider zoom it is the fallback when Zoom is down | |
| brandName | No | white-label name shown on the page and in Zoom meeting names | |
| leadSource | No | lead source stamped on contacts the page creates | |
| description | No | ||
| minimumNotice | No | earliest booking, minutes from now | |
| videoProvider | No | 'zoom' = a new Zoom meeting for every booking (needs conduyt_zoom_connect); null = the written location only | |
| maxAdvanceDays | No | how far ahead visitors may book | |
| videoHostEmail | No | the Zoom user the meeting is created under (a user of the connected Zoom account); null = the app's own user | |
| durationMinutes | Yes | ||
| documentsEnabled | No | the documents step: the public upload-url and documents routes answer for this page's bookings (bank statements and funding agreements attached to the lead) | |
| documentsPageUrl | No | the site page the confirmation email links the visitor back to for the upload (https; the page reads ?appointment=<id>); null = no link | |
| availabilityRules | No | availability override; null = the host's own rules | |
| embedAllowedOrigins | No | origins allowed to embed/call the page; null or empty = any |