> For the complete documentation index, see [llms.txt](https://docs.diaflow.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.diaflow.io/workflow-builder/nodes/trigger/manual-trigger/submit-a-form.md).

# Submit a form

**Submit a form** is a **Manual trigger**.

It starts the workflow when someone fills out a form and clicks **OK**.

<figure><img src="/files/lheh71no5RgT8pidzjb2" alt=""><figcaption></figcaption></figure>

This trigger supports 8 input types:

* **Short Text**
* **Long Text**
* **Checkbox**
* **Number**
* **File Upload**
* **Audio Record**
* **Dropdown List**
* **Time**

Each input creates a value you can reuse in later nodes.

<figure><img src="/files/2CzohwAHDU7DFT9O41XG" alt=""><figcaption></figcaption></figure>

## When to use it

Use **Submit a form** when your workflow needs structured user input before it runs.

It works well for internal tools, approval forms, upload flows, and guided data collection.

## How it works

1. Add a **Trigger** node.
2. Choose **Submit a form** as the type.
3. Add one or more form inputs.
4. Configure each input field.
5. Connect the trigger to downstream nodes.

When the form is submitted, Diaflow sends the entered values to the workflow.

## Input types

* **Short Text:** Use this for short answers, names, titles, or IDs.
* **Long Text:** Use this for detailed answers, notes, prompts, or descriptions.
* **Checkbox:** Use this for a yes or no value.
* **Number:** Use this for integers or decimal values.
* **File Upload:** Use this when the workflow needs a file from the user.
* **Audio Record:** Use this when the workflow needs a recorded voice input.
* **Dropdown List:** Use this when the user should choose from predefined options.
* **Time:** Use this when the workflow needs a date or date-time value.

## Field settings

### Settings available on most inputs

* **Input Label** — the field name shown to the user.
* **Variable Name** — the variable name that other nodes use to reference this input.
* **Description** — helper text that explains the field.

## Variable Name

**Variable Name** is where you define the value name for later nodes. Other nodes use this name when they need to reference the submitted form data.

Use clear names like `customer_name`, `meeting_time`, or `source_file`. In downstream nodes, type `@` and choose the variable you want to insert.

## Good to know

* **Submit a form** belongs to **Manual trigger**.
* Required fields must be completed before the workflow starts.
* Dropdown lists help keep user input consistent.

### Next steps

* Learn how **Trigger** works in [Trigger](/workflow-builder/nodes/trigger.md).
* Compare it with [Click a button](/workflow-builder/nodes/trigger/manual-trigger/click-a-button.md).
* See the related app trigger in [When inputs are submitted (Apps)](/workflow-builder/nodes/trigger/when-inputs-are-submitted-apps.md).
