> 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/builder/question-types/content-steps.md).

# Content steps: Message, Reveal screen, Scheduler

The three content steps in Dapta Forms: Message (text with no input), Reveal screen (a short timed pause with a loader) and Scheduler (a Calendly booking embedded in the form). Every setting explained

Not every step in a form is a question. The **Content** group of the question gallery holds three steps that show something instead of asking something: a **Message** the respondent reads and clicks through, a **Reveal screen** that plays for a moment and moves on by itself, and a **Scheduler** that lets the respondent book a meeting on your calendar without leaving the form.

All three are added like any other question (**Add question** > **Content**), appear as cards in the **Questions** list, and can be dragged anywhere in the order.

***

## Message

A **Message** step shows a title, an optional description, a paragraph of text and a button. It has no input, no field key and no answer; it never affects the score. Use it to welcome people, explain what comes next or close a section.

**Step 1:** Click **Add question**, then **Message** (Text, no input). On the canvas, type the title in **Type your question…** and write the body in **Write your message…**. The button under the text reads **Continue** (other steps show **Next**, or **Submit** on the last step); its label is set automatically.

Because a Message has nothing to answer, **Question settings** is short: **Question type**, **Logic** (**Edit logic**, plus **Personal email only** when the form has an email question) and **Advanced settings** with **Dynamic question**, **Ends the form** and **Show reveal screen after**. There is no **Required** toggle, no **Placeholder** and no **Field key**.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-6ffa87b5c9d85cab359ca41410c6eda2d5a0fd43%2Fforms-content-steps-02-public-message.png?alt=media" alt="The live form showing a Message step with a title, a paragraph and a Continue button"><figcaption><p>What respondents see. They read and click <strong>Continue</strong>.</p></figcaption></figure>

> **💡 Tip:** A Message with **Ends the form** turned on is the classic way to disqualify: send people who do not fit to a polite "Thanks, this is not for you right now" step that closes the form. Combine it with a branching rule on an earlier question. See [Branching & jumps](/dapta-forms/logic/branching.md).

***

## Reveal screen

A **Reveal screen** is a short interstitial: a headline, a subtitle and an animation that play for a set time, after which the form continues on its own. It is typically placed right before a result or a booking step, so the form feels like it is "processing" the answers. A form can hold several reveal screens, each with its own copy.

**Step 2:** Click **Add question**, then **Reveal screen** (A short processing pause). On the canvas, fill in the headline (**Reviewing your answers…** is the default) and the reassurance line. The caption under the preview tells you how long it plays: **Plays for 2200 ms, then the form continues on its own.**

**Step 3:** In **Question settings**, under **Reveal screen**, set the copy and timing:

| Setting                        | What it does                                                                                                           |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| **Headline**                   | The big line. Accepts `[field]` tokens to insert an earlier answer. Empty shows the default "Reviewing your answers…". |
| **Subtitle**                   | The smaller line under it. Also accepts `[field]` tokens.                                                              |
| **Duration (ms)**              | How long it plays, 500 to 30000 ms. Default: 2200.                                                                     |
| **Pre-warm the booking embed** | Loads the outcome's booking calendar while this screen plays, so a Scheduler that follows appears faster.              |

**Step 4:** Under **Look**, choose how the screen animates and how big it reads:

| Setting                   | Options                                                           | What it does                                                                                                                                                                                                              |
| ------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Loader**                | **Spinner** / **Bar only** / **You vs. match** / **No animation** | What animates while the screen plays. **Spinner** shows a ring above a progress bar. **Bar only** drops the ring. **You vs. match** shows two marks with a percentage between them. **No animation** shows the copy only. |
| **Loader size**           | **Small** / **Medium** / **Large** / **Huge**                     | Scale of the animation.                                                                                                                                                                                                   |
| **Text size**             | **Small** / **Medium** / **Large** / **Huge**                     | Scale of the headline and subtitle.                                                                                                                                                                                       |
| **Flood with the accent** | On / Off                                                          | Paints the whole screen in the form's accent color, so the pause reads as a moment of its own.                                                                                                                            |

When **You vs. match** is selected, three extra fields appear: **Your side's label**, **The match's label** and **Status line** (the text shown under the match while it plays). All three accept `[field]` tokens; leave them empty to use the default wording.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-c45bdd12087f7f40ce05fdf553fbca093ce5b926%2Fforms-content-steps-05-public-reveal.png?alt=media" alt="The live form playing a reveal screen: a spinner, the headline Checking your answers… and a progress bar"><figcaption><p>A reveal screen playing in the live form with the <strong>Spinner</strong> loader.</p></figcaption></figure>

Good to know:

* A reveal screen has no **Required** toggle, no field key and cannot end the form.
* Respondents cannot click through it; it always plays for the full **Duration (ms)**.
* Shortcut: on any question, **Advanced settings** > **Show reveal screen after** inserts a reveal card right after that question. Turning it off removes the card again.
* On a **One page** form, reveal screens work differently: a single one plays after **Submit** and before the result. See [One-page layout](/dapta-forms/builder/one-page-layout.md).
* For design tips and more examples, see [Reveal screens](/dapta-forms/logic/reveal-screens.md).

***

## Scheduler

A **Scheduler** step embeds one of your Calendly event types inside the form. Respondents pick a time right there; the booking counts as their answer and the form moves on. Calendly must be connected to your account first (**Integrations** in the left menu). If it is not, the step shows **Connect Calendly in Integrations to pick an event type.** with a **Go to Integrations** button.

**Step 5:** Click **Add question**, then **Scheduler** (Book a meeting on your calendar). Type the question title on the canvas. In **Question settings**, under **Scheduler**, open **Event type** and pick the event type to embed. The canvas loads the real booking calendar as soon as you pick one.

**Step 6:** Decide what happens after the booking and which answers should pre-fill the booking form:

| Setting                       | What it does                                                                                                                                                                                                                 |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Required**                  | On by default. When off, respondents get a **Skip for now** link under the calendar.                                                                                                                                         |
| **Event type**                | The Calendly event type embedded in this step. The list is searchable.                                                                                                                                                       |
| **Show event details**        | Shows or hides the event's details panel (name, duration) above the calendar.                                                                                                                                                |
| **After booking**             | What happens once the respondent picks a time: **Continue to the next question**, **Submit the form and show the ending**, or jump straight to a later question (every later question is listed by name).                    |
| **Autofill the booking form** | Rows for **Name**, **Email** and every custom question the event type asks for. For each one, pick the earlier question whose answer should fill it, or leave **Automatic** to use the form's name, email and phone answers. |

> **💡 Tip:** Place the **Email** and **Name** questions before the Scheduler and map them under **Autofill the booking form**. The respondent lands on the calendar with the booking form already filled in, which noticeably increases bookings.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-c789fc5d870198f92c5c9990d062a65edfa7bbf0%2Fforms-content-steps-08-public-scheduler.png?alt=media" alt="The live form showing a Scheduler step with the Calendly calendar embedded under the question title"><figcaption><p>What respondents see: the booking calendar inside the form.</p></figcaption></figure>

Good to know:

* The scheduler stores the booking (invitee and time) as the answer. There is no option value, so branching after a scheduler uses the catch-all **After booking** setting rather than per-answer rules. See [Branching & jumps](/dapta-forms/logic/branching.md).
* If the calendar cannot load, respondents see **The calendar could not load.** with an **Open the scheduling page** link that opens the event type in a new tab.
* A Scheduler cannot be hidden, cannot end the form by itself and cannot be prefilled from the URL.
* To see bookings next to submissions and sync them to HubSpot, read [Scheduler step & Calendly](/dapta-forms/connect/scheduler-and-calendly.md) and [Booking sync](/dapta-forms/connect/hubspot/booking-sync.md).

***

## What's next

* [Reveal screens](/dapta-forms/logic/reveal-screens.md): design patterns for the processing pause.
* [Scheduler step & Calendly](/dapta-forms/connect/scheduler-and-calendly.md): connecting Calendly and how bookings are recorded.
* [Ending screen](/dapta-forms/logic/ending-screen.md): what respondents see when the form ends.
* [Question settings](/dapta-forms/builder/question-settings.md): the settings shared by every step.


---

# 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/builder/question-types/content-steps.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.
