Trying my hands on facebook messenger chatbot implementation.

The bot is integrated to facebook pages and interacts to user via a series of options and preset carousel templates which the user can select, good examples ICYMI are CNN and Poncho bots on messenger.

We have a scenario where our bot prompts the user to enter some details ,lets say , his year of birth.

The conversation is as follows :

Bot : Welcome Dude,what do you want to read today (horoscope) (news) (recipes)

User : ...selects horoscope...

Bot : Please enter your year of birth


Bot : ??

At this point , IMHO we have two options since the user has entered an invalid input, we validate the user input against the expected input and say

Bot : Err.... that is not a valid year, can you try again?


Bot : Oops, that is something that i dont understand . You could rather try any of these (horoscope) (news) (recipes)

Which would be more apt for the given scenario in the conversational thread?

First option would hold the user in place till he enters the proper year . Which i feel i kind of detrimental in case he wants to break off voluntarily.

Choosing the second could break the thread and make the user start all over again , which could cause some annoyance.

Question -

  • Should the bot wait on the user till the user enters a expected input ?

  • Or, should the bot just acknowledge the wrong input and show user other options?

Awaiting your suggestions !

2 Answers 2


Don't pretend this isn't a bot answering. You need the user's answer to deliver the service. You need to give an answer that doesn't make them feel stupid. You can make it humorous: "Hey, I'm only a robot, I need things simple. I really need the year you were born." or "I need your help to get this right. Can you give me the year you were born, something like "1992"?"

Then have a time out. If nothing new has been typed, say something like "Maybe you've decided you'd like something else? You can still get a [horoscope] or you could look at [news] or [recipes]."

If the user continues to type in nonsense, they are either trolling or have problems, and at some point you can either say, "Whoa, pal, I'm in overload here. Why don't I take you back to the home page?" or just stop responding.

  • yup, +1 for Don't pretend this isn't a bot answering. But the question was in case of an erraneous input , should the bot wait til lthe user enters a correct input or acknowlege the wrong input and show the list of other options that the user can peruse ?
    – semuzaboi
    Commented Sep 2, 2016 at 10:34

I'd give the user both options to avoid they'll get stuck in the process or get annoyed restarting over and over. Including an example of the expected answer (like someone already mentioned) is always a good idea.


"That doesn't seem like a valid year. Type a year in numbers like '1990' to see your horoscope or change to (news) (recipes)."

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.