I'm part of a team that is building a messenger bot as another delivery method of data we're currently sending via email.

The goal is to ship an MVP in a couple of weeks and validate the concept/iterate on it through analytics.

I'm struggling with figuring out how to map out either use cases, user stories, and the conversation flow - or all of the above.

I've ruled out user stories for now since we don't have enough user research done to really know what a user would want to do with this, we'll be validating that after we launch.

So I'm left with use cases and conversation flow. What's throwing me for a loop is the fact that to my mind there are only 2 use cases - 1) successful sequence of steps through the system and 2) error flows - is that the way use cases usually manifest?

The other task, mapping conversation flow, seems like it could have infinite branches - user says x, bot responds with y. I'm just confused altogether :(

  • Bot is an agent in some (narrow) field, right? So, probably you need to listen some keywords, and if there aren't any in user's request, just return him/she into the field. It could be visualized either graphically, or just written as a text as a set of rules. Commented Mar 2, 2017 at 18:25
  • I am designing a ChatBox too and stumbled upon this yesterday. I am hopeful you'll find it helpful. chatbotsmagazine.com/…
    – Koumtti
    Commented Mar 2, 2017 at 19:51
  • omg. Thank you! I wish I'd seen this earlier. I found that site, but not that article. I ended up doing a combination of user stories, and mapping out the conversation flow in Sketch using a template I downloaded here: arctouch.com/bot-design-ux-template
    – Phoebe
    Commented Mar 2, 2017 at 22:41
  • @Phoebe after reading the article, I don't find there to be much difference between mapping out chatbot conversation flows to normal interface user flows. Can you comment on the differences that you see?
    – Michael Lai
    Commented Mar 2, 2017 at 23:17

2 Answers 2


You don't need to do user research to write user stories. The "user" in the User story can be a human or the system, and is usually written in the following format:

  • As a system
  • I want to [perform some task]
  • To achieve [some goal]

You can write user stories for non-functional requirements too. The following link gives you some helpful tips for writing good user stories:


Keep your Stories Simple and Concise

Write your stories so that they are easy to understand. Keep them simple and concise. Avoid confusing and ambiguous terms, and use active voice. Focus on what’s important, and leave out the rest.

The template below puts the user or customer modelled as a persona into the story and makes its benefit explicit. It is based on by Rachel Davies’ popular template, but I have replaced user role with persona name to connect the story with the relevant persona.

  • As a [persona]
  • I want [what?]
  • So that [why?]

User Stories are used in the Agile development process but should always be written in plain language so there is no ambiguity. You typically define constraints and acceptance criteria to accompany the user story.


People often refer to chatbots as a type of 'conversational' interface, and you can theoretically treat it as such when trying to map out the user flow, except that you need to understand the way a user input will be more in natural language and therefore it is the logic of the chatbot's response that you need to map out (in response to different types of user input scenarios).

That being said, what you could do is create a high level logic of the chatbot's conversation with the user, and then at specific points of the flow use actual examples to illustrate this. Alternatively, if the logic isn't too complex, it is probably easier to use a storyboard type of format where you illustrate the typical scenario, and then annotate with the logic.

I don't see how this needs to be very different from mapping out interactions in other types of interfaces, except that it is limited to the chatbot element and that the input and output needs to be adjusted for the type of chatbot interactions you have designed.

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.