![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh75gs8M_jlKXUuJTPkC09Gpp2L8YF-TRCjmVKjjB_Pc74hGD4K9jvPJfbmPCFzSXA2P1U7kS12q2LotMK7QrGVLaPCaSLek20VcOMd6B7r_pXYryk40xw2g-ej0tNwnlWGRxOi7Eleknw/s400/conversation.png)
As you might remember,
I have been using the IBM Watson Conversation service and DB2. My goal was to write a database-driven Slackbot, a Slack app that serves as chat interface to data stored in Db2. I will write more about that entire Slackbot soon, but today I wanted to share some chatbot tricks I learned. How to gather input data, perform checks and clean up the processing environment.
Slots
With my chatbot interface to Db2 I want to both query the database and insert new records. Thus, I need to collect input data of various kind.
The Conversation service has a neat feature named input slots that simplifies that process. Within a dialog node (a logical step within the chat flow) I can specify a list of items the Conversation service should check for. I can tell in which variable to save that input and what question to ask if that data was not provided yet. Optional slots, i.e., optional data, can be enabled.