Collect input blocks are used to gather input from the user. They check if the user input matches a known variable. There are 2 possibilities:
In the Add step section of a Collect input block, you will find various options such as Message, Buttons, Carousel, WhatsApp list, and Media.
If you choose not to validate the answer, the information collected through the Collect input block will be considered correct no matter what the customer responds.
To skip validation, you need not to select any from the Check if response matches dropdown. In the Destination variable field, enter the variable name (e.g. name).
Collect input has two types of input recognition:
The general input types are used to check if the user's input follows a desired format.
Date
The Date input parser type will try to parse the response as a date. Sentences like 'next week Monday' are automatically converted to a DD-MM-YYYY date object. Supported formats (also in other supported NLP languages) are:
22-04-2018
22-04
22 apr
22 april 18
twenty two April 2018
yesterday
today
now
last night
tomorrow, tmr
in two weeks
in 3 days
next Monday
next week Friday
last/past Monday
last/past week
within/in 5/five days
Friday/Fri
Location
The location parser will send the user's input to a Google Geocoding API service. When a correct address or location is recognized, the bot automatically create an object that contains all relevant geo-data.
To show the address as a full address (street, street number, zip code and city) you need to add some extra information to the variable: .fullAddress. So in the example above, the bot can display the entire location by using the following variable:{userLocationInformed.fullAddress}.
A bot message containing the following info:
Thank you, shall I send your package to {userLocationInformed.fullAddress}?
Will display the following message to the user:
Thank you, shall I send your package to Oudeleeuwenrui 39, 2000 Antwerpen, Belgium?
Hours
This input type will parse and validate timestamps.
Image
The image format type allows you to check if a user has uploaded an image or other file (such as pdf). Currently, this is only possible in the Facebook Messenger, WhatsApp, Instagram, RCS, MMS, Telegram and Instagram channels. If the bot user uploads a file, the URL to that file will be saved under the variable you save the response to.
If you want to save the attachment from a user no matter where in the flow the user is, you can use the defaultOnFileUpload variable. The URL that links to the attachment will be saved in this variable if the user uploads an attachment at a random point in the conversation.
Language
This input type will parse and validate NLP supported languages.
English: (en-us): 'engels', 'English', 'en', 'anglais'
Dutch (nl-nl): 'nederlands', 'Dutch', 'ned', 'nl', 'vlaams', 'hollands', 'be', 'ned', 'néerlandais', 'belgisch'
French (fr-fr): 'French', 'français', 'frans', 'fr', 'francais'
Chinese (zh-cn): 'Chinese', 'cn', 'zh', 'chinees'
Spanish (es-es): 'Spanish', 'español', 'es', 'spaans'
Italian (it-it): 'Italian', 'italiaans', 'italiano', 'it
German (de-de): 'German', 'duits', 'de', 'deutsch
Japanese (ja-jp): 'Japanese', 'japans', 'jp', '日本の
Brazil Portugese (pt-br): 'Brazil Portugese', 'Portugese', 'portugees', 'braziliaans portugees', 'português'
You can also check if a given user input is identical to your entities. When you choose an entity type in the dropdown Check if response matches.
When user response matches, you can select or create a block to lead end-user to the next block.
When a user gives a response that is not matched (for example, when the bot asks for an email address and the user replies with 'chicken'), the bot needs to let the user know their answer was invalid.
To do so, you can create a message to be displayed for when input validation fails once, and another message for when the input fails 3 times. Additionally, enable no response detection to handle cases when users provide no input. By doing so, the bot ensures a smoother interaction.
First two times and after two times
When the user fails to give valid input 3 times in a row, you have the flexibility to redirect them to a block. For instance, you can guide customers with an error message like "Sorry, I can't seem to understand. Please contact our support team at [tel number]". Alternatively, the bot can also offer to transfer the user to a live agent for further assistance.
With the introduction of no-response detection, your bot gains the capability to handle cases where users don't respond. It allows you to configure which block is triggered if the bot detects a silence, or in other words: when the user does not respond for a certain period or until a specific time.
You can set the amount of time after which the new block will be triggered in the duration field (in minutes or exact time). The duration of silence can range from 1 minute to a maximum of 1440 minutes (24 hours).
Users are able to leave the Collect input block if an intent is recognized. For bots with a very small NLP model, this might trigger a false positive. The 'disable NLP' checkbox allows you to disable the NLP model while in the input validation, which makes sure that whatever the user says gets saved as input.
See also:
[New bot builder] Add Collect input in your flow
[New bot builder] Save a variable under button click