Help Center
Welcome to the WalkMe Help Center

Please login in order to continue:

Work flows better with WalkMe
Work flows better with WalkMe.

ActionBot Conversation Steps

Last Updated September 10, 2024

Brief Overview

This article is a comprehensive guide on how to effectively utilize all step types when constructing an ActionBot conversation.

An ActionBot conversation usually includes a series of steps that are designed to guide the user through a particular process. While it can consist of just one step, typically it involves multiple steps that work together to create a seamless flow.

The steps are categorized into three main types:

  1. Conversation steps: These steps consist of three main types: message, question, and condition steps. Together, these steps enable the ActionBot to guide users through a series of interactions to complete a task or answer a question
  2. WalkMe steps: These steps provide a seamless way for users to trigger WalkMe items while in conversation with the bot. This allows for automation, redirection, or access to additional resources
  3. Cross-system steps: These steps use end-user input to automate tasks and perform actions, allowing for instant background completion without leaving the bot interface

By the end of this article, you will have a thorough understanding of each step type and how to implement them in your ActionBot Conversation.

How To Create an ActionBot Conversation

Conversation Steps

Message step

Messages are written texts that the bot can display to your users during a conversation. These messages serve various purposes, such as providing links, explanations, or answers to questions that may be helpful to your users.

Best Practices

  • Confirm conversation start: We recommend starting the conversation with an initial message that confirms to the user that the bot's selected conversation is underway
  • End message automation: If automation is being utilized, we recommend to confirming the user input and informing them that automation will commence

Message name

Enter a name for your message in the Message name field. The message name will only appear internally in the conversation diagram.

Message text

Type your message that will appear to users.

Message Enhancements

  • Mentions: Use mentions to address specific attributes in your message text
  • Open an email: Have ActionBot send an email with a specific email your provide using malito syntax. Users can click on the link in the bot message that will lead them to create a new email. Follow these steps:
    1. In the Message Text, highlight the text you would like to the link the email to
    2. Click the link icon
    3. Insert the following syntax in the URL field - mailto:info@example.com
    4. Click Save

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing the message.

Question step

A question is written text that the bot can display to your users and requires the bot to wait for the user's response before moving on to the next step in the conversation. These steps typically utilize natural language processing (NLP) to understand and interpret the user's answer.

Best Practices

Clear Question Phrasing: To improve clarity for your users, it's recommended to phrase your question in a way that indicates the bot is expecting their input.

The Question step has three tabs:

  1. Settings
  2. Suggestions
  3. Answer validations

Settings

Question name

Enter a name for your question in the Question name field. The question name will only appear internally in the conversation diagram.

Question Type

A question type refers to the format in which a question is asked to elicit a specific type of response.

  • Each question type comes with built-in validations to ensure accurate responses

To select the appropriate question type, consider the desired answer format and choose from the following types below.

Question text

Type your question that will appear to users.

  • You can use Bold, Italic, Underline, or connect a link as part of the message in order to emphasize information or make it clearer to your users
  • You can separate lines and it will be reflected to the user

Error message

Type your message that appears to users when the bot couldn't extract an answer.

Best Practice

It is recommended to use meaningful error messages that would help your users to correct their response or better understand what is the expected answer.

Example: When choosing question type= number, the bot will try to extract a number form the users answer.

If the end user will answer "I go to the park to play" - the bot will not be able to extract a number from this answer and present the error message. If the user would write "there are three hundred sixty five days in a year" it will extract 365 as the user's answer and will not show the error message.

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing the question.

Question Types

1. Text

Prompts the user to enter a response in a typed answer.

  • It allows for open-ended responses and enables users to provide more information
  • No NLP is used
  • The bot will record the user's complete input and store it in a log
  • The bot can extract the user's input and use it in a follow up question
Examples

  • "What is your name?"
  • "What is your email address?"
  • "Can you please describe the issue you are experiencing?"

2. Boolean

Prompts the user for a "Yes" or "No" answer.

  • The boolean question type allows for clear and efficient branching of the conversation based on the answer provided
  • The user can respond with open text that conveys a “positive” or “negative” intent and/or you can set suggested answers for your user to choose from (see Suggestions below)
  • The bot uses NLP to interpret whether the user's response is “positive” or “negative”. It then assigns a “true” / “false” value as the extracted answer
    • Example for a "positive" intent is "Sure" → Extracted value would be "true"
    • Examples for “negative” intent is "Nope" → Extracted value would be "false"
  • For Boolean question types, you'll have to set an answer validation (see Answer validations below)
Examples

  • "Do you want to continue with the purchase?"
  • "Do you agree to our terms and conditions?"
  • “Can I proceed?”

3. Number

Prompts the user to enter a numerical answer.

  • Used to ask for a numerical input from the user, such as a quantity or a price
  • Uses NLP
  • If the user's input is “Five hundred dollar“ the extracted value would be 500
  • When you select Number as your question type, a new field will open asking you to select a decimal separator
Examples

  • “How many tickets do you want to purchase?"
  • "What is your budget for this project?"
  • “Pick a number between 1 and 50”

4. RegEx (regular expression)

Prompts the user to input any type of response. Then, with the assistance of RegEx fields, the bot will verify the accuracy of the response provided before continuing.

  • This feature is beneficial for ensuring that the user inputs details correctly
  • Regex is especially useful inputs that follow a consistent format even with minor variations, such as emails, phone numbers, flight numbers
  • No NLP is used
  • When you select RegEx as the question type, two new fields will open:
    • Pattern: Enter the RegEx expression in the patten field
    • Flags: Regex flags are special characters used to modify the regex pattern. Select which flags you'd like to added to your pattern:
      • g (global match): finds all matches rather than stopping after the first match
      • i (ignore case): if u flag is also enabled, use unicode case folding
      • m (multiline): treats 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): treats the pattern as a sequence of unicode code points
      • y (sticky): matches only from the index indicated by the last index property of this regular expression in the target string (and does not attempt to match from any later indexes)
Enabled feature

This is an enabled feature. Please reach out to your Customer Success Manager or WalkMe contact to request access.
.

Example

Confirming Email

  • Use case: Build a question that validates that the user's input is a valid email
  • Solution: Using regex will allow you to validate that the input is with an email patten. For example, it will check if the user forgot the “@” or “.com”/”.net” … etc
  • Pattern: ^(([^<>()\[\]\\.,;:\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,}))$

5. Phone

Prompts the user to enter a phone number.

  • The bot use NLP to identify and extract any user response that resembles a phone number
6. Email

Prompts the user to enter an email.

  • The bot use NLP to identify and extract any user response that resembles an email
7. Date

Prompts the user to enter a date/day.

  • When you select Date as your question type, a new field will open asking you to select a Format
    • The bot uses NLP to extract a date from the user's response and then will respond with the date in the same format as defined as the Format
    • The date can vary between different input types such as "Tomorrow," "Next week," and 1.2, and or 1-9-1990
    • Users Locale Format: The computer's date format using user locale
    • Custom Date Format: A custom format set by the builder
  • When you select Date as your question type, a new toggle will appear - Display date picker
    • The bot will display a list of date options for the user to choose from
    • You can create suggestions in the Suggestions tab below
Accepted Custom Date Formats

Tips

  • The ActionBot can also extract and return date+time for questions like "What date and time is your flight?"
  • [Advance level] You can configure the extracted date to a different format in the Smart Walk-Thru (for example, instead of MM/DD/YYYY by adding ${theNameOfTheVale@requestedFormat}
    • Examples: For this example, we extracted a start date and called it ${startDate} in the Action. In the Smart Walk-Thru, we can adjust it to the desired format as follows:

Limitations

  • Custom formats
    • When using a custom format, it is highly recommended to include a year. In some cases, not including a year may result in errors
    • Due to the NLP date parsing, there is some risk with using custom formats. It's crucial to thoroughly test custom format questions to ensure the desired output is correct
  • Form Mode
    • Date type questions within Form Mode require the use of the Date Picker

Example

  • “What is your vacation start date?”
  • “What is your vacation end date?”

In the final message of this conversation example, you can see the extracted values from the start and end date of the vacation.

  • The Format selected was YYYY-MM-dd

8. Choice

Prompts the user to respond with only specific options. The options are pre-determined by creating Suggestions (see below) that are are the only correct user responses.

  • If a user types their response, the bot will use keywords from the Suggestions to validate that it matches the one of the suggestions
Example

  • Question text: “What type of time-off are you taking?”
  • Scenario: The HR system has limited form options, but users can use their own language. A choice type question allows users to choose an option or enter their own language. If a user says "I want to take a holiday," it will match the "Vacation" suggestion and set it as the value.

Suggestions

Depending on your question type, you may was to present your user with a list of pre-built suggested answers for quick reply. These suggestions will automatically be displayed to your users following a question.

  • You can enter as many suggestions as you like
  • Up to 4 suggestions will be visible at a time
    • Users can scroll to see more or type to filter the suggestions

How to use

  1. Click + Add new suggestion
  2. You can type your input or click Variable to select a specific value
  3. Click + Add new suggestion to continue adding more

Tips

  • Most users tend to choose a suggestion rather than type an answer to the bot
  • Drag and drop the suggestions to reorder them
  • During the bot building process, you can customize the layout of the suggestions in the Design tab

Split Conversation by suggestions: Once you've added at least two suggestions, you can enable this toggle to branch the conversation based on the suggestions

  • This will limit the conversation to accept suggestions only, user will not be able to type an answers for this question

Accept suggestions only: Choosing this option will disable your users' ability to type an answer to the Bot and they will only be allowed to choose from the list of suggestions in order to reply to the Bot's question.

Suggest Live-Chat when a user fails to answer this question: If the user was unable to answer the question, enabling this option will give the users an option to open a Live-Chat to that connects with your customer support to provide real-time assistance.

Live chat has to be enabled in the editor for this option to be available. 

How To Connect ActionBot to a Live Chat Integration

Answer Validations

Adding validations helps ensure that the user doesn't enter incorrect information that might cause issues with an automation process, requiring correction later on.

Validations uses a condition builder to define the rules that data must meet to be considered valid.

  • If all the validations have passed (the conditions are met) it will proceed to the next step
  • If at least one validation fails (one of the conditions didn't met) it will present an error message assigned to the validation and the bot will wait for a different answer from the user

How to use

  1. Enter a Validation name
    • The name will only appear internally
  2. Select a Comparison Type
    • Comparison Types are all the different logical rules you can use to check an answer
  3. Enter a value
    • You can type a value or click Variable to select a specific value
  4. Click + Add new rule to add additional conditions
  5. Once you've added a new rule, you must select an Operator
    • AND: The user's answer must contain both values
    • OR: The user's answer must contain at least one of the values
  6. Enter an Error Message
    • If the validation didn't meet the conditions, this error message will be displayed to the user
    • When writing your message, keep in mind that it should help your user to correct their answer or better understand what is expected
  7. Click Save Validation
Example

Question type: Number

Question text: "How many days there are in a year?"

We want to validate that the right answer is 365 and if it was another number to ask the user to try again

  • Comparison type: Equals to
  • Value: 365

Scenario 1: The user writes "there are three hundred sixty five days in a year" → The bot will extract 365 as the user's answer. It will now go over to the validation to check the value (365)

  • Since 365 = 365 → the validation will pass and the user will proceed to the next step

Scenario 2: The user writes "there are 362 days" → The bot will extract 362 as the user's answer. It will now go over to the validation to check the extract value (362) equals to 365

  • Since 365 does not equal 365 → the validation will NOT pass and the user will see the error message associated with the validation

Condition Step

A condition step splits the conversation based on the user's response to a question or a predefined variable. It will direct the conversation to one of two branches according to a condition built:

  1. Success: If the user's response followed condition rules, they will proceed to the next step in this Success branch
  2. Failed: If the user's response did not follow condition rules, they will proceed to the next step in the Failed branch

A condition step is used after a question step.

Condition name

Enter a name for your condition in the Condition name field. The condition name will only appear internally in the conversation diagram.

How to use

Using the Condition Builder, create rules to branch the conversation:

  1. Click Add new rule
  2. Select a Variable
  3. Select a Comparison Type
  4. Enter a Value
    1. You can type a value or click Variable to select a specific value

Note

Variables and Values will appear as dropdowns to select from according to information put in a Question Step:

  • Variables: question texts
  • Values: suggestions from a Question Step

Condition Logic Example

Question type: Boolean

Question text: "Was my joke funny?"

The bot is expecting a response from the user that is either affirmative or negative. The chatbot will then extract a corresponding "true" or "false" answer, which we want to split appropriately.

You'll need to make two rules for this:

Rule 1:

Variable: "Was my joke funny?"

Comparison Type: Equals to

Value: True

The user writes "Yeah" → The bot will extract true as the user's answer.

  • Since true = true → the condition will pass and the user will proceed to the Success branch

Rule 2:

Variable: "Was my joke funny?"

Comparison Type: Does not equal to

Value: True

The user writes "Nope" → The bot will extract false as the user's answer.

  • Since false does not equal true → the condition will not pass and the user will proceed to the Fail branch

WalkMe Steps

Play Smart Walk-Thru

The Play Smart Walk-Thru step can be used to automate or guide the user through a process, redirect the user to a different location, or trigger an alternative resource for the user.

Settings

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Select Smart Walk-Thru

Select a Smart Walk-Thru from the dropdown that you'd like to play for users.

Close ActionBot

If the playing the Smart Walk-Thru is the last step in your conversation, you can enable this toggle to automatically close the bot.

Pause until action complete

If you'd like to wait until the user completes the Smart Walk-Thru to continue the Conversation, you can enable this toggle to pause the conversation until the action is complete.

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

Data Mapping

Conversation to Smart Walk-Thru mapping is used to automatically transfer data from the conversation to the Smart Walk-Thru, which helps to automate processes for users.

Data is mapped by selecting data from questions in the conversation that you've created. By selecting data and defining variables, the bot will extract the data to use in the SWT.

How to use

  1. Select data from the Data dropdown
  2. Enter a variable name in the Name as field for the data
  3. Click + Add line to include more data to map
Note

  • Variable names should be in this format: ${nameOfVariable}
  • Variable names in a conversation must be unique to avoid overwriting

Play Survey

The Play Survey step can play a WalkMe Survey and can automate the process of collecting feedback.

Settings

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Select Survey

Select a Survey from the dropdown that you'd like to play for users

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

Data mapping

Conversation to Survey mapping is used to automatically transfer data from the conversation to the Survey, which helps to automate the processes for users.

Data is mapped by selecting data from questions in the conversation that you've created. By selecting data and defining variables, the bot will extract the data to use in the Survey.

How to use

  1. Select data from the Data dropdown
  2. Enter a variable name in the Name as field for the data
  3. Click + Add line to include more data to map
Note

  • Variable names should be in this format: ${nameOfVariable}
  • Variable names in a conversation must be unique to avoid overwriting

Play ShoutOut

The Play Survey step can play a WalkMe ShoutOut and automate information in the ShoutOut.

Settings

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Select ShoutOut

Select a ShoutOut from the dropdown that you'd like to play for users.

Close ActionBot

If the playing the ShoutOut is the last step in your conversation, you can enable this toggle to automatically close the bot.

Pause until action complete

If you'd like to wait until the user performs a final action on the ShoutOut to continue the Conversation, you can enable this toggle to pause the conversation until the action is complete.

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

Data mapping

Conversation to ShoutOut mapping is used to automatically transfer data from the conversation to the ShoutOut, which helps to automate the processes for users.

Data is mapped by selecting data from questions in the conversation that you've created. By selecting data and defining variables, the bot will extract the data to use in the ShoutOut.

How to use

  1. Select data from the Data dropdown
  2. Enter a variable name in the Name as field for the data
  3. Click + Add line to include more data to map
Note

  • Variable names should be in this format: ${nameOfVariable}
  • Variable names in a conversation must be unique to avoid overwriting

Play Resource

The Play Resource step can play a WalkMe Resource to redirect you and automate processes.

Settings

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Select Resource

Select a Resource from the dropdown that you'd like to play for users

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

Data mapping

Conversation to Resource mapping is used to automatically transfer data from the conversation to the Resource, which helps to automate the processes for users.

Data is mapped by selecting data from questions in the conversation that you've created. By selecting data and defining variables, the bot will extract the data to use in the Resource.

How to use

  1. Select data from the Data dropdown
  2. Enter a variable name in the Name as field for the data
  3. Click + Add line to include more data to map
Note

  • Variable names should be in this format: ${nameOfVariable}
  • Variable names in a conversation must be unique to avoid overwriting

Open Live Chat

The Open Live Chat step will connect your users with your live support to provide real-time assistance. Live chat has to be enabled in the editor for this option to be available.

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

How To Connect ActionBot to a Live Chat Integration

Open Menu

The Open Menu step will open WalkMe Enhanced Menu, which is a great way for users to connect with many resources and features all in one place.

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

Start New Conversation

The Start New Conversation step will start a different conversation, allowing users to easily navigate through different topics without having to exit the bot.

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Select a new conversation

Select a conversation from the dropdown that you'd like to play for users

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

Cross-System Steps

Call Connection

The Call Connections step can call a predefined external API during a conversation. When calling an API ,the bot is able to send data to the API and to get data in the response.

The API could be used to send information to an external API (e.g. open an IT ticket), receive information from an external API (e.g. get a ticket number) or both.

Call Connection destinations are created on the Connections page in the console.

Conversations List in ActionBot Console

Settings

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Select call connection destination

Select a destination from the dropdown.

Close ActionBot

If the Call Connection is the last step in your conversation, you can enable this toggle to automatically close the bot.

Stop Conversation upon failure

If the webhook API has a problem, turning on this toggle will stop the conversation.

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

Request Data Mapping

Data transfer from Conversation to Call Connection is used to automatically transfer data from the conversation to the destination.

Data is mapped by selecting data from questions in the conversation that you've created. By selecting data and defining variables, the bot will extract the data to use in the destination.

Make sure the variable names are the same across systems.

How to use

  1. Select data from the Data dropdown
  2. Enter a variable name in the Name as field for the data
  3. Click + Add line to include more data to map
Note

  • Click the Raw button to define a more complex data structure that will be sent to the Webhook Destination
  • Variable names should be in this format: ${nameOfVariable}

Response Data Mapping

Data transfer from Call Connection to Conversation is used to automatically transfer data from the destination to the conversation.

To transfer the data from the API response to the conversation, you'll need define how to extract data from the JSON file received by the api and assign it to new variables. It is important that proper path is defined so that the correct data will be extracted and assigned to the variable.

How to use

  1. Enter a variable name in the Name field for the data
    • The variable name you choose will allow you to identify and use the variable later in the Conversation
  2. Select a data type for the variable in the Type dropdown
  3. Enter a Path
    • Defines which data should be extracted from the response
  4. Enter a Default Value
    • Defines which value should be used in case the parsing path does not contain a valid data
  5. Enter an Error Value
    • Defines which value should be used in case the the call returns an error
  6. Click Add new field to include more variables to map

Web Integration

The Web Integration step enables a bot conversation's ending-action to connect to a separate Editor System to collect conversation parameters and then plays an automated WalkMe Item when redirected to a Web application.

ActionBot: Action Type – Web Integration

Limitations

  • The end-user must be logged into the Web application in order for the integration to succeed in playing the WalkMe item
  • Failure to be logged in to the Web application will prevent the WalkMe item from playing
  • Required: Multi System Account (MSA)
  • Editor system(s) are required to be contained within the same MSA account
  • The conversation and WalkMe item must be published to the same environments (Production, Test) to succeed
  • The Web Editor's Snippet / Extension must be be deployed to the Web page upon which the WalkMe item will play

Settings

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Select Web System

Select a Web System from the dropdown.

Destination URL

Enter the URL the Bot will navigate to when the user selects this action.

Permalink

Enter the permalink that determines which WalkMe item to play after the page redirects.

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

Data Mapping

Conversation to Web Integration mapping is used to automatically transfer data from the conversation to the destination, which helps to automate the processes for users.

Data is mapped by selecting data from questions in the conversation that you've created. By selecting data and defining variables, the bot will extract the data to use in the Resource.

How to use

  1. Select data from the Data dropdown
  2. Enter a variable name in the Name as field for the data
  3. Click + Add line to include more data to map
Note

  • Make sure the variable names are the same across systems
  • Variable names should be in this format: ${nameOfVariable}

Store Data

The Web Integration step enables the bot to collect and store data on another system.

Settings

Action name

Enter a name for your action in the Action name field. The action name will only appear internally in the conversation diagram.

Select Web System

Select a Web System from the dropdown.

Delay message appearance

Adjust the amount of time that your conversation will be paused before playing this step.

Data Mapping

Conversation to Web Integration mapping is used to automatically transfer data from the conversation to the destination, which helps to automate the processes for users.

Data is mapped by selecting data from questions in the conversation that you've created. By selecting data and defining variables, the bot will extract the data to use in the Resource.

How to use

  1. Select data from the Data dropdown
  2. Enter a variable name in the Name as field for the data
  3. Click + Add line to include more data to map
Note

  • Make sure the variable names are the same across systems
  • Variable names should be in this format: ${nameOfVariable}

Technical Notes

  • ActionBot flow automations store the original value and send it via API. If the API requires translated values, the automation will not work. But in most cases, the API receives the original values rather than translated ones.

Was this article helpful?

Thanks for your feedback!

Be part of something bigger.

Engage with peers, ask questions, share ideas

Ask the Community
×