In this three-part series, I’ve set out to uncover the main principles behind the CUI.

Now I’ll reveal the secret to writing engaging chatbot dialogue. So dust off your typewriter, brew a bucket of jet-black coffee and put on a writer’s hat.

writer cap

Writing Conversational UI Scripts

Approach it as if you’re writing a play, or even better, a choose-your-own-adventure story. The key difference here is that a play is a cohesive piece of work while chatbot dialogue can be divided into relatively small, independent fragments:

  • Conversation starters


“Greetings, human! I’m Shopbot 2000, your awesome guide to the world of e-commerce. Type /shop to see the categories or simply tell me what you want.”

  • Small talk fragments

“How’re you doin’?”

“Fine, as always. And you?”

“A bit depressed since my girlfriend has left me.”

“That’s awful. Here are some cat GIFs to cheer you up.”

  • Extra options or information

“Did you know you can sign up for the newsletter to keep an eye on our deals? Just enter your email or type /IdontwantyourdealsbecauseImcontentwithbuyingoverpricedstuff”

“Can I just say no?”

  • Objective-related fragments

“You’ve selected the gift cards category.”

“I don’t see ‘I’m so sorry for being such a dork’ cards”

“Sorry we’re out of stock”

  • Conversation finishers

“Thanks for nothing, Shopbot 2000!”

“Always glad to help you! See you soon.”

Write each fragment separately and then map them onto your conversation flows.

Strung together they’ll form countless dialogue paths.

Remember, users can only travel one path at a time. So make sure that each separate conversation has a good flow and makes perfect sense in and of itself.

Before you start writing your script, pick the tools that will allow you to arrange the branching chatbot dialogue trees. You can try Twine, Chat Mapper,, inklewriter or Xmind. Or you could do it the old-school way with lots of paper. Just make sure that your developers actually understand the format!

Now let’s meet our characters.

The protagonist of your play is the user. While you can’t control what he or she will say in each given situation, you can predict it. Without a capable AI behind your bot, you’ll have to teach it lots of alternative phrases.

Start at the sentence level. Brainstorm the different constructions your customers may use in a particular situation. Then proceed to the words. Look up as many synonyms as you can including slang and dialect words.

The final level is teaching your conversational chatbot the common misspellings.

Note: You can use the Normalizer library to transform the British and Canadian spelling into its American variant, decipher popular abbreviations and correct more than 4,000 misspelled words.

The second character in the play is your bot.

Remember, the dialogue in a good play both advances the plot and gives us a glimpse into the characters’ personalities. Likewise, the bot’s dialogue should both move users towards their goals and tell them about your brand.

Here is how to achieve this.

  • Remember your goals

When writing chatbot dialogue you should always keep in mind the goals of your conversational UI.

Armed with your conversational flows, you’ll be able to steer the discourse in the direction you want it to head.

Always try to bring your users back to the topic. Wandering in the dark and scary forest of the convoluted dialogue trees will quickly turn them into big sad trolls.

So, respect your users and their time!


Chatbot dialogue


Weather chatbot

Staying on topic like a champ

  • Sound natural

Talk like a real person, but never pretend to be one!

This mistake is common among the customer service chatbots.

The majority of users prefer a fun conversational style that sounds like talking to an old friend. So unless your bot character is a posh gentleman, use simple grammar and avoid fancy wording. Address your users directly and if possible, use their names.

Katy Perry's bot

Or you can keep the intrigue alive:

Healthcare center chatbot

  • Be consistent

By now you should’ve created a detailed personality guide for your bot. The document has to include the character’s personal info such as age, gender (even Roombas have one), occupation, interests, personality, etc.

Once you’ve created an engaging personality for your bot, you’ll have to stay in character. So remember to be consistent in your style, vocabulary, and tone as nobody enjoys chatting with a bot that seems to have a split personality.

Katy Perry's chatbot


Weird, but consistent Katy Perry’s bot

  • Be concise

Brevity is writer’s best friend. Each extra word is a barrier separating your users from achieving their goals. Every word you can remove without altering the meaning has to go.

The bot’s message shouldn’t be longer than three lines of text on mobile devices (60 to 90 characters).

But if you absolutely have to present your users with a wall of text, separate it into several speech bubbles. In such a way, you’ll emphasize the negative space.

Just like I do with my paragraphs.

Also, remember that a stream of one-word sentences will make your conversational chatbot seem needlessly robotic. So mix them up. Surround the brief remarks with longer sentences will emphasize them. Make them stronger. Punchier.


Facebook bot Mitsuku

This kind of answers may work for website chat bots, but that’s too long if your bot lives in a messenger.


Facebook chatbot Erwin

Just enough to explain the bot’s purpose and give a taste of what’s to come.

  • Expect the unexpected

When we launched our first bot for HipChat (Stride now), we discovered that the majority of users wanted to drive him crazy. They’ve tried everything from playful quips and random questions to insults and gibberish.

In the end, MindkOfficeBot (creative name, right?) simply gave up. Last time we’ve heard of him, he started his own rock band 🙂

The lesson? People will always try to mess with your bot and the constant stream of “I don’t knows” will get old really fast.


chatbot don’t understand your input

Sending users to Wikipedia with the “Read More” button again and again is the same as answering “I don’t understand your input”.


chatbot clever responces

So prepare some clever responses for when users broach the unsupported topics and nudge them back to the bot’s core functionality.

Just remember to show empathy and never insult your users.

  • Mind the context

Linguists often use the term discourse to describe a conversation together with all of its context including the interlocutors’ age, gender, profession, their social standing, the topic of conversation, the place where it happens, the society’s attitude towards the discussed matters, etc.

A conversation between a professor and his student will sound different than a chat between two peers. A politician will behave differently when discussing a $4 billion bribe vs. promising his voters to end rampant corruption.

Although there are fewer variables than in a real conversation, chatbots’ contextual awareness is one of the most difficult things about CUI from the technical point of view.

As writers and designers, we can create flows that make use of the previously acquired information. We can write chatbot scripts that take into account all the available data about our users as well as the conversation’s circumstances (Where?When?Why?)

An old copywriting advice states that you should write for a specific person (even if Mary-Jane Shchlzrwicz exists only in your head), not for a vague target audience.

In my previous article I’ve talked about the importance of user research. With user-centered design canvas, you can create detailed user personas and adjust your writing to better suit them.

Track the users entry point to guess their goals and expectations. Discover whether they’ve visited your bot before and greet returning visitors.

And make sure that your bot has a larger attention span than a goldfish!

Chatbot dialogue

Source: Techcrunch

  • Vary Responses

Add alternative responses to your bot’s lexicon. Remember, nothing shatters an illusion of talking to a person more than getting a row of identical answers.

It’s one thing when your interface greets users with “Hello!”, it’s a whole other if it can also say “How do you do!”, “Greetings, [name]!”, and “Good morning/Good evening” (depending on the time of day).The more answers you can think up for a single input, the more human your bot will appear. Just remember to be consistent with your style!


bot's alternative responses


alternative responses to your bot’s lexicon

That moment when a cat is better than you at spelling.

No matter how many alternative answers you have in store, your bot will at some point repeat itself. You can use such moments to your advantage. When users complain of getting the same lines say something clever:

“Repeating my lines? Nah, just checking if you’re paying attention.”

  • Add the finishing touches

After the conversation is over, don’t waste your chance to re-engage the user.

“It was nice chatting with you. Just text me if you need something!”

Your last message is extremely important as it’s the first thing your users will see when they open the messenger. You can be specific, creative, or inciting, but never boring!

Bonus tip: add the user name to your closing word for a personal touch.

You can engage your users by messaging them proactively. And just like the regular push notifications, the most powerful messages are the ones your customers have opted in for themselves.

higer engagement with push enabled

Suggest to them at some point to subscribe to your bot. Just see to that your messages are actually useful.


Skyscanner finds cheap flights and sends them by subscription

And remember to read the bot’s parts aloud after you’ve completed the script to see if they sound natural (this is especially important for voice apps)!

Wrapping Up

Congratulations, you’ve finished your chatbot script!

Now all you’ve got to do is wait for the developers to do their magic.

So take a day off, order a bunch of mojitos, and lie in the sun until your skin looks like an overdone turkey. By the time you’re out of the hospital, the coding wizards have hopefully brought your conversational chatbot to life.

But remember, creating a fun and engaging CUI is not a one-off task. It’s a long and winding path to perfection. You should improve your bot after you’ve launched it!

Employ analytics, look for the drop-off points, run A/B tests. And if you ever feel lost on your way, you always can contact us directly.

Further reading: how to craft an unforgettable chatbot experience.

  • 6