Bot Ask

The bot asks and recognizes text as a generic user provided subject.

Starting from IBM RPA 23.0.3, support for Interactive Voice Response (IVR) is removed from this command due to the removal of IVR. For more information, see Removed.

Command availability: IBM RPA SaaS and IBM RPA on premises

Script syntax

IBM RPA's proprietary script language has a syntax similar to other programming languages. The script syntax defines the command's syntax in the script file. You can work with this syntax in IBM RPA Studio's Script mode.

botAsk [--retry(Boolean)] [--attempts(Numeric)] [--retrytext(String)] [--timeoutsub(String)] [--recognitionTimeout(TimeSpan)] [--speechCompleteTimeout(TimeSpan)] [--noInputTimeout(TimeSpan)] [--speechIncompleteTimeout(TimeSpan)] [--confidenceThreshold(Numeric)] [--beep(Boolean)] [--language(Language)] --text(String) [--textformat(String)] [--timeout(TimeSpan)] (String)=value (String)=utterance (Boolean)=timedout (Boolean)=success (String)=botHistoryMessageId

Dependencies

  • You must start a Chatbot or IVR instance by using the Connect to Chatbot (botConnect) command.
  • This command must be in the Connect to Chatbot scope.

Input parameters

The following table displays the list of input parameters available in this command. In the table, you can see the parameter name when working in IBM RPA Studio's Script mode and its Designer mode equivalent label.

Designer mode label Script mode name Required Accepted variable types Description
Retry retry Optional Boolean Enable to allow the bot to ask a new question if there is no answer on the first try.
Attempts attempts Optional Number Number of times the question is asked again.
Alternative texts retrytext Optional Text Alternative question that is asked to the user if there is no answer on the first attempt.
Time out sub timeoutsub Optional Text Subroutine that runs if user response time runs out.
Recognition timeout recognitionTimeout Optional Time Span Timeout to acknowledge the user's response.

🛈 Remember: This parameter is specific for interactive voice response (IVR) communications.
Speech complete timeout speechCompleteTimeout Optional Time Span Maximum time that is allowed without interaction with the bot after its speech.

🛈 Remember: This parameter is specific for interactive voice response (IVR) communications.

Starting from IBM RPA 23.0.3, this parameter is removed.
No input timeout noInputTimeout Optional Time Span Time for the user to start the conversation.

🛈 Remember: This parameter is specific for interactive voice response (IVR) communications.

Starting from IBM RPA 23.0.3, this parameter is removed.
Speech incomplete timeout speechIncompleteTimeout Optional Time Span Maximum amount of time to wait for the user to complete the speech.

🛈 Remember: This parameter is specific for interactive voice response (IVR) communications.

Starting from IBM RPA 23.0.3, this parameter is removed.
Confidence threshold confidenceThreshold Optional Number Numeric expression that indicates the confidence level for recognizing user response.

Confidence rate is in the range 1 - 100. If the obtained value is lower than the specified range, it returns null.

Starting from IBM RPA 23.0.3, this parameter is removed.
Beep beep Optional Boolean Enable to play a beep each time that the bot speaks.

🛈 Remember: This parameter is specific for interactive voice response (IVR) communications.

Starting from IBM RPA 23.0.3, this parameter is removed.
Language language Optional Language Language that is used in bot conversation. Use the Create a Language (createLanguage) command to get the language variable.
Text text Required Text First question that is asked to the user.
Text Format textformat Optional Text, BotTextFormat Specifies the text format to send to the chat, either Plain Text or Markdown (default).
Timeout timeout Optional Time Span, Number, Text Timeout for waiting for user response.

Output parameters

Designer mode label Script mode name Accepted variable types Description
Value value Text Returns the text entered by the user.
Utterance utterance Text Returns the text provided by the user.
Timed out timedout Boolean Returns True if the time has run out, otherwise returns False.
Success success Boolean Returns True if the script runs successfully, otherwise returns False.
History Message botHistoryMessageId Text Identifier for other commands to save their history along with the history of this command.

This field returns the identity value of the saved history if one has been set to the Storage Adapter parameter of the Connect to Chatbot (botConnect) command. To use it, simply add this output to the command specific input parameter of which the history you want to link to this command's history.

Example

The bot asks a question, recognizes a user-entered text, and returns it in a Text variable.

defVar --name botLanguage --type Language
defVar --name waitTime --type Boolean
defVar --name successQuestion --type Boolean
defVar --name phraseObtained --type String
createLanguage --culture "en-US" botLanguage=value
botConnect --type "Chat" --language ${botLanguage} --timeout 00:05:00
    botAsk --beep  --language ${botLanguage} --text "Welcome to IBM. Tell us which sector you want to talk about?" --timeout 00:01:00 phraseObtained=value waitTime=timedout successQuestion=success
botDisconnect
logMessage --message "Achieved: ${successQuestion}\r\nTime: ${waitTime}\r\nValues: ${phraseObtained}" --type "Info"

Limitations

  • If the amount of time specified in the Recognition timeout, No input timeout, Speech complete timeout, Speech incomplete timeout, and Timeout parameter runs out, the interaction is forwarded to the subroutine specified in the Time out sub parameter.

  • If no value is defined for the timeout parameters, the default timeout is 5 seconds. You can change the default timeout by using the Set Timeout (setTimeout) command.