ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
Easily Build a FAQ Spark Bot with IBM Watson
1. Giuliano Iacobelli, Co-founder / CEO
g@stamplay.com
Easily Build a FAQ Spark Bot
with IBM Watson and Stamplay
Cooking time: 30 mins
2. Chat UX is more natural, dynamic and avoid any friction
opening new accounts
The ideal user engagement channel
Messaging platforms aim to change the way brands communicate with consumers
More than 900 million monthly active users only on
Facebook Messenger
In 2015 messaging apps have been the fastest growing In the
global Top 10 of most used apps 6 are messaging apps
No need to download yet another app
3. Ingredients
The bot will be available on Cisco Spark, will use IBM Watson Conversation to handle
natural language and will be implemented using Stamplay.
17. Launch the Watson Conversation tool
From your Bluemix account enter the Conversation service and click Launch Tool
18. Import the dialogue model
Click the icon next to “Create” button and upload the dialogue model
https://app.box.com/s/x4j6fb8036lasosl45blyv9ir9s9gluo
29. Configure the event that starts the flow
We’ll start this flow everytime the bot receives a New Direct Message
30. Select the event that starts the flow
Click on continue when you get to the Account tab, we’ve connected this before
31. Adding a steps to your flow
After each step of your workflow you can define the following action by moving your
mouse hover the + icon
32. Add a Contidion step to filter bot messages
Spark triggers this event also when is the bot itself writing so we filter out its messages
with a condition step that checks for the sender email address
33. Checking if the message is sent by the bot
Click on the first dropdown on the left and select personEmail, this will be the property we
use to recognize if is a bot writing (something@sparkbot.io)
34. If the condition is met stop the flow
To run a branch of our flow only when the condition is met let’s add a step that will be
executed IF TRUE.
35. Adding a Stop step
After clicking IF TRUE, select STOP to add a step that will terminate flow execution.
36. Saving the Stop step
Save the new step without any additional configuration and you’re good to go
37. Retrieve message content
The New Message trigger of Spark only pass an ID of the message received without
content. To read the actual message we add the Get Message action.
38. Passing data from step to step
To use a Message Id from a previous step. Click on the “{}” button to see the steps
available to fetch data from and select New Direct Message.
39. Passing data from step to step
Click on the id attribute of the message JSON representation sent by Spark
40. Passing data from step to step
Stamplay will add a parameter inside the input field and will automatically replace it with
the actual value of the id of the New Direct Message that will trigger this flow
41. Passing the message to Watson
Now that we have the message that has been type by the user we can pass it to Watson,
add a new Action and select IBM Watson Conversation
42. Passing the message to Watson
Select the only action available, Conversation
43. Passing the message to Watson
Fill the parameters by passing the Workspace ID and the text. Workspace Id is available on
the Watson Conversation tool home, text will be passed by the previous step.
44. Getting the Workspace Id
On your account of the Watson Conversation tool you can find the workspace Id
by entering the Workspace details
45. Passing the message to Watson
Select the text attribute from the JSON representation passed by the Get Message action
46. Passing the message to Watson
Stamplay will add a parameter inside the input field and will automatically replace it with
the actual value of the text of the Get Message action
47. Returning the answer to the User
The last step of our flow is to return the answer computed by IBM Watson Conversation.
Add one more action and select Cisco Spark Bot Post Message action
48. Returning the answer to the User
The Room dropdown shows us all the room where the bot is currently available. Click on
Type a custom value to be able to pass here a dynamic value
49. Returning the answer to the User
Once che cursor is blinking, click on the “{}” button to grab a valid Room Id from the New
Direct Message step of this flow
50. Returning the answer to the User
Select the roomId attribute from the JSON representation
51. Returning the answer to the User
Text field will be filled by passing the result returned by IBM Watson Conversation, once
again click the “{}” button to open the dropdown with the previous step of the flow
52. Returning the answer to the User
After selecting IBM Watson Conversation select the text attribute nested under output
53. You’re all set
The final flow should look like this, make sure it’s on by checking the switch