Resources for the "Putting the user on hold in chatbot" tutorial

Get the complete script developed in the "Putting the user on hold in chatbot" tutorial.

Before you begin

To run the script, you need:

  • Use the Script tab in IBM RPA Studio

Procedure

Copy and paste the script in the IBM RPA Studio:

defVar --name cultureEnUS --type Language
defVar --name userName --type String
defVar --name userResponse --type String
defVar --name urlFound --type Boolean
defVar --name nameInstance --type String --value "browser-instance"
defVar --name titleSite --type String
createLanguage --culture "en-US" cultureEnUS=value
botConnect --type "Chat" --language ${cultureEnUS} --timeout "00:05:00"
	botAskName --text "Hello, my name is Sofia, and I will be your virtual assistant. First, what is your name?" --timeout "00:02:00" userName=first
	botAsk --beep  --text "${userName}, please enter a valid URL for the site you want to browse in." --timeout "00:02:00" userResponse=value
	while --left "${urlFound}" --operator "Is_True" --negate
		isMatch --text "${userResponse}" --regexPattern "^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$" --regexOptions "IgnoreCase" urlFound=value
		if --left "${urlFound}" --operator "Is_True" --negate
			botAsk --text "${userName}, we did not find the URL entered. Could you re-enter a valid URL, please?" --timeout "00:02:00" userResponse=value
		endIf
	endWhile
	botStartOnHold --message "Wait until navigation is complete."
		webStart --name "${nameInstance}" --type "Chrome"
		webNavigate --url "${userResponse}"
		webGet --selector "CssSelector" --css "head > title" titleSite=value
		webClose --name "${nameInstance}"
	botStopOnHold
	botSay --text "${userName}, the site name is \'${titleSite}.\' Thank you for contacting us, see you soon!"
	delay --timeout "00:00:05"
botDisconnect