Pre-fill fields/questions

Free

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&notes=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=johndoe@example.com&notes=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 +

...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}
Zoomzoom
Cal Videodaily
Office365office365_video
Facetimefacetime_video
Campfirecampfire_video
Around Videoaround_video
Pingping_video
Riversideriverside_video
Signalsignal_video
Siriussirius_video
Telegramtelegram_video
Whatsappwhatsapp_video
Wherebywhereby_video

Was this page helpful?