Test the bot with rehearsals and replay
A rehearsal is a test conversation where you play the customer. You can also answer as the team or an Expert. It uses your business’s bot and knowledge, but omotto records its customer, team and Expert messages inside the rehearsal instead of sending them.
How it works
Section titled “How it works”Before your business first turns on customer replies, new rehearsals start in Dry-run. After that first launch, the form starts with Real writes selected. Check Writes before starting. With Real, actions such as bookings, orders, refunds and discounts can really happen. Connected services can send their own notifications even though omotto’s rehearsal messages are not sent.
The test-chat card inside the Coach is different: it always starts in Dry-run. It creates a rehearsal and counts toward your session allowance only when you send the first customer message, not when the card appears.
Rehearsal conversations stay separate from ordinary customer conversations in the Inbox. They do not add real customer traffic to Home or Analytics. That separation does not undo real changes made in a connected service.
You do not need to turn on customer replies first. A rehearsal can answer while the business bot is paused or the line’s bot switch is off.
Where to find it
Section titled “Where to find it”Open Settings → Bot → Rehearsals, or use a Test chat card inside the Coach.
Set it up
Section titled “Set it up”You need permission to change the bot’s settings. Playing as an existing customer also requires access to that customer’s details. Ask the workspace owner to check your permissions if the page or customer is unavailable.
Connect a chat channel and line first. The form offers channels with a connected default line. You choose the channel, not an individual line: the new rehearsal uses that channel’s connected default line. If you have several lines, check the default before testing line guidance.
Start from the full page
Section titled “Start from the full page”- Choose New rehearsal.
- Fill in the options below.
- For a safe first test, set Writes to Dry-run.
- Choose Start rehearsal.
Start inside the Coach
Section titled “Start inside the Coach”- Ask the Coach for a test chat for your connected channel.
- In the Test chat card, type a message as the customer.
- Choose Send. This creates the Dry-run rehearsal and sends its first test message.
- To answer team cards or inspect why the bot replied that way, choose Open the full test chat. The card itself contains only the customer pane.
Settings
Section titled “Settings”New rehearsal options and defaults
Section titled “New rehearsal options and defaults”| Option | What it does | Starting value |
|---|---|---|
| Name (optional) | Gives the test a name so you can find it again. Up to 120 characters. Without a name, the first customer message can become its title. | Empty. |
| Channel | Chooses the messaging channel the bot is rehearsing. Only channels with a connected default line are offered. Changing the channel clears the selected customer. | First available channel. |
| Play as | Leave empty for a new, blank customer. Or search for a real customer whose details you can view. Type at least two characters, then choose a result. | Blank customer. |
| Writes | Chooses whether business changes and actions in connected services really run. See the next section. | Dry-run before the business’s first launch; Real after. |
Pausing customer replies after the first launch does not reset this default. You can choose either mode before starting. Real still requires your personal acknowledgement, even before launch; Dry-run does not. Existing rehearsals keep their saved mode. The same default applies when a connected agent starts a rehearsal without choosing a mode.
The customer search starts with A blank customer — or search a real one. After choosing someone, Use a blank customer clears that choice.
Blank customer or real customer?
Section titled “Blank customer or real customer?”Use a blank customer to test a first-time enquiry without an existing customer’s details or memory.
Playing as a real customer lets the rehearsal read that customer’s details, memory and relevant history, subject to the usual access rules. It does not write the rehearsal back to their real customer profile. See customer profiles and linked customer identities.
This is not protection from external changes. With Real writes, that customer’s details can be passed to connected tools, and an action can affect their actual order or booking. Use Dry-run unless you intend those changes.
Dry-run versus Real writes
Section titled “Dry-run versus Real writes”| Behaviour | Dry-run | Real |
|---|---|---|
| omotto messages to customers, team members and Experts | Recorded in the rehearsal, not sent. | Recorded in the rehearsal, not sent. |
| Reading available information | Still runs. | Still runs. |
| Actions that change business data or a connected service | Recorded as simulated success instead of making the change. | Really run, subject to the action’s normal rules and approvals. |
| Team approvals | Can be practised; approving does not execute the simulated business or external change. | Approving can execute the actual change. |
| Conversation activity inside the test | Still recorded so the conversation can continue. | Still recorded. |
Dry-run is useful for testing how the bot proposes an action and handles a team decision. A success message in a Dry-run is not proof that an order, booking or other change exists in the connected service.
With Real writes, refunds, discounts, orders, bookings, business memory and actions through Custom API connections (connections to your own system) or Zapier, Make and n8n actions can affect real systems. Those systems may notify real people. Rehearsal message protection does not stop those separate notifications.
The Real-writes acknowledgement
Section titled “The Real-writes acknowledgement”Before your first Real-writes rehearsal, the form offers Review and confirm… instead of starting immediately.
- Choose Review and confirm….
- Read Rehearsals make real changes and its warnings.
- Select I understand rehearsals can affect real things only if you intend to allow those effects.
- Choose Confirm.
- Return to the rehearsal form and check its options before starting.
The acknowledgement is personal: another teammate’s confirmation does not confirm for you. Dry-run does not require it. Not now leaves you without authorizing Real writes.
Replay controls and their starting values
Section titled “Replay controls and their starting values”Replay runs a selected customer message again in a new rehearsal. The controls change that test only.
| Control | What it does | Starting value |
|---|---|---|
| From turn | Selects the customer message to run again. Earlier messages are copied, not freshly answered. | Last customer turn from the header button; selected turn from Replay from here. |
| Setting fields | Temporarily change the offered text, number, option or switch. | Current saved value, or the original rehearsal’s temporary value if it already changed that setting. |
| + Override a setting | Adds another eligible setting to this test. | No additional setting selected. |
| Document — draft text | Replaces the offered document’s text for the replay only. Not every document can be edited here; structured/table documents are not offered. | Current document text, or the original rehearsal’s temporary text. |
| On for this replay | Enables an offered, currently disabled custom connection action or automation for this test only. makes changes warns that it is a write action. | Off, unless already enabled temporarily in the original rehearsal. |
| Dry-run writes | Checked means simulated business/external changes. Unchecked means Real writes. | Matches the original session’s mode. If you have not acknowledged Real writes, the editor starts in Dry-run. |
| Cancel | Closes the editor without starting a replay. | No new rehearsal is created. |
Nothing in this editor saves to your business settings or replaces your saved knowledge documents. This is useful for comparing a different instruction or document before deciding whether to edit the Handbook or Knowledge permanently. Real actions performed during the replay are still real if you leave Dry-run writes unchecked.
If a field says Edit this in settings — it cannot be changed for one rehearsal here, it is not editable in this replay. Do not expect every business setting to be available.
Some earlier temporary changes cannot be carried into this editor, such as a location change or a newly added draft document. A notice gives the number not carried. Review it before starting: those changes will not silently follow the replay. Available earlier overrides are shown for review.
What happens when…
Section titled “What happens when…”You switch an existing rehearsal to Dry-run
Section titled “You switch an existing rehearsal to Dry-run”In an active Real-writes rehearsal, choose Switch to dry-run. Wait for the current customer turn to finish first. The conversation records Switched to dry-run from here.
This changes the mode going forward. It does not reverse completed changes. Work already running may still finish under the mode it started with. There is no switch back to Real in the same session; use replay if you need a separate Real-writes test, and check its confirmation and write mode carefully.
You use the Customer, Team and Why panes
Section titled “You use the Customer, Team and Why panes”On a large screen, the three panes appear side by side. On a phone, switch between Customer, Team and Why.
Customer: write as the customer
Section titled “Customer: write as the customer”- In Customer, type where it says Type as the customer….
- Choose Send, or press Enter. Shift+Enter adds a new line.
- Wait for the reply before sending the next test message.
You can see bot replies, reactions, waiting notices and failed or refused turns. If the test requests a verification code, the code appears in this pane rather than being sent by email or text message. Enter it as the customer when needed. It does not verify or update the real customer’s profile.
Team: practise questions, handoffs and approvals
Section titled “Team: practise questions, handoffs and approvals”When the bot needs team help, a card appears in Team. Nobody receives a real team message from it.
- Choose Answer…, write the answer as the team, then choose Send answer.
- On an approval card, choose Approve or Decline. Check the session’s write mode before approving.
- If an Expert question card opens, answer it as that Expert; the real Expert is not contacted. Website rehearsals have the limitation described below.
In a replay, Last time: may show the original answer or decision as a reference. It is not automatically submitted as your new answer.
Why it said this: inspect the reply’s recorded context
Section titled “Why it said this: inspect the reply’s recorded context”Choose Why? beside a bot reply. Why it said this shows the recorded information for that turn: skills, changes for this rehearsal, documents, memory, allowance information and tools, where available. Tool entries distinguish real and Dry-run actions. Use Previous turn and Next turn to move between replies.
This is an inspection view, not a score or a guarantee that the answer is correct. If some recorded context is unavailable, the pane says so; tools may still be listed. For deeper investigation of a reply, see understanding bot replies.
The bot needs an Expert in a website rehearsal
Section titled “The bot needs an Expert in a website rehearsal”With the current default behavior, a new Expert request in a website rehearsal can ask where the customer wants the follow-up answer. You can test that choice, but the request cannot finish submitting and no Expert question card opens. This also applies if you choose to receive the answer on the website itself. It is a rehearsal limitation, not by itself a sign that your Expert setup is broken.
A deadline is pending
Section titled “A deadline is pending”Pending deadlines appear below the Team cards. They do not fire automatically in a rehearsal, even if you wait past the displayed time. The relative times on screen still change as real time passes.
Choose Let the deadline pass to run the currently pending deadlines and test the next step. You must use this button to advance deadline-driven behavior. If that produces new deadlines, use the button again to test those later steps.
You replay from a turn with temporary changes
Section titled “You replay from a turn with temporary changes”A turn is one customer message and the bot’s response to it. Replay starts a new rehearsal linked to the original, rather than replacing the original conversation.
Earlier customer messages and bot replies are copied as text. The selected customer message is run again with your chosen changes. Later customer messages are queued for you to send one at a time.
Replay does not restore the original rehearsal’s full state. Message attachments, customer memory created inside that rehearsal, identity-verification state and earlier team or Expert work do not carry over. Copied text may mention a completed verification or a team answer without restoring it. A later replayed turn can therefore behave differently for reasons unrelated to the temporary setting you changed. If the test depends on those steps, replay from an earlier turn and perform them again.
- Open the original rehearsal.
- Choose Replay from turn…, or select a reply with Why? and choose Replay from here.
- In Replay from turn …, select From turn if more than one turn is available.
- Review the temporary changes under Settings above.
- Check Dry-run writes before running the test.
- Choose Replay.
- Wait for the new reply. Use Send next line: to run the next queued customer message.
- If a team card is highlighted, answer it or choose Let the deadline pass in Team before continuing the queued messages.
You use your testing allowance
Section titled “You use your testing allowance”The session header shows the turn count and recorded AI cost. The list shows how long rehearsals are kept. Rehearsals use their own session allowance and daily testing budget; replay creates another session. Do not assume rehearsals are unlimited because they are excluded from real customer traffic. See plans, billing and usage.
A real store-credit change has not settled
Section titled “A real store-credit change has not settled”Real writes can move real store credit. New changes still recheck the selected user source and account permissions; Real writes does not bypass them. If that change needs reconciliation or restoration, the rehearsal stays pending and its customer data is not cleared yet. Recovery still runs, but rehearsal-origin activity does not page the real team. Scheduled cleanup tries again after settlement. Clearing a settled rehearsal removes its test data, not the real customer’s store information. If the store connection or account access changed, contact support; deleting the rehearsal must not discard unfinished money work.
Troubleshooting
Section titled “Troubleshooting”| What you see | What to do |
|---|---|
| No available channel, or no connected line | Connect a channel and check its default line in Chat lines. |
| A customer is missing from search | Try at least two characters and check access to that customer’s profile. You can still use a blank customer. |
| A turn is already running | Wait for the reply before sending another message or switching write mode. |
| A highlighted team card blocks the next queued message | Answer or decide on the card, or choose Let the deadline pass in Team. Waiting alone does not fire it. |
| No Expert card opens in a website rehearsal | The current default allows testing the follow-up choice, not completing a new Expert request. This also applies to website follow-up. |
| A replay behaves differently after verification or a team answer | Replay does not restore that state. Start from an earlier turn and repeat the needed steps. |
| Today’s rehearsal budget is spent | Stop testing for today. If this seems unexpected, contact support. |
| This month’s rehearsals are used up | Check your plan with the workspace owner or support. |
| Rehearsals are paused, or the session is closed | You cannot continue that session while blocked. If rehearsals are available, replay can start a new test from a retained closed session. |
| Replay fields do not load, a change is invalid, or a turn fails | Read the message, correct any marked field, and retry when the current work has finished. Contact support if it persists. |
When contacting support, include the rehearsal name, the affected turn and the error shown. Before going live, check the saved settings too: a successful replay with temporary changes does not publish those changes to your real bot.