# Ask: Single

The **Ask: Single** node lets you elicit a single choice from users without cluttering your flow design. Unlike the [**Ask: Choice**](/studio/flows/nodes/ask-choice.md) node, which requires creating labeled branches for each possible answer directly in the flow, **Ask: Single** allows you to manage all possible choices in the side panel.

Benefits:

* Cleaner flow design with fewer visual elements
* Easier to maintain – add or modify choices without rearranging flow connections
* Simplified navigation – all choices lead to the same node

Trade-off:

* Cannot directly branch based on specific answers. You require a separate [**Control flow: Branch**](/studio/flows/nodes/control-flow-branch.md) node if you need conditional branching based on responses

Compare the **Ask: Choice** node on the left, with the **Ask: Single** node on the right:

<div><figure><img src="/files/qhwevB2AvkrNxNC5ehJA" alt=""><figcaption><p>The flow built with **Ask: Choice** nodes</p></figcaption></figure> <figure><img src="/files/jVt3PQSEjv76iQ7IwhDq" alt=""><figcaption><p>The flow built with **Ask: Single** nodes</p></figcaption></figure></div>

Like in the **Ask: Choice** node, each choice in **Ask: Single** can have both a label and an intent. You can also configure tags to be set automatically based on the user's selection.

Each choice includes a value field, which determines what gets stored when assigning the answer to a variable. If you leave this field empty, the choice's label will be used as the default value.

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

## Node properties

| Property            | Description                                                                           | Explanation                                                                            |
| ------------------- | ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| Question            | The original question                                                                 |                                                                                        |
| Try again (1)       | The repeat question when wrong input is provided                                      | optional                                                                               |
| Try again (2)       | An alternative repeat question when wrong input is provided                           | optional                                                                               |
| Assign to           | To assign the result to a variable in the conversation                                |                                                                                        |
| Remember            | To also store the variable in the user object                                         | The variable name in the Assign to will be used to store the value in the user object. |
| Record audio ☎      | On phone channels there is an option to record the audio                              |                                                                                        |
| Assign audio URL to | If record audio is toggled, the URL to the audio file will be stored in this variable | If record audio is toggled, the URL to the audio file will be stored in this variable  |
| Choices             |                                                                                       |                                                                                        |
| Choices - Label     | The label shown as an option on chat based channels                                   | Will also be used as the default value                                                 |
| Choices - Intent    | The intent that will be matched                                                       |                                                                                        |
| Choices - Value     | An optional value to be assigned as the result                                        |                                                                                        |
| Choices - Tag       | A tag to be set when this choice is selected                                          |                                                                                        |

{% hint style="info" %}
Note that only the choice label (or value, when provided) is stored in the assign to variable, not the exact text that was captured.

The exact text that was captured is stored in the variable `{{assign to}}_text`
{% endhint %}

{% hint style="info" %}
This node will also set a user tag using the assign to value. Don't forget to manually create this tag in the [Tags ](/settings/app-settings/tags.md)page.
{% endhint %}

## Dialog triggers

Special events can trigger another Flow or set of nodes in your existing Flow using Dialog Triggers. See the chapter [Dialog triggers](/studio/flows/links.md#dialog-triggers) for more details.

## Resources

* [Ask: Choice](/studio/flows/nodes/ask-choice.md)
* [Control flow: Branch](/studio/flows/nodes/control-flow-branch.md)
* [Links](/studio/flows/links.md)
* [Tags](/settings/app-settings/tags.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-single.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.
