# Ask: Form

When you need to elicit more than one piece of information from a user, you can use an **Ask: Form** node. It is designed for web front ends. One form can have multiple input fields.

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

The fields to elicit can be configured as part of the node. In this example, we set three fields of type Custom. They are required, so they cannot be skipped (see asterisks). The other fields are optional.

<figure><img src="/files/1DPfA2Rulkd6fyvw1aYN" alt=""><figcaption></figcaption></figure>

The following parameters can be configured for a form field:

| Property                | Description                                                                           | Explanation                                                                                                                 |
| ----------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Title                   | The label for the field                                                               |                                                                                                                             |
| Type                    | The type of the field determines how the field is validated and stored                |                                                                                                                             |
| Required                | Toggle if the field is required and cannot be skipped                                 |                                                                                                                             |
| Remember in user.\<var> | Toggle if you want to remember the field in the user object                           | Only use when the value identifies this user.                                                                               |
| Assign to               | Fill in with a name of a [variable](/studio/flows/variables.md) to store the value in | Use primarily when the expected value doesn't identify this user. Like when you are asking for someone else's phone number. |

## Field types

| Field type | Description                                          | Where it is stored |
| ---------- | ---------------------------------------------------- | ------------------ |
| First name | The first name of the user                           | user.first\_name   |
| Last name  | The last name of the user                            | user.last\_name    |
| Email      | The email address (needs to be a valid email format) | user.email         |
| Phone      | The phone number (needs to be a valid phone number)  | user.phone         |
| Custom     | See custom fields                                    |                    |

## Custom fields

Custom fields can be used for any type of information. It needs more properties to be configured, since its behaviour isn't fixed by its type.

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

| Property      | Description                                                     | Explanation |
| ------------- | --------------------------------------------------------------- | ----------- |
| Remember      | To also store the variable in the user object                   |             |
| Assign to     | The name of the variable to store it in                         |             |
| Text area     | Toggle to render a multiline text area instead of a single line |             |
| Default value | Text already present in the answer box by default               |             |

## Resources

* [Web flows](/store/skills/web-flows.md)
* [Variables](/studio/flows/variables.md)


---

# Agent Instructions: 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:

```
GET https://manuals.dialox.ai/studio/flows/nodes/ask-form.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
