---
title: In-Page Form
description: Pause the run and ask the user to fill a form; continue with the values they enter.
---

Pause a run to ask a person for input, then continue with what they enter.

## What it does

In-Page Form stops the run at this step and shows a form with the fields you define. When the form is submitted, the run picks up again and the entered values flow out of the node.

* The form appears on the paused run in the **Executions** pane. In the browser extension, a card with the form is also dropped onto the page you are looking at, when that page allows it.
* You are told a run is waiting: a "waiting for you" count in the top bar, a sound, and, in the extension when the app is not in front, a desktop notification you can click.
* The run waits until someone answers. It does not time out, and it is kept if you close the browser. Cancelling the paused run stops it with no output.
* The node pauses **once** for everything that reaches it, not once per item.

## When to use it

* Ask for something only a person knows mid-run: a subject line, a budget, a customer ID.
* Let someone pick one option (a **select** field) before the next step.
* Confirm or correct details before an action that sends or saves something.

For a plain yes or no, [Wait For Approval](/nodes/builtin/flow/wait-for-approval/) is simpler.

## Inputs and settings

* **Field name** is how later nodes read the answer, so keep it short and unique, for example `subject`.
* **Options** is only used by **select** fields: write the choices separated by commas, such as `Low, Medium, High`.
* **Form title** is the question shown at the top of the form. It accepts expressions, so you can show data from earlier steps, for example `Reply to {{ $input.from }}?`.

## Outputs

The output is one item holding the submitted values, one field per **Field name**: a field named `subject` is read later as `{{ $input.subject }}`. A **checkbox** gives true or false. The incoming item is **not** passed on; to reuse its data after the form, read it from the earlier node with `{{ $('Node Label').field }}`.

## Dependencies and credentials

None. This node needs no connection and has no slots for other nodes.

## Example workflow

Turn highlighted text into a task, asking when it is due:

1. [Get Selected Text](/nodes/extension/getselectedtext/) with **Output field name** `selection` reads the text you highlighted on a page.
2. In-Page Form with **Form title** `When is this due?` and one field: **Field name** `due`, **Label** `Due date`, **Type** text, **Required** on.
3. [Todoist](/nodes/builtin/integration/todoist/), **Task** › **Create**, with **Content** `{{ $('Get Selected Text').selection }}` and **Due (natural language)** `{{ $input.due }}`. Typing `tomorrow 9am` in the form sets the due date.

## Common issues

* **"Add at least one field to the form."** The **Fields** list is empty. Add a field with a **Field name**.
* **No form appears on the page.** The card only appears on normal web pages (`http` or `https`). Browser settings pages, the extension store and the AWFlow app tab itself can't show it. Answer it from the **Executions** pane instead.
* **A later node can't find the original data.** The node's output only holds the form values. Read earlier data with an expression that names the earlier node.
* **The run is still waiting.** Nobody has submitted the form yet. Open the **Executions** pane, fill it in, or cancel the run.

## Related nodes

* [Wait For Approval](/nodes/builtin/flow/wait-for-approval/): a simple approve or reject pause.
* [Record Audio](/nodes/builtin/flow/record-audio/): pause to record a voice note instead of typing.
* [Switch](/nodes/builtin/flow/switch/): branch on the option the person picked.