Contact us
To learn more about Personik opportunities for your team.
How to write a good script for a chatbot
Ekaterina Petoshina
Platform Architect | Personik
Recently we’ve talked about the chatbot capabilities: they can benefit both customers and employees. At the same time, bots are effective only if their scripts are well-written.

What are chatbot scripts?

In order to get the necessary data from the information system, the user needs to perform a certain sequence of actions — this applies to both traditional and conversational interfaces.

Traditional interfaces, like for example graphical, offer the user to interact with the system via graphic elements, such as menus and icons. In conversational interfaces they are replaced by a sequence of messages that the bot sends to the user, and vice versa — a script.

What does one need to write a good chatbot script?

Specialists who create chatbot scripts should have the skills of designing user interfaces as well as a creative approach to writing texts. It is important to put simple, consistent and logical responses into the bot; think through the reactions of the user to different bot cues.
Set a goal
It’s worth starting with analyzing the processes to be automated with a chatbot. The first step is to study the audience which will interact with the bot — this will help you to focus on the right things when you write it.

Next, you need to decide on the type of the script. Chatbot scripts can perform the following tasks:


The bot is loaded with certain content, structured in the form of a menu. The user navigates through the menu and learns something new — for example, information about the company’s mission and internal regulations

Business processes execution

The sequence of steps that needed to be performed within the business process —like onboarding or the vacation approval

Request from the IT system

A set of questions to clarify the request and send it to the IT-system — such as requesting a pay sheet or a uniform

Define the channel through which the user will access the script. It can be a public or corporate messenger, a widget on a website, or a mobile app.

Keep in mind that different communication channels provide different possibilities for implementing the chatbot scripts: for example, it is impossible to store the history of user interaction for more than one session in a website widget. Speaking of messengers, Viber offers a carousel, convenient for presenting the information, and Telegram provides an inline keyboard, useful for surveys.
Create the sequence of steps for your script
The key task of this step is to set a sequence of messages that will be sent to the user and to work out possible reactions to them.

Some useful tips one should keep in mind while working on the sequence of messages:

Users should clearly understand at what stage of the scirpt they are, and where they can go next;
The sequence of steps the user has to take for achieving a result should be as short as possible — reduce the number of additional questions and steps through the menu;
The option of going back to the beginning of the script should be simple and evident.
The user should always have the option to stop the script at any point (for example, they don't need to fill out all the fields of the inquiry before cancelling the request);
When possible, a question should have pre-set options for an answer in the form of hint buttons. For example, if bot needs to request a date, offer the buttons "today", "tomorrow", "in a week" or "other" for manual input, if other options don't fit. This saves the user time and reduces the chance of an error;
Develop the "character" and the "voice" of the bot
The bot’s identity depends on its audience and a company’s brand. Usually users like to interact with a virtual character they can talk to, which improves their engagement. But if you want to develop such a character, it needs to be done both in terms of the style of the messages and the answers in the knowledge base.
For example, the main purpose of the chatbot Verta (the virtual assistant of WERTEKS pharmaceutical company) is to help new employees within the process of adaptation. But thanks to her bright personality, Verta is also integrating into the corporate culture — for example, recently she has starred in the movie about WERTEKS’ production.
WERTEKS' pharmaceutical company virtual assistant
Still, there are some disadvantages: "humanization" of a chatbot generates certain expectations from interacting with it. The user begins to perceive the bot as a person who can answer any of their questions and understand all their emotions. To achieve this level, a deep development of the bot’s knowledge base is required. In most cases it is quite expensive and requires the work of linguists. That is why it is better not to endow the simplest bots with a personality.
Test the bot
Try to look at the bot’s responses from the user’s point of view: don’t overcomplicate them, work through the bot’s lines, think through quick responses and buttons' names. A simple tip: imagine that you are writing the script for a specific person, not for a wide audience — this will help to make the bot as user-friendly as possible. You also can read your script aloud — this way you can detect subtle errors and make the dialogue clear.

Before you launch the bot, you should test it on a focus group that was not involved in its development. This will allow you to find both simple typos and serious flaws.

How to make the bot even better?

Build the feedback mechanism into the bot script itself. For example, you can ask the user if they’ve received the information they needed. It is also useful to gather feedback regularly. Here are some examples of the questions that a bot might ask on a monthly basis:
  • How often do I answer your questions incorrectly?
  • To what extent do my answers meet your expectations?
  • How easy is it to use the necessary services with my help?

Share the article in your favorite network:

Let us know, how we can help!

Platform Architect
Software craftsman
Founder and CEO
Master of Operations