---
title: Conversation script (chat steps)
summary: The script says what the online admin asks a client, in what order, which field each answer is written into, and which rules it keeps. A step with a choice field sends the field's options as channel buttons.
tools: [talemo_get_conversation_script, talemo_set_conversation_script]
related: [conversation-fields, branch-script, script-languages, online-admin-follows-script, field-values]
search: [chatbot flow, bot questions, quick reply buttons]
---

# Conversation script (chat steps)

The script is on the **Script** tab of the **Online admin** page. It consists of
**Steps** and **Rules**. The online admin asks in order, and the client answers
with a button or in their own words.

## A step

- **Question to the client.** It is an instruction to the online admin, which words
  the question itself. The online admin asks in the client's language (see
  [Languages and translations of script texts](script-languages.md)).
- **Write the answer into the field.** One [conversation field](conversation-fields.md)
  or **Don't write it down**.
- **Options — as buttons.** They are the options of the chosen field and a step has
  none of its own. They are changed on the **What we write down** tab. A step
  with a number or short text field, or with no field, shows "No buttons — the
  client answers in their own words".

Steps can be added, removed and moved up or down, and rules can be added and removed.

## Buttons by channel

**How the client sees it** previews the step in each channel:

- Instagram and Messenger show the options as quick replies under the question,
  up to 13 buttons. A button holds at most 20 characters, so a longer option must
  be shortened on the **What we write down** tab.
- WhatsApp shows up to three options as buttons and more than three as a list.
- Where buttons do not fit, the options follow the text as a numbered list. The
  client can answer with the number or with the words.

A pressed button reaches the online admin as the chosen option. The conversation
shows the options that were offered and marks the client's choice. The options of the
first step also feed the quick questions of Instagram and Messenger (see
[Channels and connections](../conversations/channels-and-connections.md)).

## Rules

A rule is a sentence about how the online admin behaves. A rule can end with "Then
hand the chat to a person and stop answering", and then it hands the conversation
over with the reason "the script says so" (see
[Handoff to people](../conversations/handoff-to-people.md)).

## Saving and versions

The script is saved as a whole. A change works from the next reply of the online
admin, in chats that are already going too. Earlier versions are kept, and a version
is identified by its content, so saving the same script twice makes no new version.
Going back to an old script means saving its content again.

If someone saved the script while you were editing, the save is refused. Talemo
shows the script as it is now, and the change is made again on top of it.

## Starting script

The first installation of an industry kit puts a starting set of fields, steps and
handoff rules for the business's industry, written in the first service language. The
owner edits them like anything else, and a later change of industry or language
rewrites nothing. A business that already has a field or a script keeps its own.

## Who can do it

Anyone who sees the online admin can read the script. Changing it, for the business
or for a branch, belongs to a role that covers the whole business. The assistant and
programs use `talemo_get_conversation_script` and `talemo_set_conversation_script`,
and a change can be previewed first.

## Tools and refusals

- `talemo_get_conversation_script` shows the script of the online admin for the whole business or, with `branch_id`, for a branch: the steps it asks in order — each with its question in the first service language, its translations and the field its answer is written into, whose options are the buttons of the step — and the rules it keeps. A branch without a script of its own follows the script of the business (`inherited`). `version` is what `talemo_set_conversation_script` takes as `base_version`.
- `talemo_set_conversation_script` sets the whole script. It takes effect from the next reply of the online admin, in conversations already going too. Without `body` a branch goes back to the script of the business. If the script changed since `base_version`, the call is refused with status 409, code `conversation_script.version_conflict`: read it again and redo the change. A step that asks a field the business does not have is refused with status 422, code `conversation_script.field_missing`. Only a role for the whole business may set it.
- The buttons of a step are the options of its field; a field of a number or text has none. `talemo_send_message` with `step` and `options` sends them with the text.
- While the quick questions of a channel are on, the first step of the script is what every client sees in the salon's own Instagram or Messenger, so the change reaches Meta within a minute. Show the `dry_run` first; the assistant asks the person then.
