# Pre-populate form fields

Save time for clients by pre-populating their info on your invites. You can pre-populate every field on the invite page including name, email, and custom questions.&#x20;

Pre-populated fields are set by passing query parameters in the invite URL. Here's an example URL:

`https://zcal.co/i/12345678/?startDate=2026-01-01T18%3A30%3A00.000Z&timezone=America%2FLos_Angeles&name=John%20Smith&email=john@gmail.com&a0=Q1&a1=Q2&a2=Option+1&a3=Option+1,Option+2&a4=Option+1&a5=%2B15555555555&guests=adam@gmail.com,bob@gmail.com&locationIndex=1&smsPhone=%2B15555555555&duration=60`

###

### Add query parameters to your invite link

1\) Copy the link for the invite you want to share

2\)  If your link doesn’t already have a query parameter add "?" to the end of the link. If there's already a query parameter in your link, continue to step 4.&#x20;

3\) Add a property name (the field name) followed by the user's information (the field value). To add space between words, enter "%20".&#x20;

4\) To add variables to your link, enter "&" then add more query parameters per step 3.

Notes:&#x20;

* Invalid query parameters will be ignored.
* Query parameters can also be added to [embed](https://help.zcal.co/share/embed) code

###

### Query parameter reference

Here is a list of the query parameters you can add to your invite link.

#### startDate

The date and ISO time to pre-fill.

Example: `startDate=2026-01-01T18%3A30%3A00.000Z`

#### timezone

The IANA timezone to pre-fill.&#x20;

Example: `timezone=America%2FLos_Angeles`&#x20;

#### name

The invitee's name.

Example: `name=John%20Doe`

#### email

The invitee's email.

Example: `email=john@gmail.com`

#### a\[custom question index]

Answer to a custom question. Each custom question has its own query parameter and question indices start from 0.

Freeform custom questions e.g. Short text can accept any string as a value

Example: `a0=Q1`

Multiple choice custom questions e.g. Dropdown can only accept strings that match one of the provided options.

Example: `a2=Option+1`

Checkbox custom questions can accept multiple comma-separated string values, all of which must match the provided options.

Example: `a3=Option+1,Option+2`

Phone number custom question responses must start with a valid country code.

Example: `a5=%2B15555555555`

#### guests

Guest emails. Separate with commas if there are multiple guests.

Example: `guests=adam@gmail.com,bob@gmail.com`

#### locationIndex

If your invite has multiple location options, you can pre-select a location by index. Indices start from 0.

Example: `locationIndex=1`

#### duration

If your invite has multiple duration options, you can pre-select a duration by value.

Example: `duration=60`

#### smsPhone

If your invite has SMS reminders enabled, you can set a phone number starting with a valid country code.

Example:`smsPhone=%2B15555555555`

### UTM parameter forwarding

zcal will also forward UTM parameters in the URL to Zapier and webhooks:

**utm\_campaign**

This UTM tracking parameter is forwarded from the invite URL.

**utm\_source**

This UTM tracking parameter is forwarded from the invite URL.

**utm\_medium**

This UTM tracking parameter is forwarded from the invite URL.

**utm\_content**

This UTM tracking parameter is forwarded from the invite URL.

**utm\_term**

This UTM tracking parameter is forwarded from the invite URL.
