OpenDialog Patterns


Conversation openings are a standard but optional way of starting a conversation.
When someone is in a transactional mode, they may skip common opening turns to jump right into the first topic. Here is an example of a bot in transactional mode:
< user launches bot on retail website >
Bot: How can I help you?
User: When does the store close today?
In this example, the bot jumps straight to offering help, i.e. the transactional need. For contrast, some bots (and people in general) prioritize relational work in openings, operating in a relational mode. Here is an example of a bot in relational mode, taken from the mental health app Woebot:
< user launches bot in the mental health app Woebot >
Bot: Hi, I’m Woebot 👋 What should I call you?
User: Joseph
Bot: I’m excited to get to know you, Joseph!
Bot: While you might not be feeling your best lately…
Bot: I wanted you to know I have the tools to help you feel better. We can work on this together.
Here, the conversation opens with a greeting (“Hi”), a self-identification (“I’m Woebot”), a wave (“👋 “), and a name request (“What should I call you?”). After giving a name (“Joseph”), the bot expresses enthusiasm for building the relationship, empathy for the user’s emotional state, background on the bot’s abilities (“tools to help you feel better”), and an emphasis on the collaborative nature of the work (“We can work on this together”). Woebot is doing conversational work to establish a relationship between the user and the character.
This relationship is central to the mission of Woebot, using mental health tools in the context of a therapeutic relationship to improve the user’s well-being. This conversational work, a conversation opening in relational mode, reflects much of what happens in human-human conversation openings. Identification of the participants in the conversation is common in openings, saying who each person is, including their name, role, affiliation or more. Relational mode is the full conversational experience; transactional mode is an expedited form that skips the relational work to jump straight to the task.
To understand conversation openings then, it’s key to determine if they need to be included at all! If the context suggests a transactional mode, the opening can be skipped. Skipping the opening is a way of establishing transactional mode (p457, Dempsey “Are You a Computer?”). Behaving this way could be seen as rude or as efficient, depending on circumstances. It generally suggests that you don’t expect to see each other again. Such a transactional interaction is a way of avoiding a full conversation.
A conversation partner may respond to a transaction bid by accepting the transactional mode and simply answering the transaction request. On the other hand, you may want to shift the mode to a relational one, redefining the relationship. This can be done by adding in the opening components discussed above. In general, starting with more relational cues leads to longer chats. One use case where a chat participant sought to shift from transactional to relational mode, in order to better serve the conversational goals, is in the context of librarians answering student questions via the library chat service (Dempsey). Dempsey found that librarians often try to shift students from transactional to relational mode for deeper learning opportunities, an assertion of a librarian’s teacher identity. A bot may choose similarly if the goal is deeper connection.
In my experience (see blog for examples), many chatbots do longer openings, including some of these relational mode components. This may sometimes feel like an effort to build a relationship in contexts where people probably just want to keep it transactional.
Transactional vs. relational mode sounds like a binary, but it’s actually more of a continuum. The more relational work you do in an opening, the more you are in relational mode. Do you have greetings, identifications, background and footing, and how-are-you’s? More relational. Do you have a greeting only? Less relational. Do you start with the first topic, the reason-for-the-call? Least relational, i.e. transactional.

User- vs. Bot-Initiated

Conversations could be triggered by either a user action or by the bot itself. If a user launches a web page, they may not be aware there is a bot waiting for them. In this case, the bot may initiate the conversation by launching a chat window. Bot-initiated conversations could also come from notifications or contextual triggers (e.g. “it’s time to do your daily check-in”). In many cases, however, the user will be the one initiating the conversation. In this case, the user could start with relational moves like greetings (“Hi!”), well-wishing, and so on. The user may also jump straight to the transactional need, much like talking to Alexa or Google Assistant to e.g. set an alarm. No need to say hello, just say “Alexa, set an alarm for 6pm”.
If the user starts in relational mode, using greetings and identifications, the bot can match that. If the user starts in transactional mode, e.g. asking “what’s my account number”, the bot can simply complete the transaction, e.g. answering the questions.

User Info: New vs. Returning vs. Frequent (and Beyond)

Conversation openings also vary depending on the history between the user and the bot. A conversation is likely to open differently if it is the first time the user has ever talked to the bot (a new user) vs. if the user has talked to the bot before (a returning user). At a simple level, the conversation opening can make reference to the shared context, e.g. the user’s name, previous activities, user preferences, and more. For example, it can be useful to follow up with the user about a previous interaction, or welcome them back. The contextual intelligence (how long it’s been since they last talked) can help build the relationship and establish the bot’s credibility.
A simple contrast between new and returning users still glosses over a huge amount of variation in how the conversation might open (cf. Maaike Coppens). A returning user that talked to the bot once before has different conversational expectations than a returning user who has been talking to the bot daily for months. The depth of context between bot and user affects the opening, and that depth can grow along a continuum of complexity.
There may be a lot of variation in how much you know about individual users. Some users may be pretty unknown, while you may have a lot of information about others. This user information could come from a long user history (i.e. a returning user), but it also could be supplied via an API, from a separate registration process, from contextual information like geolocation, and more. You may know a lot about a new user because the info is passed along, and you may know little about a returning user because the data isn’t saved! That said, having a user’s name, their preferences, their purchase history, their conversational style, and more can all affect how to open a conversation.

The End of the Opening

The end of the opening occurs when the conversation moves on to the first topic. In telephone conversations, this is called the reason-for-the-call, the time when the participants get down to business. Shifting from preliminaries to the first topic is the marker that the conversation has moved from the opening to the body of the conversation.