You can pre-fill all the fields/questions on the booking form by using their corresponding identifiers that you can see under Advanced -> Booking Questions.
e.g. for the following field(shown in screenshot), the field would show up as Agree with your rules and its identifier is agreed. So, we would use
agreed as query param name to prefill the field.
This can include the user’s name and email, notes, guests, event location, Reason for reschedule. You can prefill any field added by you as well.
You can add anywhere in the booking flow before the booking form page or in the booking form page itself. Simply add these in the URL and you're good to go!
Pre-filling booking fields can save a lot of time and speed up processes with filling out these forms, and assist with a smooth integration with your existing website or app.
An example URL with a few prefill fields is given below:
https://cal.com/johndoe/book?type=12345&duration=30&email=johndoe%40example.com¬es=Test+Notes
You can integrate the prefill-fields with your booking page URL in a similar way.
Pre-filling all fields
A sample booking form with various fields prefilled.
Here is how the fields are setup
Here is the query used to prefill that form above.
name=John Doe&[email protected]¬es=Test Notes&Text=TEXT&number=123&select=Option 1&Multiselect=Option 1&Multiselect=Option 2&guests=b&phone=+91&agreed=true
Fields with multiple values
For questions that accept multiple values, you can pass them multiple times using same identifier. So, e.g. Multiselect has been passed twice and thus it prefills both the values.
Similarly, you can pass guests twice to add one more guest.
Prefilling location
Different type of locations are selected using different values of location. location param value has to be a valid JSON.
Pre-filling Attendee Address
...other-params...&location={"value":"attendeeInPerson","optionValue":"Delhi"}
Pre-selecting Organizer Address in Location
...other-params...&location={"value":"inPerson","optionValue":""}
Pre-filling Attendee Phone
...other-params...&location={"value":"phone","optionValue":"%2B919999999999"}
Note: %2B is encoded form of +
Pre-selecting Link Meeting
...other-params...&location={"value":"link","optionValue":""}
Pre-selecting a video meeting
Specify location param like this
...other-params...&location={"value":"integrations:{VIDEO_APP_IDENTIFIER}","optionValue":""}
App Name | {VIDEO_APP_IDENTIFIER} |
Zoom | zoom |
Cal Video | daily |
Office365 | office365_video |
Facetime | facetime_video |
Campfire | campfire_video |
Around Video | around_video |
Ping | ping_video |
Riverside | riverside_video |
Signal | signal_video |
Sirius | sirius_video |
Telegram | telegram_video |
whatsapp_video | |
Whereby | whereby_video |