# Form

Start a workflow when someone sends a form.

## Start a workflow

### On Form Submission

Triggers when the hosted form is submitted. Field values land on the trigger’s data.

- **Form Title · Optional**: Heading shown at the top of the form. Default: Untitled Form.
- **Description · Optional**: Optional text shown under the title. **Bold**, *italic*, [links](https://example.com) and lists are shown as such.
- **Fields · Optional**: The inputs to collect. Each field's name becomes a key on {{trigger.body}}.
- **Submit Button Text · Optional**: Label on the form's submit button. Default: Submit.
- **Response Message · Optional**: Shown under the form's title after a successful submission (ignored when a Redirect URL is set). **Bold**, *italic*, links and lists work here too. Default: Sent.
- **Redirect URL · Optional**: If set, the submitter is redirected here after a successful submission instead of seeing the response message (such as https://example.com/thanks).

A later step can use its data, such as `{{trigger.body}}`, `{{trigger.submittedAt}}`. See [Use data from earlier steps](https://docs.gorunner.io/build/use-data-from-earlier-steps).

For a step-by-step guide, see [Start from a form](https://docs.gorunner.io/build/start-from-a-form).

Not in your list? See [When an app isn’t here](https://docs.gorunner.io/apps/when-an-app-isnt-here#q-not-in-list).

## For developers

In the API, which calls apps pieces, Form is `pieceId: "form"`. Its trigger is `form` / `form_submission`. [Get an app](https://docs.gorunner.io/api/apps/get-app) returns every field.

Source: https://docs.gorunner.io/apps/form
