The brief
The brief is the agent's account of what your company is and does. It is compiled from the knowledge you have given it — usually your website — rather than typed by hand, which is why the first thing to check when an agent sounds vague is the brief rather than the prompt.
This is the single most misdiagnosed failure in the module. The corpus can be fully ingested and the brief still empty, because compiling the brief is a separate step that can complete having produced nothing. The compile step reports success either way. If the agent is vague about your own business, look at the brief first — the fix is usually to recompile it, not to re-crawl your site.
Reception
Voice + chat · live on 1 number, 3 sites
Prompt variables
If the agent's instructions contain a placeholder — a transfer number, a business-hours string, a booking link — and no value is supplied for it at run time, the entire line containing it is dropped. Not left blank: removed. The agent then behaves as though that instruction never existed. In one case the line that vanished was the one restricting when a transfer could be offered, and the agent promised a transfer it had no way to make. Check that every variable an agent references actually has a value.
The behaviour is now covered by a test, but the shape of the failure is worth carrying with you: a missing variable does not produce an error or an obviously broken sentence. It produces a coherent agent that is missing one rule.
Actions
An agent can only do what it has been explicitly granted. Nothing is implicit.
| Action | What it does | Notes |
|---|---|---|
| Answer | Respond from the brief and knowledge. | Always available. |
| Qualify | Ask the questions you specified and record the answers. | The questions are yours. |
| Capture | Create a person and a lead. | Routes to CRM — see [People](/docs/modules/phony/people). |
| Book | Offer and take a booking. | Needs a calendar configured. |
| Transfer | Hand the live call to a person. | Needs a destination and a window. |
| Request a callback | Queue a call back to somebody who just called. | Consent re-checked at dial time. |
Handover
The most valuable configuration in the module and the one most often left empty. An agent with nowhere to hand over to is an agent that ends every good conversation with a promise somebody has to keep manually.
- Set the destination — a person, a rota, or a number. Configure it in Team.
- Set the window. Outside it, the agent should take a message rather than attempt a transfer that will not connect.
- Set the criteria. What has to be true before a conversation is worth interrupting somebody for.
- Test it by calling your own number at 9am and at 9pm. Both paths should behave sensibly.
What this does not do
Voices are selected from a set. You cannot clone a specific person.
One agent answers a given number or site. There is no menu that routes to different agents.
Changes to the brief apply to the next conversation.
Actions are the fixed set above. An agent cannot call an API you define.
Questions
How many agents can we have?
Several — typically one per brand or per number.
Can the agent speak other languages?
It follows the caller within the languages the voice supports. Test before relying on it.
Can we script it exactly?
You can constrain it heavily. An entirely scripted agent is an IVR, and worse than one.
Related
What a Phony agent knows: crawling your site, the page cap that silently truncates a large corpus, scoping, and how to tell a thin corpus from a broken brief.
CallsThe phone side of Phony: numbers, what a call record contains, the "why we were allowed to call" panel, and where the latency actually goes.