# Free-form/Subjective answer prompts

You can create a prompt to accept a free-form/subjective text based answer from the user. Here's an example of a **free-form** (but not subjective) answer:

![Editor](/files/uGQc9nRvk2MQmLnX2cXt) ![Preview](/files/9cWAy38beVTiucDx7ajh)

It asks the user a question, and presents a text box to accept an answer. Based on the answer entered, the chat moves on to either prompt #5 (if the user answers 'New Zealand' or 'NZ') or prompt #6 (if the user answers anything else). Prompts 5 and 6 are not shown here. When matching answers, DialogForm can ignore case and whitespace if you wish.

Here's an example of a **subjective** answer (which by definition has to be free-form):

![Editor](/files/sCbcKMJMu8lFqOTXjg1T) ![Preview](/files/y3UbZJ9vr7uqnod4ssE0)

The subtle difference between the two examples is that the second one has no "correct" answer, so there is just one answer option "\*", indicating any answer is acceptable.

## What To Do

In DialogForm, open up a flow you want to edit.

In the prompts panel, click on the "+ Add prompt" button.

![](/files/447ndJNGjLSsg21gGrSQ)

This will add an empty prompt right below. Type in a message to the user.&#x20;

### To Create a Subjective Answer Prompt...

Then, add another answer, and click on "Accept any answer". This will enter a "\*" as the answer message. The preview should now update itself to show a text box under the prompt message.&#x20;

The answer has a box labeled "To". Here you can specify which prompt to move to next. Click on the box and assign a next prompt. Alternatively, assign the next prompt using the "Always to" box. Since there is only answer in the prompt, both methods are equivalent.

You're done! To create a non-subjective free-form answer prompt, read on below.

### To Create a Free-form Answer Prompt...

Then, click on "+ Add answer" to type in the correct answer. Hovering over any answer will reveal a button to insert another answer before/after it. You can always move answers around using their drag handles (the icon with the six dots). Add as many correct as you want.

Then, add another answer, and click on "Accept any answer". This will enter a "\*" as the answer message. The preview should now update itself to show a text box under the prompt message. **Make sure this is the last answer**.

{% hint style="info" %}
Note the "\*\*" surrounding the question statement in the example at the top of the page. Everything enclosed within it is made bold. This special syntax is a part of Markdown. You can use [Markdown](/user-guide/how-to-write-markdown.md) to compose rich-text messages and answers.
{% endhint %}

Each answer has a box labeled "To". Here you can specify which prompt to move to if the user selects this answer. Click on each box and assign a next prompt.

Alternatively, if all your answer choices lead to the same next prompt, just set it using the "Always to" box below all the answers.

#### Answer Matching

By default, DialogForm ignores case and extra whitespace. So, in the example at the top, the following would also be considered correct answers:

* "  nz"
* "     New     Zealand"
* "  new    zealANd    "

If you want, you can ignore **all** whitespace, making "   N ew  Zeal   an d" correct too. You can turn on/off any of these matching criteria as you wish. To do so, open the prompt settings panel by double-clicking on any prompt name (or by hovering over the <img src="/files/pqNJr08A79HGYJYGg73L" alt="" data-size="line"> icon that appears to the right of the prompt name). Then make your changes under the "INPUT SETTINGS" section of the prompt settings panel.

![](/files/MKkPlFmvH9VsIvce1434)

## What Next?

DialogForm has another type of subjective answer prompt. Check it out.

{% content-ref url="/pages/afPjYjBOPI6VpoFYVKgf" %}
[Image upload prompts](/user-guide/image-upload-prompts.md)
{% endcontent-ref %}

Learn how to compose messages with rich text, images and video.

{% content-ref url="/pages/8YNXjVvsQAopNnnwU95e" %}
[How to write Markdown](/user-guide/how-to-write-markdown.md)
{% endcontent-ref %}

{% content-ref url="/pages/Kct34Y7KfgerCW1qlnk6" %}
[How to add images to Markdown](/user-guide/how-to-add-images-to-markdown.md)
{% endcontent-ref %}

{% content-ref url="/pages/F33gLBZas0QSRJUgVRvX" %}
[How to add video to a prompt](/user-guide/how-to-add-video-to-a-prompt.md)
{% endcontent-ref %}

To award points to the user for answering correctly, or partially correctly, assign scores to answers.

{% content-ref url="/pages/owfozgyxiIClQZsWYj2t" %}
[Simple scoring](/user-guide/simple-scoring.md)
{% endcontent-ref %}

Learn how to score a subjective answer prompt with our score-later feature.

{% content-ref url="/pages/oMmn4kVuqg61SeOcQ1E9" %}
[Scoring subjective answer prompts](/user-guide/scoring-subjective-answer-prompts.md)
{% endcontent-ref %}


---

# 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://docs.dialogform.in/user-guide/free-form-subjective-answer-prompts.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.
