Generic Input Action

This action will hold the conversation and validate user input against any given regular expression. Any input can be validated using this action. The conversation will hold until this user input is considered valid or if the user, when allowed, skips the question.


The action uses the following settings:
Wrong User Input Reply
This is what the bot will say if the control expression is not satisfied. You can specify multiple answers, one for each line
Reply Pick Mode
When using multiple Wrong Input Reply lines, this option controls how replies are chosen.
Max Wrong Answers
The maximum number of wrong inputs the user can send before the question is skipped. Set to 0 (zero) to never give up on wrong inputs.
Control Expression
A simple text or full Regular Expression match string
Target Variable
The runtime variable that will contain the full user input that matched the control expression
Never Skip Question
The question cannot be skipped by user. The input will repeat indefinitely until the control expression is matched or the maximum number of wrong inputs is reached
Intent Skip Question
The user can skip the question if his reply matches a specific intent
Text Skip Question
The user can skip the question if his reply matches a specific text or Regular Expression
Display As Password
Enabling this flag will force the chat text to change to a password box. What the user types will not be visibile in the chat window


This action is halting the conversation. The chatbot is halted at the input point and will not proceed unless the conditions specified in the settings are met.
Text detection can happen in two different ways: using simple text or using a Regular Expression.
  • Simple text The text you enter in Control Expression is directly matched with the user input. For example entering this is awesome will match any sentence containing that exact text. You can use a pipe (|) symbol to match multiple sentences. So to match this is awesome and this is great, you can enter this is awesome|this is great in Control Expression.
  • Regular Expression Xenioo supports standard Regular Expression notation. The input text will be matched against the regular expression specified in Control Expression.
Regardless or the selected method, text detection is always case insensitive.
Simple and Regular Expression mode is automatically detected by Xenioo at runtime, depending on the content of the Control Expression field. Regular Expression mode is automatically triggered by any characters (except pipe) that can be used to build a regular expression.
Reply Pick Mode options will pick a wrong reply (if more than one is specified) in the following way:
The reply will be picked randomly from the list of possible replies
The bot will pick the first reply at the first wrong input, then the second and so on. The bot will keep saying the last one when the end of the lis is reached
Similar to list, except that when the end of the list is reached, the bot will restart from the first answer
If the maximum number of wrong answers is reached the Successful User Input will still be triggered: you should check the contents of your Target Variable to verify if the input was successful or not.
The "Display as Password" flag has no effect on any platform but Web. On any other platform the user will see the typed text in the chat log.


Successful User Input. This action will trigger any child operation as soon as the user input is matching the specified Control Expression.


This action produces the following variables after being triggered:
The number of times the user has failed to match the control expression
True if the maximum number of wrong inputs has been reached. Otherwise empty.


Channel specific availability follows the table below:
Fully Available.
Fully Available.
Fully Available.
Fully Available.
Not Available. Alexa does not allow direct input halting.
Google Assistant
Fully Available.
Fully Available.
Fully Available.
This action can be used only inside interactions and not as child of other actions. Any account can use this action regardless of subscription level.

Further Reading