> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/dapta-forms/connect/scheduler-and-calendly.md).

# Scheduler step & Calendly

Let respondents book a meeting without leaving your form. Connect Calendly once, add a Scheduler step, pick an event type, autofill the booking form from earlier answers and decide what happens after

A **Scheduler** step embeds one of your Calendly event types inside the form. Respondents pick a time on the spot, and the booking counts as their answer to that question. No extra link, no second page, no lost leads between "interested" and "booked".

You connect Calendly once for the whole account. After that, every form can drop in a **Scheduler** step and choose which event type it offers.

***

**Step 1:** In the left menu, open **Integrations**. On the **Connections** page, find the **Calendly** card and click **Connect**. The card asks for **Paste your Calendly token**: paste your Calendly personal access token there and click **Connect** again.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-a402076223f6017d840e457563d1997ec5f715b2%2Fforms-scheduler-and-calendly-01-connections.png?alt=media" alt="The Connections page with the Calendly card connected"><figcaption><p>Calendly is connected once for the account. The card then shows <strong>Connected</strong>, the account it belongs to and when it was connected.</p></figcaption></figure>

Once it is connected, the card reads **Connected as {your Calendly account}** and offers **Disconnect**. Connecting and disconnecting is limited to admins and owners; any member can then use the connection when building a form.

> **⚠️ Note:** Field mapping is not configured here. This page only makes the connection; the event type is picked per form, in the question itself.

***

**Step 2:** Open the form you want in the editor, click **Add question** and pick **Scheduler** from the **Content** group.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-d3fe7a56c60977b793e565d164c04c0ef3be1fb3%2Fforms-scheduler-and-calendly-02-add-scheduler.png?alt=media" alt="The Add a question gallery with the Scheduler type highlighted in the Content group"><figcaption><p><strong>Scheduler</strong>: "Book a meeting on your calendar". It sits with <strong>Message</strong> and <strong>Reveal screen</strong> under <strong>Content</strong>.</p></figcaption></figure>

Type the question text straight on the canvas, exactly as with any other step, for example "Pick a time that works for you".

***

**Step 3:** In the **Question settings** pane on the right, open the **Scheduler** section and choose an **Event type**.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-bcd5a0e427b74508bcd4e5d28747a4c5b64e87dd%2Fforms-scheduler-and-calendly-03-event-type.png?alt=media" alt="The Event type picker open, listing the Calendly event types of the connected account"><figcaption><p>The picker lists your active Calendly event types. Type in the search box to filter a long list.</p></figcaption></figure>

The list holds the active event types of the connected Calendly account, sorted by name. If Calendly is not connected yet you will see **Connect Calendly in Integrations to pick an event type.** and a **Go to Integrations** button instead.

As soon as you pick one, the canvas replaces **No event type picked yet** with the real booking page, so you can check the event, its duration and its description without leaving the editor.

***

**Step 4:** Set the rest of the **Scheduler** section: **Show event details**, **After booking** and **Autofill the booking form**.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-90c1a002128e87f8faf134c32fc994acea5ae66a%2Fforms-scheduler-and-calendly-04-scheduler-settings.png?alt=media" alt="The form editor with the live Calendly embed on the canvas and the Scheduler settings on the right"><figcaption><p>Left: the live embed on the canvas. Right: the whole <strong>Scheduler</strong> section, from <strong>Event type</strong> to the autofill rows.</p></figcaption></figure>

| Setting                       | What it does                                                                                                           |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Event type**                | Which Calendly event type is embedded. Only active event types are offered.                                            |
| **Show event details**        | On: the embed shows the event header (name, duration, description). Off: the respondent goes straight to the calendar. |
| **After booking**             | What happens once the respondent picks a time. See the options below.                                                  |
| **Autofill the booking form** | Which earlier answer feeds each field the booking page asks for.                                                       |

**After booking** offers three kinds of destination:

* **Continue to the next question**: the form moves on in order. This is the default.
* **Submit the form and show the ending**: the booking is the last thing you ask for, and the respondent lands on the ending screen.
* Any later step in the form: jump straight to that question or screen, skipping what sits in between.

***

**Step 5:** Under **Autofill the booking form**, map each field the event asks for to an earlier answer.

Calendly always asks for a **Name** and an **Email**, and the rows below them are the custom questions of the event type you picked, with the exact wording your Calendly event uses. Each row offers:

* **Automatic**: Dapta Forms matches the field to the conventional answer of that kind, so a Name question fills the name and an Email question fills the email. Leave the rows on **Automatic** unless your form asks for those details in an unusual way.
* Any earlier question in the form: pick it by name to feed that exact answer into the booking page.

Only questions that come **before** the scheduler can be used: an answer that has not been given yet cannot prefill anything.

> **💡 Tip:** Autofill is what makes the step feel like one flow instead of two forms. When the name and email are already filled in, most respondents only have to click a slot and confirm.

***

**Step 6:** Decide whether the step can be skipped. In **Question settings**, the **Required** toggle is on by default, and a required scheduler has no way out: the respondent books or stops. Turn **Required** off and the public form adds a **Skip for now** link under the calendar.

Click **Publish** when you are happy with the step. Then open the public link and check it end to end.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-67d1054337e46b6be7e41ae35f616a6f603f9b07%2Fforms-scheduler-and-calendly-05-public-booking.png?alt=media" alt="The published form showing the embedded Calendly calendar and the Skip for now link" width="400"><figcaption><p>What the respondent sees: your question, the embedded booking page, and (when the step is not required) <strong>Skip for now</strong>.</p></figcaption></figure>

While the embed loads, the respondent sees **Loading the calendar…**. If the calendar cannot be shown at all, the form offers **Open the scheduling page** so the booking can still happen in a new tab.

***

## What a booking does to the rest of the form

* The booking **is** the answer to that question. The answer value is the start time of the meeting the respondent chose.
* The step counts as completed, so **After booking** takes over and the form continues, submits or jumps.
* The meeting itself is created in Calendly, with Calendly's own confirmations and reminders. Dapta Forms does not send the invitation.
* Calendly collects the invitee's email address on its own booking page. That address can identify the lead in your CRM even when the form never asks for an email. See [Booking sync](/dapta-forms/connect/hubspot/booking-sync.md).

> **⚠️ Note:** If Calendly is disconnected later, a form that already has an event type keeps letting people book, but Dapta Forms can no longer read the booking back, so nothing is stamped on the contact.

## Reference: what the respondent can see

| Copy                                        | When it appears                                                           |
| ------------------------------------------- | ------------------------------------------------------------------------- |
| **Loading the calendar…**                   | While the booking page is being embedded.                                 |
| **Open the scheduling page**                | When the embed cannot be shown, as a fallback link.                       |
| **Skip for now**                            | Only when the scheduler question is not **Required**.                     |
| **This scheduler has not been set up yet.** | The step was published without an event type. Pick one and publish again. |

## What's next

* [Booking sync](/dapta-forms/connect/hubspot/booking-sync.md): stamp the booking date, the meeting time and a stage on the HubSpot contact.
* [Connections (account level)](/dapta-forms/connect/connections.md): how the Calendly and HubSpot connections are made and revoked.
* [HubSpot](/dapta-forms/connect/hubspot.md): what a submission sends to your CRM.
* [Question settings](/dapta-forms/builder/question-settings.md): **Required**, field keys and the rest of the per-question options.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.dapta.ai/dapta-forms/connect/scheduler-and-calendly.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
