ActionBot Question Type Overview

Updated on May 15, 2019 Download PDFDownload as PDF
Download PDF

Brief Overview

A WalkMe ActionBot Conversation can be made up of messages, questions, conditions, and actions.

When you use a question in a Conversation, your Bot will wait to receive an answer from the end-user before moving to the next step in the Conversation. This is generally achieved using natural language processing (“NLP“).

How it Works

There are eight types of questions you can use as part of your Bot’s Conversation. These are as follows:

Text Type Question

  • No NLP is used;
  • Your Bot will consider the user’s whole input to be the exact answer and enter this data into a log;
  • Here is an example of a text type question:
    • The question: “What is your Name?” is the text type question in this Conversation;
    • The answer extracted in this case is “John Doe.”
      • This answer is then used by the Bot in the followup question.

Boolean Type Question

  • Uses NLP;
  • Your Bot will try to extract an affirmative or negative intent from the end-user and then assign a true or false value as the extracted answer;
  • Example of an affirmative intent is “Sure;” the extracted value would be “true”;
  • Example of a “negative” intent is “Nope;” the extracted value would be “false”;
  • Because there are only two possible extracted values, boolean type questions are often used in conditions, since it is easy to branch conversations by the value extracted;
  • Here is an example of a boolean type question:

    • The final question has only two possible values: “true,” if the Bot can move to the following step that’s associated with success, and “false” if the Bot made an error and should move to the following question associated with failure (to request the information again);
    • In this example Conversation, we’ve named the boolean question “Should proceed?” and set a condition called “Can proceed” as the following step in the flow;
    • we’ve then used the Condition builder in the Conversations tab to assign value to the condition based on the value extracted from the previous question (“Should proceed?”):
    • Once the Bot has extracted a value from the end-user’s answer, this value will be used in this condition to branch the Conversation accordingly:

Choice Type Question

  • Doesn’t use NLP. Uses keyword search instead;
  • You can match numerous keywords with each suggestion;
  • End-users may only select one of the suggested values per answer, but can select the value either by clicking on or typing the suggestion itself, or by using any of the associated keywords in their response;
  • The Bot will extract a value in either of the following cases:
    1. When the end-user picks it from among the suggestions; or
    2. If there’s a match between of a keyword the user types and a suggestion.
  • Here’s a behind-the-scenes peek at a choice type question:

    In this example, there are five suggestions (to the left): Education, Vacation, Jury Duty, etc., and each suggestion has one or more keywords (to the right);

    • If the end-user types in any of the keywords, the value extracted will be the matching suggestion.
      • e.g., if the end-user responds to the question with: “I want to study,” or “I got a scholarship,” the Bot will extract the value Education.

Number Type Question

  • Uses NLP;
  • The Bot will try to find a number in the end-user’s answer and use the number as the extracted answer;
  • For example, if the end-user’s answer is “ Five hundred dollars “ the extracted value would be 500;
  • Here’s an example of a number type question:

    • Note that even though the user typed the word “Fifty,” the Bot was able to use NLP to extract the value “50.”

Date Type Question

  • Uses NLP;
  • When creating a date type question, you will be prompted to add your preferred date format (e.g., DD/MM/YYYY, or MM/DD/YYYY);
    • This enables the Bot to use your preferred format when the input could be translated into multiple formats;
    • The Bot will try to find a date from the end-user’s answer and extract the date in the format you specified when configuring the question.
  • The Bot can find a date value in numerous different types of inputs, such as “Tomorrow,” “Next week,” 1.2, and 1-9-1990;
    • You don’t need to instruct the end-user to use a specific format. The Bot’s got you covered!
  • Here’s an example of a date type question:

    • In this case, I’ve configured the date format to YYYY/MM/DD, and that is the way the Bot presented the dates to the end-user.


  • The Bot can also extract a date-time. If the Bot asks: “What date and time is your flight?” and you use the date type question, it will capture both date and time from the end-user’s input;
  • [Advanced level]: You can configure the extracted date to a different format in a Smart Walk-Thru, for example, by adding ${theNameOfTheValue@requestedFormat} instead of MM/DD/YYYY;
  • Examples: Assume we extracted a start date and called it ${startDate} in a Smart Walk-Thru’s Action field. In the Smart Walk-Thru, we can adjust it to the desired format as follows:
    Current Format Requested Format Value to use in the Smart WalkThru
    MM/DD/YYYY (12/03/2018) DD-MMM
    MM/DD/YYYY (12/03/2018)



    MM/DD/YYYY (12/03/2018)




Full list of format options for the date type question

  Token Output
Month M 1 2 … 11 12
Mo 1st 2nd … 11th 12th
MM 01 02 … 11 12
MMM Jan Feb … Nov Dec
MMMM January February … November December
Quarter Q 1 2 3 4
Qo 1st 2nd 3rd 4th
Day of Month D 1 2 … 30 31
Do 1st 2nd … 30th 31st
DD 01 02 … 30 31
Day of Year DDD 1 2 … 364 365
DDDo 1st 2nd … 364th 365th
DDDD 001 002 … 364 365
Day of Week d 0 1 … 5 6
do 0th 1st … 5th 6th
dd Su Mo … Fr Sa
ddd Sun Mon … Fri Sat
dddd Sunday Monday … Friday Saturday
Day of Week (Locale) e 0 1 … 5 6
Day of Week (ISO) E 1 2 … 6 7
Week of Year w 1 2 … 52 53
wo 1st 2nd … 52nd 53rd
ww 01 02 … 52 53
Week of Year (ISO) W 1 2 … 52 53
Wo 1st 2nd … 52nd 53rd
WW 01 02 … 52 53
Year YY 70 71 … 29 30
YYYY 1970 1971 … 2029 2030
Y 1970 1971 … 9999 +10000 +10001
Note: This complies with the ISO 8601 standard for dates past the year 9999
Week Year gg 70 71 … 29 30
gggg 1970 1971 … 2029 2030
Week Year (ISO) GG 70 71 … 29 30
GGGG 1970 1971 … 2029 2030
a am pm
Hour H 0 1 … 22 23
HH 00 01 … 22 23
h 1 2 … 11 12
hh 01 02 … 11 12
k 1 2 … 23 24
kk 01 02 … 23 24
Minute m 0 1 … 58 59
mm 00 01 … 58 59
Second s 0 1 … 58 59
ss 00 01 … 58 59
Fractional Second S 0 1 … 8 9
SS 00 01 … 98 99
SSS 000 001 … 998 999
SSSS … SSSSSSSSS 000[0..] 001[0..] … 998[0..] 999[0..]
Time Zone z or zz EST CST … MST PST
Note: as of 1.6.0, the z/zz format tokens have been deprecated from plain moment objects. Read more about it hereHowever, they do work if you are using a specific time zone with the moment-timezone addon
Z -07:00 -06:00 … +06:00 +07:00
ZZ -0700 -0600 … +0600 +0700
Unix Timestamp X 1360013296
Unix Millisecond Timestamp x 1360013296123

Phone Type Question

  • Uses NLP;
  • The Bot will try to extract anything in the end-user’s answer that could match a phone number (using NLP models).

RegEx Type Question

  • Doesn’t use NLP;
  • This question type allows you to configure any question type you can build using regular expressions;
    • Insert the regular expression into the Pattern field in the Editor.
  • When using this question type you will see the option to configure RegEx flags, which can have any combination of the following values:
    • g –  global match; find all matches rather than stopping after the first match;
    • i – ignore case; if u flag is also enabled, use Unicode case folding;
    • m –  multi-line; treat beginning and end characters (^ and $) as working over multiple lines (i.e., match the beginning or end of each line (delimited by n or r), not only the very beginning or end of the whole input string);
    • u – Unicode; treat pattern as a sequence of Unicode code points;
    • y – sticky; matches only from the index indicated by the lastIndex property of this regular expression in the target string (and does not attempt to match from any later indexes).
  • Here’s an example scenario, solution and regex value for a regex type question:
    • Scenario: You want to build a question that validates that an end-user’s input is a valid email;
    • Solution: use a regex type question to validate the input is a valid email pattern;
    • Regex value:  ^(([^<>()[].,;:s@”]+(.[^<>()[].,;:s@”]+)*)|(“.+”))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$

Choice – Salesforce Type Question

Was this article helpful?

Related Articles