Live and test mode
You choose the mode each time the Customer Agent is assigned to a thread, through a workflow or manually, so the Customer Agent can reply on one queue while it runs in test mode on another:- Live: the Customer Agent replies to customers. It becomes the thread’s main assignee.
- Test: the Customer Agent sends nothing and adds private timeline entries showing what it would have done. It joins as an additional assignee, so whoever owns the thread keeps it and your queues and assignment rules stay the same. A thread with no other assignee still shows in Not assigned.
What you’ll see
On threads where the Customer Agent is in test mode, the Customer Agent adds private timeline entries when new customer messages are added to a thread. Each entry starts with the agent’s display name, and you’ll see one when:- It would have replied, along with the draft answer it would have sent;
- It would have handed off, along with the hand-off reason; and when
- It would not have responded.

Choosing live or test mode
In workflows
Every workflow action that assigns threads to the Customer Agent has its own mode. Pick Live or Test when you assign the Customer Agent in a workflow.
If you used the now-deprecated workspace-wide Live or Shadow setting, your existing workflows kept the mode your workspace was set to.
Manually
You can also pick Live or Test when you assign the Customer Agent from a thread’s assignee picker.
Tracking live and test mode assignments
Two places in Plain AI show how your workflows use each mode. Customer Agent overview: the Customer Agent status card shows how many of your workflows assign the Customer Agent in live mode and how many in test mode.

Knowledge gaps in test mode
When the Customer Agent would have handed off because it couldn’t find an answer in your knowledge sources, it records a knowledge gap exactly as it does live. The gap is grouped with repeat questions and raises a task for your team once a second thread asks it, so you can fill the holes in your documentation before the Customer Agent starts replying to customers. The test mode entry on the thread doesn’t mention the gap. Find it under Customer Agent → Knowledge → Knowledge gaps or as a task linked to the thread.Reading via GQL
In test mode the Customer Agent writes its outcome to the thread’s timeline as a Thread Event. Read it like any other timeline entry, filtering to events:externalId, which starts with ari-dry-run.
When the Customer Agent would have answered, the drafted reply is the ComponentText inside the event’s ComponentContainer.

