# Elaborators

Elaborators are prompt sequences that aim to elicit structured information from the user.

TIP

Think of it as asking someone to elaborate on a statement.

Elaborators are triggered by Actions which we'll look at a little later.

The name and description of your elaborator should clearly identify its purpose.

# Introductory & Complete message

Since the elaborator could be triggered even unintentionally (by a keyword for example), the introductory message should explain that the user has triggered an elaborator and what the intention of the elaborator is.

The complete message should briefly explain what is going to happen with the information gathered and what happens next.

# Prompts

Prompts are just that, prompts for user input.

# Prompt message

The prompt message simply asks the user a question and should be clear and unambiguous.

TIP

Ask plain questions that require a simple answer, you can always ask more questions to gather more information.

# ID

The ID identifies the answer data and should only consist of lower case letters and underscores. These ID's are used to identify the prompt when using conditions, when using placeholders and will be the property for that data in webhooks (coming soon).

# Type

The types are fairly self explanatory and define what type of information is expected back from the user.

TIP

Select and Yes/No can be used as conditions for other prompts.

# Conditions

You can set one or more conditions for each prompt and therefore your prompt hierarchy can be as simple or complex as needed.

# Elaborated message

You can construct the elaborated message using your own wording and using placeholders for the data.

TIP

You can also use the conditions to conditionally render certain parts of your message.

GroupBot bot

Placeholders are either values or conditions. If you choose the value of the prompt it will render the value in the message. If you choose to use a condition, a conditional block will render.

GroupBot bot

The highlighted text above will only render if the use chose male as their gender. Note how the text is between the conditional tags. For conditional rendering to work make sure your text is between the tags for it ro render conditionally.

{{ @if (<condition>) }}TEXT HERE{{ /if}}

WARNING

It is important not to change the placeholder tag syntax, this will cause an error in your rendering.