# Getting Started

This will get you started with using DialogForm for creating e-Learning content.

DialogForm is a tool for creating engaging e-Learning content. It lets you create content in the form of a conversation (or a series of conversations) between the teacher and the user.

You can create entire lessons, or even just supplement your existing lessons with natural, free-flowing conversational assessments or explanations that not only keep the user engaged, but also provide you as the teacher with fine-grained control over personalizing and analyzing the user's learning journey.

## Create an Account

If you haven't already created an account, head over to <https://admin.dialogform.in> to create one.

## Before You Begin

Before you start creating your content, here's a little bit of DialogForm terminology we would like to introduce.

#### Flow

Each unit of learning content you will create in DialogForm is called a **flow**. You can design a flow to be a complete lesson, a part of a lesson, a set of questions to be answered by the user, or even just a single question - it's up to you.

#### Prompt

A flow is made up of **prompts**. A prompt is a message from the chatbot to the user. Together with the message, a prompt also contains possible answers, if any, to expect from the user in response to the message. For each answer, the prompt also specifies which next prompt to show.

#### Share link

Once you create a flow, you can generate a **share link** (a URL) to share the flow with a user. Normally, you will copy and paste the URL in the appropriate place in your Learning Management System (LMS). Many LMSes support rendering 3rd party URLs.

#### Chat

When a user interacts with a flow via the share link, this is termed as a **chat**. You can see & analyze users' individual chat histories on DialogForm. A chat is considered complete when there is no next prompt to show to the user.

## Next Steps

Check out our tutorial, which takes you through many of DialogForm's features and shows you how to put them together to create and deliver a piece of learning content.

Or if you prefer a more exploratory approach, play around with DialogForm, and as you discover its features, learn more about them in the User Guide to help you along.

{% content-ref url="/pages/QD98VJb98BBjrUJw5b0P" %}
[Tutorial](/tutorial)
{% endcontent-ref %}

{% content-ref url="/pages/Ox2fMaL98dKfViJXyAKn" %}
[User Guide](/user-guide)
{% endcontent-ref %}


# Tutorial

A series of videos to get you up and running on DialogForm.

DialogForm has a number of building blocks. These building blocks are best learned in the context of creating and sharing an actual flow. We have created a tutorial in the form of a series of videos which does just this.

The list of videos is below. We recommend watching the videos in order, as each video builds on previous ones. However, we do provide a description of what is shown in each video so that you can easily find and refer to any specific feature/functionality at any time.

You might like to open <https://admin.dialogform.in> in a separate tab in your browser, and try stuff out yourself as you watch the videos.

{% hint style="warning" %}
IMPORTANT, READ FIRST

In the tutorial videos, we often hover over a particular piece of information to reveal certain actions that can be carried out on that information.&#x20;

Since the creation of these videos, we have updated our UI. Most of the actions revealed by hovering are now revealed by hovering over a <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> icon to the right of the information in question.
{% endhint %}

## #1 Creating a flow

Each unit of learning content you will create in DialogForm is called a **flow**. You can design a flow to be a complete lesson, a part of a lesson, a set of questions to be answered by the user, or even just a single question - it's up to you.&#x20;

This video shows you how to create a new flow and give it a name.

{% hint style="info" %}
If you are on the **Sequences** tab instead of the **Flows** tab, then there is a slight deviation from the video. You need to click on the "New Sequence" button, followed by the "Add Flow" button.&#x20;

In this case, you will end up creating a flow sequence with one flow. A sequence is simply a collection of flows that the user interacts with in order.
{% endhint %}

{% embed url="<https://www.youtube.com/watch?index=1&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=v-1ZffqVYtk>" %}

## #2 Creating your first prompt

A flow is made up of **prompts**. A prompt is a message from the chatbot to the user. Together with the message, a prompt also contains possible answers, if any, to expect from the user in response to the message. For each answer, the prompt also specifies which next prompt to show. This is how a chat is able to move forward from one prompt to the next.

This video shows you how to create a prompt with multiple choice answers. Multiple choice answers are likely the most common form of answering you will use with DialogForm, although we do support other types of answers too.

{% embed url="<https://www.youtube.com/watch?index=2&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=-i0UwNRp3PY>" %}

## #3 Assigning scores to answers

This video shows you how to assign a score to any answer in a prompt. As the chat progresses, individual answer scores get aggregated. At any point of time, the current aggregate score is shown at the top of the chat window. DialogForm allows you to select from several scoring strategies at the answer level and at the prompt level, that let you customize how scores are aggregated. Scoring strategies are explained in later videos.

{% embed url="<https://www.youtube.com/watch?index=3&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=b8qXZ6LkdWw>" %}

## #4 Branching and looping based on user answers, and an introduction to scoring strategies

For each answer in a prompt, you can specify which next prompt to display. This allows you to branch out based on user answers. For example, the chat could go down some path if the user answered correctly, and down another path if they answered incorrectly. In fact, if they answered incorrectly you could even loop back and have them attempt the same prompt again.

This video shows you how to create branches and loops. It also introduces a scoring strategy that penalizes the user for requiring more than one try to arrive at the correct answer, and another strategy that doesn't.

{% embed url="<https://www.youtube.com/watch?index=4&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=qGi4E9jDJQY>" %}

## #5 Longer loops, and an introduction to video-based prompts

The last video showed how to loop back and get the user to re-answer a prompt if they gave the incorrect answer. Instead of immediately looping back though, it would be nice if we could first provide a hint, or even handhold the student step-by-step to arrive at the correct answer. This is a powerful feature in DialogForm. This video shows how to set up longer loops that can do just this.

Also, so far we have been simply using text messages in our prompts. However, prompts actually support much richer messages - such as bold and italic text, headings, images, lists and videos. This video introduces video messages.

{% embed url="<https://www.youtube.com/watch?index=5&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=pzzr4F19Ju0>" %}

## #6 Quick response based branching and looping, and an introduction to rich messages

Quick responses provide a concise way to add branching and looping, with some limitations and some advantages over the branching and looping methods shown in the previous videos. This video shows you how to set up branching and looping with quick responses.

Also, this video introduces rich Markdown-based messages that allow you to add bold and italic text, headings, images, lists and hyperlinks. See [here](https://www.markdownguide.org/basic-syntax/) for help on how to write Markdown. Ignore the section on images, since DialogForm gives you a convenient point-and-click method to upload and insert images.

{% embed url="<https://www.youtube.com/watch?index=6&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=rCxfmwk-FCo>" %}

## #7 "Interactive" multi-select questions, and different ways of displaying choices

So far we have worked with multiple choice questions with a **single** correct answer. In contrast, a multi-select question is one where the user can select **more than one** correct answer from a list of answer choices. In traditional content creation tools, for such questions, you may have experienced that the user is asked to select all the choices that they wish to in one go. However, a much more engaging and interactive way to do this would be to ask the user to choose one by one, giving them helpful feedback along the way. This is what we mean by "interactive" multi-select.

This video shows how to create an interactive multi-select question using the quick responses feature introduced in the last video, and also highlights another scoring strategy that makes such a question possible.

{% embed url="<https://www.youtube.com/watch?index=7&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=7T56dZumNC0>" %}

## #8 "Traditional" multi-select questions

The last video showed how to create an "interactive" multi-select question. However, DialogForm does offer the more traditional multi-select construct too. This video shows how to create a simple, or traditional, multi-select question.

{% embed url="<https://www.youtube.com/watch?index=8&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=Vje-_RaDK3o>" %}

## #9 Free-form user answers (as opposed to choice-based answers)

In all the previous videos, we have worked with choice-based answers. However, sometimes you may want the user to answer whatever they wish. This video shows how to accept any answer from the user. Note that even with such "free-form" answers, branching and looping is still possible.

{% embed url="<https://www.youtube.com/watch?index=9&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=bAbfLteeEnE>" %}

## #10 Accepting uploads from the user, viewing user chat histories, and an introduction to manual scoring

Sometimes, you may wish to accept handwritten answers from the user. DialogForm allows you to do so in the form of image uploads. A common scenario is to accept some handwritten "submission" from a user, and to grade that submission. Normally, when you assign a score to an answer, DialogForm automatically awards the score to the user when they select that answer. However, you can instead set it up so that you can assign a score manually to any answer, once you have had a chance to see and analyze the answer.

This video shows you how to set this all up, and also shows you how to view user chat histories in order to see their submissions and manually assign scores.

{% embed url="<https://www.youtube.com/watch?index=10&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=jx7yPUu1nFw>" %}

## #11 Rewriting chat history (i.e. letting users change previously given answers), and an introduction to variables

Sometimes it is useful to let the user change some previously given answer. For example, at some point in the chat you may ask them for their name or email address. At some later point in time, if they wish to go back and change it (maybe because they made a typo and didn't realize it until later), then they should be able to do so. This video shows you how to enable this.

Note that whenever possible, DialogForm lets the user change their answer without disturbing the subsequent chat history. However, if the change in answer results in a different branch being taken, the subsequent history is lost. The user is always warned and asked for confirmation before making a "destructive" change.

Also, this video introduces the concept of variables. Through the use of variables, you can interpolate any answer given previously into the message of a later prompt. For example, once you ask a user for their name, you can then address them by name.

{% embed url="<https://www.youtube.com/watch?index=11&list=PLDzTnNdJ_jEcu60iwa_cmeGMRZvy82FWA&v=l2T27lVqdis>" %}

## #12 Sharing and embedding, and flow publishing and versioning

This video shows you how to share DialogForm content with users. In order to share with users, a flow first needs to be published. Each time it is published, a new version is created. DialogForm allows you to "bring back" any earlier version should you wish to.

{% hint style="info" %}
If you are planning to share your DialogForm content via Thinkific, please see [this page](/user-guide/using-dialogform-with-thinkific).
{% endhint %}

{% embed url="<https://youtu.be/60XGdlySvRk>" %}


# Tutorial - Part 2

Done with the tutorial? DialogForm has a few more tricks up its sleeve!

## Learning from peer data

Sometimes it is helpful for users to learn a little bit through what their peers are thinking/doing, rather than consume content in a completely isolated manner. This set of videos shows you how to make it happen.

### Types of peer data available (and an introduction to API based prompts)

DialogForm allows you to show users the overall answer statistics for any prompt. Not only that, you can also show users a sampling of answers from their peers (especially handy for free-form answers or answers uploaded via images). This lets users learn from each other.

All this is done using the **API** message type for prompts (the word API indicating that the contents of the prompt's message are fetched from a remote API). This video introduces two remote APIs that DialogForm offers for peer data.

\[VIDEO COMING SOON]

### How to set up a prompt to use peer data (and an introduction to multi-step prompts)

A common use-case for peer data is to ask the user for an answer, show them some peer data, then ask them to revise their answer if they wish to. This gets them thinking about and analyzing what their peers have done. They may even learn something they never thought of! DialogForm offers something called a 'multi-step' prompt that can do just this.

This is not the only use case for peer data or for multi-step prompts, but it serves as a great way to show you both.

\[VIDEO COMING SOON]


# User Guide

Stuff to help you get the most out of DialogForm

This is where you'll find&#x20;

* Detailed information on all of DialogForm's features
* Lots of tips and tricks to help you create and deliver some amazing learning content for your users

## Flows

{% content-ref url="/pages/k5kI5TN6oXmfPc7QKT0z" %}
[Creating a flow](/user-guide/creating-a-flow)
{% endcontent-ref %}

{% content-ref url="/pages/qhDAP9cadFZX7UJ9FsCL" %}
[Duplicating a flow](/user-guide/duplicating-a-flow)
{% endcontent-ref %}

## User Input

{% content-ref url="/pages/TQZo903PKyVwIR4BCECk" %}
[Multiple choice prompts](/user-guide/multiple-choice-prompts)
{% endcontent-ref %}

{% content-ref url="/pages/J3xBbJ2aaMUBkDs15B2A" %}
["Multi-select" multiple choice prompts](/user-guide/multi-select-multiple-choice-prompts)
{% endcontent-ref %}

{% content-ref url="/pages/U6qCOLi0rOkw4aqNBmKP" %}
[Configuring how choices appear](/user-guide/configuring-how-choices-appear)
{% endcontent-ref %}

{% content-ref url="/pages/mWm9rzd0xgm0KYhVm8Lp" %}
[Free-form/Subjective answer prompts](/user-guide/free-form-subjective-answer-prompts)
{% endcontent-ref %}

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

## Branching and Looping

{% content-ref url="/pages/mZKouOCYMfsbbVn5ppQi" %}
[Basic branching and looping](/user-guide/basic-branching-and-looping)
{% endcontent-ref %}

{% content-ref url="/pages/9u5cRd3YYIgNF26V0zF2" %}
[Branching and looping with quick responses](/user-guide/branching-and-looping-with-quick-responses)
{% endcontent-ref %}

## Scoring

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

{% content-ref url="/pages/SsinhQDd9TgO6XJMnx8Y" %}
[Advanced scoring](/user-guide/advanced-scoring)
{% endcontent-ref %}

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

## Using Rich Text and Media

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

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

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

{% content-ref url="/pages/fsLlKcZQvgqAbFJVUOZk" %}
[Managing media with Cloudinary](/user-guide/managing-media-with-cloudinary)
{% endcontent-ref %}

## Customizing Look and Feel

{% content-ref url="/pages/RhxvtnYk2DIMzjNfZOpK" %}
[Branding](/user-guide/branding)
{% endcontent-ref %}

{% content-ref url="/pages/Y4QzSHB8rV84SQrw8V6X" %}
[Customizing pauses between prompts](/user-guide/customizing-pauses-between-prompts)
{% endcontent-ref %}

## Delivering Content to Users

{% content-ref url="/pages/-MeOBzDzkGRM9GZHjETh" %}
[Using DialogForm with Thinkific](/user-guide/using-dialogform-with-thinkific)
{% endcontent-ref %}

{% content-ref url="/pages/mZIqfSqzFPlQVi9hv0XE" %}
[Using DialogForm as an LTI tool](/user-guide/using-dialogform-as-an-lti-tool)
{% endcontent-ref %}

{% content-ref url="/pages/iLekjfZCOyfOFQRGa9LS" %}
[Using DialogForm with other LMSes](/user-guide/using-dialogform-with-other-lmses)
{% endcontent-ref %}

## Extending DialogForm Functionality

{% content-ref url="/pages/xKpDWve1v0vghukeVfO1" %}
[Adding a Webhook for notifications](/user-guide/adding-a-webhook-for-notifications)
{% endcontent-ref %}


# Creating a flow

Learn how to create a flow.

To create a piece of learning content in DialogForm, you create a **flow**. You can design a flow to be a complete lesson, a part of a lesson, a set of questions to be answered by the user, or even just a single question - it's up to you.

## What To Do

Make sure you are on the [DialogForm home page](https://admin.dialogform.in).&#x20;

Click on the "FLOWS" tab to activate it (if not already done).

Click on the "+ New Flow" button.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FfzBY5LBZquY3N4Ur2p8S%2Fcreate-flow.png?alt=media\&token=d2010255-6193-4a3f-8ebf-24f087fbbd84)

A new flow will be created and you will be taken to the flow builder page. You can rename the flow at any time by clicking on the top left where it says "Untitled", and entering a new name.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FmgmSDusVctbrclwhNxc9%2Fcreate-flow--builder.png?alt=media\&token=1b8eb13d-209d-48e2-aef7-429cb1bfbb8b)

A flow is made up of **prompts**. Build out your content by adding/editing prompts to the flow.

A prompt is a message from the chatbot to the user. Together with the message, a prompt also contains possible answers, if any, to expect from the user in response to the message. For each answer, the prompt also specifies which prompt should follow next.

All your work will be auto-saved. When your flow is ready, hit the "Publish" button (which shows up on the top right if there are any unpublished changes) to make it live.

## What Next?

Learn about the various types of prompts that DialogForm offers.

{% content-ref url="/pages/TQZo903PKyVwIR4BCECk" %}
[Multiple choice prompts](/user-guide/multiple-choice-prompts)
{% endcontent-ref %}

{% content-ref url="/pages/J3xBbJ2aaMUBkDs15B2A" %}
["Multi-select" multiple choice prompts](/user-guide/multi-select-multiple-choice-prompts)
{% endcontent-ref %}

{% content-ref url="/pages/mWm9rzd0xgm0KYhVm8Lp" %}
[Free-form/Subjective answer prompts](/user-guide/free-form-subjective-answer-prompts)
{% endcontent-ref %}

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


# Duplicating a flow

If you want to create a flow similar to an already existing flow, you can simply duplicate the existing flow and then make changes as you wish.

## What To Do

Open up a flow you want to edit.

Click on your profile button on the top right of the page. This will open up a menu of all the actions you can perform on the flow. Click on "Duplicate".

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FM6YdGPnLi4ncV7EverZJ%2Fimage.png?alt=media\&token=beb638d3-a29d-464c-ae0b-8aa36b7fbfaa)

You may need to wait a few seconds. Once the flow is duplicated, you will see a notification on your screen to that effect.


# Multiple choice prompts

Learn how to present a list of choices to the user.

You will probably use this type of prompt the most. Here's an example:

![Editor](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FchQd3zb6RiX2gcsOb92R%2Fsimple-multi-choice-prompt.png?alt=media\&token=b77bdd57-86a2-4681-9a25-b96590864bde) ![Preview](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFdGVZqYFstgSeeXTMz2G%2Fsimple-multi-choice-prompt-preview.png?alt=media\&token=5f1c8764-6dff-4ef3-9cf0-355de9b719c4)

It asks the user a question (what is 5 times 9), and presents a list of options they can respond with. The user can select any **one** option. Based on the answer selected, the chat moves on to either prompt #2 (if the user answers '45') or prompt #3 (if the user answers anything other than '45'). Prompts 2 and 3 are not shown here.

## What To Do

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

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

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Fvr0ySkiAfry5GD6OOfDM%2Fadd-prompt-button.png?alt=media\&token=ce618e3a-303b-4262-aecb-61faba0588f6)

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

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

{% 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) 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.

## What Next?

Configure how answer choices appear to the user.

{% content-ref url="/pages/U6qCOLi0rOkw4aqNBmKP" %}
[Configuring how choices appear](/user-guide/configuring-how-choices-appear)
{% endcontent-ref %}

In certain cases, you may want to let to the user respond with multiple options simultaneously.

{% content-ref url="/pages/J3xBbJ2aaMUBkDs15B2A" %}
["Multi-select" multiple choice prompts](/user-guide/multi-select-multiple-choice-prompts)
{% 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)
{% endcontent-ref %}

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

{% content-ref url="/pages/F33gLBZas0QSRJUgVRvX" %}
[How to add video to a prompt](/user-guide/how-to-add-video-to-a-prompt)
{% 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)
{% endcontent-ref %}


# "Multi-select" multiple choice prompts

Learn how to present a list of options to the user. The user can select multiple options to send as the response.

Here's an example:

![Editor](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFvCV132fnPP61e0UU0SC%2Fmultiselect-multi-choice-prompt.png?alt=media\&token=b351cd8a-e22a-4c8e-9e7d-837a074a7967) ![Preview](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FugDmFlEC2X6jZ3bYIUFr%2Fmultiselect-multi-choice-prompt-preview.png?alt=media\&token=79df297f-e736-42bf-b32c-cce65845a012)

It asks the user a question, and presents a list of options they can respond with. The user can select one or more options. Once the user answers, the chat moves on to prompt #8 (not shown).

{% hint style="info" %}
Unlike in "single-choice" [Multiple choice prompts](/user-guide/multiple-choice-prompts), you cannot branch to different prompts based on the answer selected. This is a limitation that we plan to do away with in future.
{% endhint %}

## What To Do

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

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

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Fvr0ySkiAfry5GD6OOfDM%2Fadd-prompt-button.png?alt=media\&token=ce618e3a-303b-4262-aecb-61faba0588f6)

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

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

{% hint style="info" %}
Note the **backslash** preceding the "\*" symbols in the example at the top of the page. DialogForm supports [Markdown](/user-guide/how-to-write-markdown) syntax, which is a way of composing rich-text messages. Markdown treats "\*" as a special character, which has to be "escaped" using a backslash to tell Markdown not to treat it specially in this case.
{% endhint %}

Next, open the prompt settings panel by double-clicking on any prompt name (or by hovering over the <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> icon that appears to the right of the prompt name). Then under the "INPUT SETTINGS" section of the prompt settings panel, check the "Allow multiple select" option.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2F48d9LtnlQ3xtLCcS0eOT%2Fmultiselect-multi-choice-prompt-settings.png?alt=media\&token=263f1034-d896-495e-9812-e5904cb27592)

Set the next prompt using the "Always to" box below all the answers.

{% hint style="info" %}
Unlike in "single-choice" [Multiple choice prompts](/user-guide/multiple-choice-prompts), you cannot branch to different prompts based on the answer selected. This is a limitation that we plan to do away with in future.
{% endhint %}

## What Next

Configure how answer choices appear to the user.

{% content-ref url="/pages/U6qCOLi0rOkw4aqNBmKP" %}
[Configuring how choices appear](/user-guide/configuring-how-choices-appear)
{% 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)
{% endcontent-ref %}

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

{% content-ref url="/pages/F33gLBZas0QSRJUgVRvX" %}
[How to add video to a prompt](/user-guide/how-to-add-video-to-a-prompt)
{% 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)
{% endcontent-ref %}


# Configuring how choices appear

DialogForm lets you configure some aspects of how choices for multiple choice prompts appear on screen.

## What To Do

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

Next, open the prompt settings panel by double-clicking on the name of the prompt you want to configure (or by hovering over the <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> icon that appears to the right of the prompt name).

### Configuring choice size and layout

In the prompt settings panel, under the "INPUT SETTINGS" section, select the "Choice variant" that you want. This controls the size and layout of your answer choices.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FwgFCv98DXYg59qAvAfx9%2Fchoice-variant.png?alt=media\&token=e2aa5fa8-dca6-4477-a182-fd08e085ca6f)

{% hint style="warning" %}
Note that the "Small" choice variant does not support Markdown and images. It is best used for just single words or very short phrases.
{% endhint %}

### Shuffling the order in which choices appear

You can shuffle, i.e. randomize, the order in which the choices are displayed. Each user is then shown the choices in a random order.

To do so, in the prompt settings panel, under the "INPUT SETTINGS" section, check the "Shuffle answers" checkbox.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FZxZZ15nKV5y9y6W7S7tK%2Fshuffle-answers.png?alt=media\&token=ce19d32a-b46d-4743-aa75-344b2abb2602)


# Free-form/Subjective answer prompts

Learn how to accept free-form answers from the user.

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](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FDIPOznmViFzBPMk3UWDh%2Fsimple-freeform-prompt.png?alt=media\&token=2310b40d-a41b-4dd4-a40a-1806542bc092) ![Preview](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FQpsMRkriVq7Hf4NKOVkU%2Fsimple-freeform-prompt-preview.png?alt=media\&token=58171510-69d2-4806-8033-1f25c2ec1282)

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](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FWeffQ8lrAKxngTafYJOl%2Fsimple-subjective-prompt.png?alt=media\&token=86bbaac3-b95c-4d5b-98c3-ae0ffb758a4a) ![Preview](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FQav6cwnQkBQ30KFN3xFC%2Fsimple-subjective-prompt-preview.png?alt=media\&token=a550b5c6-4583-4e34-8ceb-dbb08e6f5179)

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.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Fvr0ySkiAfry5GD6OOfDM%2Fadd-prompt-button.png?alt=media\&token=ce618e3a-303b-4262-aecb-61faba0588f6)

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) 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="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" 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.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Fh4cFgNgG1cdsZGa2cNet%2Fprompt-settings.png?alt=media\&token=7bb5a874-e79f-4a6f-8542-3ad7045cf218)

## 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)
{% 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)
{% endcontent-ref %}

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

{% content-ref url="/pages/F33gLBZas0QSRJUgVRvX" %}
[How to add video to a prompt](/user-guide/how-to-add-video-to-a-prompt)
{% 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)
{% 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)
{% endcontent-ref %}


# Image upload prompts

Learn how to accept image upload(s) as answers from the user.

This type of prompt is useful for accepting complex free-form answers that are best written and/or drawn by hand.

## What To Do

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

In the prompts panel, click on the three dots next to the "+ Add prompt" button to reveal the "Image upload prompt" option. Click on it.

<div align="center"><img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Flm5vlEnpVyFrTjj1fpm6%2Fimage-upload-button.png?alt=media&amp;token=fbdae5c4-b80f-440f-8e6c-a79298bb87a5" alt=""></div>

This will add a new prompt right below the "+ Add prompt" button. Note the prompt icon - it is ![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FiM8CuAwx2YRzV0urYLHR%2Fimage.png?alt=media\&token=4784b534-4973-4223-a663-8a1aae1d4482)(indicating image upload) instead of the regular ![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FUHh3ug5XXzrq9Q1a8sbT%2Fimage.png?alt=media\&token=662f4715-3d9f-44a5-9f6a-99f25ed73c8f). Type in a prompt message. You cannot enter any answers for this type of prompt.

In the preview panel you will see an action button for image upload which the user will see while interacting with the chat.

![Editor](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FGiHKtz6GdRqrsLpUiK7v%2Fimage-upload-prompt.png?alt=media\&token=e6fbed79-f7fa-4bd0-bd6f-94a552af135f) ![Preview](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FZBrTYVghKtofPn7rd3sm%2Fimage-upload-prompt-preview.png?alt=media\&token=4b475f95-41c5-4030-aced-39dd02c352be)

## What Next?

Learn how to score an image upload prompt with our score-later feature.

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


# Basic branching and looping

Learn to make make a flow branch out based on user answers.

{% hint style="info" %}
This article explains basic branching and looping. While the method we show here gives you a lot of flexibility, it needs a fair bit of boilerplate. So, for some common use cases, DialogForm offers an alternative way of branching and looping through a feature called "quick responses", which needs much less boilerplate. Learn about it [here](/user-guide/branching-and-looping-with-quick-responses).
{% endhint %}

## Basic Branching

If you have read some of the earlier sections of this user guide, you may already have come across some instances of branching, although we didn't specifically use the term "branching". Here is such an instance:​​

![Editor](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FchQd3zb6RiX2gcsOb92R%2Fsimple-multi-choice-prompt.png?alt=media\&token=b77bdd57-86a2-4681-9a25-b96590864bde) ![Preview](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFdGVZqYFstgSeeXTMz2G%2Fsimple-multi-choice-prompt-preview.png?alt=media\&token=5f1c8764-6dff-4ef3-9cf0-355de9b719c4)

The above prompt asks the user a question (what is 5 times 9), and presents a list of options they can respond with. The user can select any one option. Based on the answer selected, the chat moves on to either prompt #2 (if the user answers '45') or prompt #3 (if the user answers anything other than '45').&#x20;

Prompts #2 and #3 are not shown here, but we can imagine prompt #2 to be something like *"Yes, that's correct"* and prompt #3 to be something like *"No, that's wrong"*.

So, in effect, we have created two branches - the "correct" branch and the "wrong" branch. This is only one use case of branching, there can be many others.

### What To Do

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

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

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Fvr0ySkiAfry5GD6OOfDM%2Fadd-prompt-button.png?alt=media\&token=ce618e3a-303b-4262-aecb-61faba0588f6)

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

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

{% 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) 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.

## Basic Looping

If a user provides an incorrect answer to a prompt, you can have them re-attempt the prompt by looping back to it. Here is an instance of looping:

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2F15se3C4JlaGmLp5zvR5s%2Fbasic-looping.png?alt=media\&token=291f7474-ef73-4bc4-900c-bd2beacf899e)

Prompt #0 asks the user the question "What is 1 + 1?".

If the user answers 2, the chat moves on to Prompt #2, which says "Correct!".&#x20;

If the user answers anything but 2, the chat moves on to Prompt #1 which says "Nope, try again!", and then moves on to Prompt #0 again.

{% hint style="info" %}
Prompt #0 has a correct answer (i.e. 2) and a catch-all answer (i.e. the "\*") that matches all other answers. We call this type of prompt a "free-form answer prompt". You can read more about it [here](https://docs.dialogform.in/user-guide/pages/mWm9rzd0xgm0KYhVm8Lp#to-create-a-free-form-answer-prompt...).
{% endhint %}

## What Next?

Learn about an alternative, quicker way to set up branching and looping for common use cases.

{% content-ref url="/pages/9u5cRd3YYIgNF26V0zF2" %}
[Branching and looping with quick responses](/user-guide/branching-and-looping-with-quick-responses)
{% endcontent-ref %}


# Branching and looping with quick responses

A quick yet powerful way to set up branching and looping for common use cases.

The easiest way to get started with quick responses is by using one of our pre-created prompt templates.

## What To Do

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

In the prompts panel, click on the three horizontal dots next to the "+ Add prompt" button. This will open a popup menu with the option to "Select a template...".

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2F5LemImgKFnknZcDT80is%2Fadd-prompt-select-template.png?alt=media\&token=7b088a6a-665a-4f37-a549-28480c1f4f27)

Click on this option to open up the template selector. You'll find some templates here that make use of the quick responses feature to set up interesting use cases. The ones highlighted in red below are three such templates.&#x20;

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2F2ms4dFBZZ4cQOVgjivCw%2Fprompt-templates-modal.png?alt=media\&token=c63073c2-5f53-4b42-acdc-d88d31303c96)

Select the template you want to explore. You'll see a preview of it on the right hand side, where you can try it out to see what it does. Once you've identified which template you want to use, click on the "Use" button to insert it into your flow. You can then modify it to suit your needs.

{% hint style="info" %}
A prompt template is nothing but a pre-built prompt, so once you insert it into your flow, you can change anything and everything about it if you wish. It is just a regular prompt.
{% endhint %}

## Deep Dive

If you want to manually build a prompt that uses quick responses (instead of using a pre-built one as above), then watch the following two steps of our [tutorial](/tutorial):

[Tutorial](/tutorial#6-quick-response-based-branching-and-looping-and-an-introduction-to-rich-messages)

[Tutorial](/tutorial#7-interactive-multi-select-questions-and-different-ways-of-displaying-choices)

These also delve a little into scoring strategies and how you can use them with quick responses, for added oomph.

## What Next

Learn about advanced scoring strategies. These are especially useful for prompts using the quick response feature.

{% content-ref url="/pages/SsinhQDd9TgO6XJMnx8Y" %}
[Advanced scoring](/user-guide/advanced-scoring)
{% endcontent-ref %}


# Simple scoring

Learn how to assign scores to answers.

Scoring is a very useful tool to keep your users motivated and updated about their progress in the learning journey. Once you start assigning scores to your prompts, the maximum achievable score of any flow can be seen on the preview panel at all times.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FO03b9iLjpjzV0POgMrWr%2Fpreview-max-score.png?alt=media\&token=b98685b4-a753-43db-a0b9-37152d1478f5)

DialogForm allows you to score multiple choice prompts as well as free-form/subjective answer prompts in various ways. Here we show you how to score multiple choice prompts.

## Multiple Choice Prompts

### What To Do

Create a prompt with answer options.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FZu7TDo7badPSPeCOGrOQ%2Fsimple-score-multi-choice-v2.png?alt=media\&token=5ac5bac9-0dba-4926-83e9-c7e83d8dd599)

To add a score to the correct answer, hover over the <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> icon that appears to the right of the answer, and select "Add Score" in the menu that opens up as a result.

You will see a<img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FSPuM0HBKGTqa6sOYmuPW%2FScroing%203.png?alt=media&amp;token=afde4dd0-eb2b-4a21-a2e7-68fccf675991" alt="" data-size="line">pop up right above the answer. Click on it and customize your score <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FeVniNah2T3Zd0CjCs6wD%2FScroing%204.png?alt=media&amp;token=00245e14-5b58-4264-a316-c92ab11f731f" alt="" data-size="line">. Negative numbers are fine too. To remove the score, just delete the value entered.

Now, when your users select the correct answer option, they will be awarded the assigned score automatically.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FNSBObANoD9ziMSv3PDHY%2Fsimple-score-multi-choice-preview.png?alt=media\&token=09fef6c6-49bb-4704-8b02-104e8a4439bb)

You can assign zero scores to the incorrect answers, if you wish. Or maybe you have some partially correct answers for which you can assign lower-than-full scores.

{% hint style="warning" %}
**Note that there is a distinction between assigning a zero score and not assigning a score at all**.&#x20;

It isn't necessary that if one option has an assigned score, all other options must have one too. You could very well choose not to assign a score to some options.

For example, you could make one of your options *`"I don't know, can you help me out a little?"`.* Clicking on this option could lead to a prompt (or series of prompts) where you provide a hint to the user, then have them answer again, maybe playing for less points this time.
{% endhint %}

## **Free-form Objective Answer Prompts**

### **What To Do**

Note that this section only applies to **non-subjective** free-form answer prompts. By this we mean prompts that have clearly defined correct and possibly any partially correct answers, just like multiple choice prompts. The only difference is that these prompts allow you to test your users knowledge without giving them options to choose from. You can learn all about free-form non-subjective prompts in the first part of the this article:

{% content-ref url="/pages/mWm9rzd0xgm0KYhVm8Lp" %}
[Free-form/Subjective answer prompts](/user-guide/free-form-subjective-answer-prompts)
{% endcontent-ref %}

Here is an example of such a prompt:

![Editor](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FDIPOznmViFzBPMk3UWDh%2Fsimple-freeform-prompt.png?alt=media\&token=2310b40d-a41b-4dd4-a40a-1806542bc092) ![Preview](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FQpsMRkriVq7Hf4NKOVkU%2Fsimple-freeform-prompt-preview.png?alt=media\&token=58171510-69d2-4806-8033-1f25c2ec1282)

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.

&#x20;The "\*" is a special directive to DialogForm which means "*any answer other than the ones above"**.*** Scoring such prompts is very much like scoring multiple choice prompts. The correct and possibly any partially correct answers can be assigned scores as desired. The last answer ("\*") which basically means "*any answer other than the correct/partially correct ones*" can be assigned a zero score.

## **"Multi-Select" Multiple Choice Prompts**

### **What To Do**

Create a ["multi-select"](#multi-select-multiple-choice-prompts) prompt with answer options.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Fr4NF4X9s6zXwXmCIxXwD%2Fsimple-score-multiselect-multi-choice-v2.png?alt=media\&token=1ebb44ad-b79b-48f8-8b80-1bfd7d83627c)

Note the red rectangle on the left. The "Allow multiple select" prompt setting is what makes a prompt a "multi-select" prompt. If you're not familiar with this yet, take a look at [this article](#multi-select-multiple-choice-prompts).

To add a score to the correct answer, hover on the <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> icon that appears to the right of the answer, and select "Add Score" in the menu that opens up as a result.

You will see a<img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FSPuM0HBKGTqa6sOYmuPW%2FScroing%203.png?alt=media&amp;token=afde4dd0-eb2b-4a21-a2e7-68fccf675991" alt="" data-size="line">pop up right above the answer. Click on it and customize your score <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FeVniNah2T3Zd0CjCs6wD%2FScroing%204.png?alt=media&amp;token=00245e14-5b58-4264-a316-c92ab11f731f" alt="" data-size="line">. Negative numbers are fine too. To remove the score, just delete the value entered.

When your users respond with the options they think are correct, they will be awarded a score that is equal to the sum of the scores of the options they selected.

![Editor](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FOQH1LNShntJrnHTqUsp3%2Fsimple-score-multiselect-multi-choice2.png?alt=media\&token=12060b65-42b7-45a9-b495-70a6bafaa646) ![Preview](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FzN3OMIcxUownwFqdD0vo%2Fsimple-score-multiselect-multi-choice-preview.png?alt=media\&token=1766cb89-9cf8-446a-82bc-6d2ccf530849)

## What Next?

What you saw above only scratches the surface of what DialogForm's scoring capabilities. Take a deeper dive into more advanced stuff.

{% content-ref url="/pages/SsinhQDd9TgO6XJMnx8Y" %}
[Advanced scoring](/user-guide/advanced-scoring)
{% endcontent-ref %}


# Advanced scoring

Learn how to develop complex scoring scenarios.

COMING SOON


# Scoring subjective answer prompts

Learn how to score subjective answers manually.

DialogForm allows course creators to test their users' knowledge via subjective answers. These answers can be in a long text format, or can even be hand-written/hand-drawn and uploaded as images. Since a descriptive answer cannot be scored instantly, we developed a feature called **"score-later"** to score such prompts.

The score-later option allows course creators to manually score the responses of their users at a later stage and share with them via email.

## What To Do

Open up a flow and create a subjective answer prompt. Depending on whether you want the user to type in the answer or upload images of a hand-written/hand-drawn answer, the following articles will help you:

{% content-ref url="/pages/mWm9rzd0xgm0KYhVm8Lp" %}
[Free-form/Subjective answer prompts](/user-guide/free-form-subjective-answer-prompts)
{% endcontent-ref %}

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

Whichever type of prompt you create, it will contain just a single answer - a "\*". To add a score to the answer, hover over the <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> icon that appears to the right of the answer, and select "Add Score" in the menu that opens up as a result.&#x20;

You will see a<img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FSPuM0HBKGTqa6sOYmuPW%2FScroing%203.png?alt=media&amp;token=afde4dd0-eb2b-4a21-a2e7-68fccf675991" alt="" data-size="line">pop up right above the answer. Click on it and customize your score <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FeVniNah2T3Zd0CjCs6wD%2FScroing%204.png?alt=media&amp;token=00245e14-5b58-4264-a316-c92ab11f731f" alt="" data-size="line">. Press Enter or navigate away from the score box to register the updated score.

Now, click on the "=" sign to the left of your score. You will see it convert into a "less than or equal to" sign ![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FiaDJsKU0W55IDAbTBKcf%2Fimage.png?alt=media\&token=edf18d5c-e463-4d14-b97f-65f5330a5aa9). This indicates to DialogForm that you will be manually assigning a score later, and that the score you assign will not exceed the number that you entered.

Here is an example of what your prompt might look like:

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FnKzReBoXChcwyxJaiI85%2Fscore-later-image-upload-prompt.png?alt=media\&token=766f2b59-6e65-4861-a8b5-29b25c3a4fa5)

### How to Assign a Score

To assign a score to a user's response, you first need to view their chat history. Next to the "BUILD" tab on the flow builder page, you'll find another tab called "STATS". Click on this tab. This will take you to the flow's statistics page. Now, click on the "CHATS" tab to see all the individual chat histories so far.

Find the desired chat history and assign a score. The image below points out the various bits of UI for doing so:

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Fgf4Pgc1B5LYhmRI4rUBW%2Fscore-later-statspage.png?alt=media\&token=249fca33-a0c2-404c-9ef8-3d2b7131eb68)

### Notifying Users When a Score is Assigned

If you serve up your DialogForm content through [Thinkific](/user-guide/using-dialogform-with-thinkific), users will be notified by email whenever you assign a score.

Likewise, when we provide integration with [LTI compatible Learning Management Systems](/user-guide/using-dialogform-as-an-lti-tool) (coming soon), the same email feature will be made available.

For all other cases, please contact us at <hi@dialogform.in>. We'll be happy to help you with possible options.


# How to write Markdown

Learn how to compose rich-text prompt messages and answers.

This is how Markdown is defined in Wikipedia.

> **Markdown** is a lightweight markup language for creating formatted text using a plain-text editor.

Using just a few special characters, you can use a plain-text editor to generate formatted text with headings, lists, hyperlinks and more.

DialogForm supports Markdown in prompt messages, answer options and answer quick-responses.  Here's an example of how it looks in the editor and in the preview panel:

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FIoDOQdhNQCLfUNWlD99n%2Fmarkdown.png?alt=media\&token=33c72bb6-219c-48da-81be-0dcb5779c35c)

## What To Do

Instructions for all of the syntax that DialogForm supports can be found on the link below. \*\*Please ignore the "Images" and "Linking Images" sections on the page. DialogForm provides its own image uploading and insertion interface.

{% embed url="<https://www.markdownguide.org/basic-syntax>" %}

## What Next?

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


# How to add images to Markdown

Learn how to add images to prompt messages and answers.

DialogForm supports images in prompt messages, answer options and answer quick-responses. Images can be inserted within Markdown.

## What To Do

Click on any prompt message, answer option or answer quick-response to edit it. Make sure your cursor is on a new line (this is important, as images can only be inserted into new lines). You will an action bar appear over the cursor, with a button for adding an image.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FIhZnky1IPGsaurlo3iek%2Fimage-insertion.png?alt=media\&token=71fd8b39-b23d-44f1-9bc9-de9ebd02d719)

Click on this button. You will be shown a popup.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2F0p0kN9HEKzphYOykq4Cl%2Fimage-insertion-dialog.png?alt=media\&token=c059547a-61b3-418f-9ff4-6cd8e9dd77a2)

Upload a file or enter a URL to insert the desired image at the point at which your cursor is. This is what the result will look like:

![Editor](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2F6h1MobCvsVfrB7FKzldI%2Fimage-inserted-editor.png?alt=media\&token=1858983b-8e47-4c0b-bf00-0443175fadb1) ![Preview](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FoZeubpWSr2LPuIX69Wvj%2Fimage-inserted-preview.png?alt=media\&token=b75be3df-4643-4ff3-b5a3-85a71a75eae7)

To continue typing below the image, click on the image and press Enter. To delete the image, click on it and delete it like you would any text.

### Resizing Images

To resize an inserted image, use the "W" (width) and "H" (height) input boxes that appear next to the image in the editor. You can specify any one dimension, or both. After you enter a value, you will need to navigate away from the input box (i.e. click elsewhere) for the changes to take effect.

{% hint style="info" %}
If your image is a big one, you may not realize how big it will look to the user. The preview panel only takes up about half the width of your browser window. However, when your user/student views the content, it may span the entire width of the browser window, resulting in a much larger image than you may have thought. This is where resizing is very useful.&#x20;
{% endhint %}


# How to add video to a prompt

Enhance the engagement quotient by adding videos to your lessons.

DialogForm enables you to turn your video-based learning material into conversational lessons.

## What To Do

Copy the link of the video you wish to use in the lesson. You can use videos from YouTube or a host of other video sharing platforms (a list of all supported platforms is given at the end of this article).

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

In the prompts panel, click on the "+ Add prompt" button, or to create an [Image upload prompt](/user-guide/image-upload-prompts), click on the three dots next to the "+ Add Prompt" and press 'Image upload prompt' in the popup that appears.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Fvr0ySkiAfry5GD6OOfDM%2Fadd-prompt-button.png?alt=media\&token=ce618e3a-303b-4262-aecb-61faba0588f6)

This will add an empty prompt right below. Paste the video link as the message of the prompt, and change the 'MESSAGE TYPE' in the prompt settings panel to 'Video'. You can access the prompt settings panel by double-clicking on the prompt name (or by hovering over the <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> icon that appears to the right of the prompt name).

Now carry on creating the prompt as you wish. If you need help on how to create the various types of prompts that DialogForm offers, check out these articles:

{% content-ref url="/pages/TQZo903PKyVwIR4BCECk" %}
[Multiple choice prompts](/user-guide/multiple-choice-prompts)
{% endcontent-ref %}

{% content-ref url="/pages/J3xBbJ2aaMUBkDs15B2A" %}
["Multi-select" multiple choice prompts](/user-guide/multi-select-multiple-choice-prompts)
{% endcontent-ref %}

{% content-ref url="/pages/mWm9rzd0xgm0KYhVm8Lp" %}
[Free-form/Subjective answer prompts](/user-guide/free-form-subjective-answer-prompts)
{% endcontent-ref %}

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

### Supported Platforms

The following sources of video (and in some cases audio) are supported:

* YouTube
* Facebook
* Twitch
* Soundcloud
* Streamable
* Vimeo
* Wistia
* Dailymotion
* Loom
* Cloudinary


# Managing media with Cloudinary

Use Cloudinary to manage the media assets you use in your DialogForm content.

[Cloudinary](https://cloudinary.com) lets you create and maintain a searchable, organizable media library. Integrate Cloudinary with DialogForm to conveniently upload and insert your Cloudinary media assets into the content you create.

## What To Do

### Step 1: Set up the Cloudinary integration

1. Create a Cloudinary account if you don't have one already.
2. On <https://admin.dialogform.in> (on the home page), click on your account avatar on the top right, and navigate to 'Integrations' to open up the Integrations page
3. Select the 'Cloudinary' tab in the left panel
4. Enter your Cloudinary cloud name and API key. You will find this information on your Cloudinary 'Dashboard' page (see the screenshot below).
5. Click on the 'Add' button. You have integrated successfully!

<figure><img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FZ12AixErCoWxGK6jFni3%2Fimage.png?alt=media&amp;token=22cab740-a17b-42d6-b7fc-023547c87e17" alt=""><figcaption></figcaption></figure>

### Step 2: Insert a Cloudinary media asset into your content

Once you have integrated Cloudinary, a <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2F1uJt1athVjd7hDR14zXu%2Fcloudinary-logo.jpg?alt=media&amp;token=51162218-185d-4336-9fe4-8121eb02798f" alt="" data-size="line"> (Cloudinary logo) button will appear wherever there is the possibility of inserting media into your content.&#x20;

Specifically, this button will appear when you want to [add images to Markdown](/user-guide/how-to-add-images-to-markdown), and also when you want to [add video to a prompt](/user-guide/how-to-add-video-to-a-prompt).

Click on the button to open up the your media library, click on the thing you want to insert, and click on the 'Insert' button. You can also upload new media to your media library using the 'Upload' button (see the screenshot below).

<figure><img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FzHllwI163aLRrLlHPohx%2Fcloudinary-media-widget.jpg?alt=media&amp;token=32fbab85-0072-4e7c-ae30-1a1b2968890f" alt=""><figcaption></figcaption></figure>


# Branding

Customize colors and set a chat avatar to match your brand.

DialogForm lets you brand your chats at two levels of granularity:

* Account-wide default branding for all your flows and sequences
* Individual flow or sequence branding. This takes precedence over account-wide branding.

## What To Do

### Account-wide branding

In any DialogForm page, click on your account icon on the top right to open up a dropdown menu. Click on the area at the top of the menu, where it displays your name/email address, to open up your account settings popup. Update your brand settings as desired and hit 'Save'.

If you want to revert any setting to its 'system' value, i.e. one that we provided, then simply click on the corresponding orange cross and hit 'Save'.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2Ftfe2k3EUt21UPagvhyHx%2Faccountwide-branding.png?alt=media\&token=b8eb132a-d2b7-4ba0-bd02-789d4709d1ff)

### Branding a single flow or sequence

In any DialogForm flow editor page, click on your account icon on the top right, click on 'Settings', update your brand settings as desired and hit 'Save'.

{% hint style="info" %}
For **sequences**, you will find the 'Settings' menu item on the sequence editor page (the page that lists all the flows in a sequence), rather than on the individual flow editor page.
{% endhint %}

If you want to revert any setting to its account-wide value, then simply click on the corresponding orange cross and hit 'Save'.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FCKQQnzH1ylRW4GMTlnAL%2Fflow-branding.png?alt=media\&token=eed9be2d-6020-436e-aaaa-6358175ae435)


# Customizing pauses between prompts

Give your chats a more realistic feel by customizing the duration of pauses between prompts.

By default, there is a pause of about a second between prompts. DialogForm allows you to customize this at various levels of granularity:

1. Set an account-wide default pause for all your flows and sequences
2. Set a default pause for a flow or sequence. This takes precedence over the account-wide value.
3. Set a pause for a prompt (or a step, in the case of multi-step prompts). This takes precedence over the above two values.

## What To Do

### Set up the preview panel

To be able to experience the pauses in the preview panel, you need to ensure your preview settings are correctly configured. In any DialogForm flow editor page, hover over the three vertical dots <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> at the top right of the preview panel. Make sure the preview settings are as shown in the screenshot below.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2F90mTeJyrIx3L3T6ZKHxT%2Fadd-pause-preview-settings.png?alt=media\&token=c9ba4ee1-82f0-4f58-a2db-1854e5eb3ea6)

Here's an explanation of the preview settings:

* `Auto progress` - When enabled, the preview chat will automatically move forward to the next prompt when no answer is required
* `Quicken default pauses` - When disabled, default pauses are quickened and only prompt-level (and prompt-step-level) pauses are honoured. When enabled, all pauses are honoured.

### Set an account-wide default pause

In any DialogForm page, click on your account icon on the top right to open up a dropdown menu. Click on the area at the top of the menu, where it displays your name/email address, to open up your account settings popup. Set your desired pause duration and hit 'Save'.

If you want to revert to the 'system' value, i.e. the one that we provided, then simply click on the orange cross and hit 'Save'.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FsrFUD3NsSKsTUobhc7U5%2Fadd-accountwide-default-pause.png?alt=media\&token=16820f66-61a7-49bc-b0ad-d45098ee45bf)

### Set a default pause for a flow or sequence

In any DialogForm flow editor page, click on your account icon on the top right, click on 'Settings', set your desired pause duration and hit 'Save'.

{% hint style="info" %}
For **sequences**, you will find the 'Settings' menu item on the sequence editor page (the page that lists all the flows in a sequence), rather than on the individual flow editor page.
{% endhint %}

If you want to revert to your account-wide value, then simply click on the orange cross and hit 'Save'.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FwxP8HBrJy1Rlh8DjPFWA%2Fadd-flowwide-default-pause.png?alt=media\&token=375589f5-1ab7-445c-abb6-d78950f77bf6)

### Set a pause for a prompt

{% hint style="info" %}
Note that this works only for prompts that require no answer from the user, i.e. prompts from which the chat moves on automatically to the next prompt.&#x20;

The arrow in the screenshot below shows you how to recognize a prompt that requires no answer.
{% endhint %}

Open the prompt settings panel by double-clicking on the desired prompt's name (or by hovering over the <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> icon that appears to the right of the prompt name). Then enter your pause value under the 'OTHER SETTINGS' section.

To fall back on the default value for the flow/sequence, simple delete the content of the input. The default value will then show up there as grayed-out text.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2F2RTVUzTJD5K0Ttl7y8EU%2Fadd-prompt-delay.png?alt=media\&token=5ecb2221-4c6d-4e5d-badd-a7cc59ce9eda)

{% hint style="warning" %}
You will need to publish the flow for changes in prompt-level pauses to take effect.
{% endhint %}

### Set a pause for a prompt step in a multi-step prompt

{% hint style="info" %}
The arrow in the screenshot below shows you how to recognize a multi-step prompt.

Note that this works only for steps that require no answer from the user, i.e. steps from which the chat moves on automatically to the next step or prompt.
{% endhint %}

Go to the desired step and hover over the <img src="https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FFOFvG25NDOPMLopRau1H%2Fimage.png?alt=media&amp;token=2961ab60-c3f1-48c6-b800-b51fbb35d353" alt="" data-size="line"> icon that appears on the right-hand side of the step. Then, in the menu that opens up as a result, click on the "hourglass" menu item.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FwpXJCqCeH935YGNiLRB1%2Fadd-prompt-step-pause-v2.png?alt=media\&token=64bb00b6-e93a-4842-856f-1774381c8079)

Clicking on the hourglass menu item will insert an input box below the prompt message, where you can enter a pause value. To remove the pause value, simply delete the contents of the input box.

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FGR2TPyeuU0DlZW5dQL3n%2Fadd-prompt-step-pause2.png?alt=media\&token=83faf573-badd-41dd-a88f-455acae34cc9)

{% hint style="warning" %}
You will need to publish the flow for changes in step-level pauses to take effect.
{% endhint %}


# Using DialogForm with Thinkific

Use your DialogForm content to power your Thinkific lessons. Delight and engage users with DialogForm's conversational-style eLearning.

{% hint style="info" %}

### Integration features

1. Use DialogForm flows as Thinkific lessons
2. Prevent users from skipping DialogForm based lessons&#x20;
3. Email users their score when they complete a DialogForm based lesson
4. Email users when they receive instructor feedback on any part of their lesson
   {% endhint %}

## Add DialogForm to your Thinkific account

1. Sign in to Thinkific
2. Find DialogForm on Thinkific's App Store (or click [here](https://apps.thinkific.com/apps/dialogform)) and click 'Install'
3. After installation, you'll be redirected to DialogForm. Create a DialogForm account if you haven't got one already.
4. You are now ready to start building and embedding DialogForm flows into your courses!

{% hint style="info" %}
If you are new to DialogForm, check out the rest of our [documentation](https://docs.dialogform.in/) to start building flows in minutes!
{% endhint %}

## Embed your flows into Thinkific courses

1. Create a Multimedia lesson within your Thinkific course and configure it to support externally hosted content (see instructions [here](https://support.thinkific.com/hc/en-us/articles/360030739873-Create-a-Multimedia-Lesson#externallyhosted))
2. Copy and paste the share-link of your DialogForm flow into the `URL` field of your multimedia lesson (watch [this video](https://youtu.be/60XGdlySvRk)). While creating the share-link, remember to enter the text '**{{email}}'** (without the quotes) into the `Identifier` textbox on the share-link form.

## Enable Thinkific-specific enhancements

You can set up a few enhancements, such as preventing users from skipping DialogForm lessons, or notifying users by email when certain important events occur in the lesson:

![](https://4118617390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Me8f8ZJ8LPdd-DcwOMh%2Fuploads%2FQyZVtwlmxi8uMuH5L5wd%2Fimage.png?alt=media\&token=f5a2644a-6d53-4008-9145-cd344e66a5ea)

To do so, in any DialogForm flow editor page, click on your account icon on the top right, click on 'Settings' and check/un-check the various enhancements available.

## Remove DialogForm from your Thinkific account

{% hint style="warning" %}
Uninstalling DialogForm **will not** remove the DialogForm based lessons from your courses. Users will continue to be able to see and attempt those lessons. You will have to remove these lessons manually if you so wish.

However, any Thinkific-specific enhancements you have enabled **will** stop working. Re-installing DialogForm will bring back the enhancements just as you had configured them.
{% endhint %}

1. In your Thinkific dashboard, navigate to 'Apps' > 'Installed apps'
2. Find the DialogForm entry, and click on the 'Uninstall' icon to remove the integration between DialogForm and Thinkific


# Using DialogForm as an LTI tool

Use DialogForm as an external tool with LTI 1.3/Advantage compatible Learning Management systems (for example, Moodle, Canvas, Blackboard, D2L and Sakai).

{% hint style="info" %}
This feature is currently under development.
{% endhint %}


# Using DialogForm with other LMSes

Use your DialogForm content to power your online courses. Delight and engage users with DialogForm's conversational-style eLearning.

{% hint style="info" %}
Even if DialogForm does not automatically integrate with your Learning Management System (i.e. it is not Thinkific or not LTI 1.3/Advantage compatible), you can still use it.
{% endhint %}

To integrate DialogForm content into the courses you create on your LMS, you need to be able to convey to DialogForm the identity of the student consuming the content, so that we can save progress and provide you with analytics. This identity does not have to be personally identifiable information (for the sake of privacy). It just needs to be something that is unique to each student within your database.

DialogForm content can be embedded into your courses using an embed code or embed URL. The identity of the student needs to be passed in using this embed code/URL.

## Off-the-shelf LMS

Many LMSes allow third-party content to be embedded using an embed code/URL. If your LMS allows the student identity to be passed in to the code/URL, then just follow their instructions to do so.

## Building a custom LMS?

If you have, or are building your own LMS, and are interesting in having DialogForm integrate with you, we will be delighted to work with you to do so! Please contact us at <hi@dialogform.in>.


# Adding a Webhook for notifications

Get notitifications of events happening in your DialogForm account.

{% hint style="info" %}

### This feature is still under construction

We are working on a set of API endpoints where you will be able to use the notification data sent to your webhook to retrieve complete details of the event that occurred. This will allow you to create your own automations on top of what DialogForm offers out of the box.
{% endhint %}

## Available notifications

### 1. Chat completed

This notification is sent when a user completes a chat.

```
// The following JSON data is sent
// * `identifier` - The user identifier provided in the share link
// * `flowId` - Self explanatory
// * `score` - The user's score, if any
{
  "type": "completed",
  "data": {
    "flowId": number,
    "identifier": string,
    "score": number or null
  }
}
```

### 2. Chat deleted by admin

This notification is sent when a chat is deleted via the admin panel.

```
// The following JSON data is sent
// * `identifier` - The user identifier provided in the share link
// * `flowId` - Self explanatory
{
  "type": "deleted",
  "data": {
    "flowId": number,
    "identifier": string
  }
}
```

### 3. Admin provides some feedback on a user response

This notification is sent when feedback is provided on a user response in a chat history via the admin panel.

```
// The following JSON data is sent
// * `identifier` - The user identifier provided in the share link
// * `flowId` - Self explanatory
// * `promptName` - The particular prompt for which feedback was given
{
  "type": "feedbackUpdated",
  "data": {
    "flowId": number,
    "identifier": string,
    "promptName": string
  }
}
```

## Adding a Webhook

1. On <https://admin.dialogform.in> (on the home page), click on your account avatar on the top right, and navigate to 'Integrations' to open up the Integrations page
2. Select the 'Webhook' tab in the left panel
3. Enter a URL (including the protocol) into the input field. DialogForm will send notifications by making HTTP POST requests to this URL.


