Skip to main content
A virtual agent profile describes an AI that answers calls: which provider and model, what voice, what it is told, and how it presents itself. Virtual agent profiles

What a profile carries

Its role, and the rules it keeps

An agent is told what it is for, in this order:
  1. Who it works for: your organisation, and only yours, with About the business in a paragraph.
  2. Its role: the Purpose (Sales, Support, Reception, Bookings, Accounts) and the Goal of every call, e.g. book a demo.
  3. The procedure it follows: your SOP, step by step. Choosing a purpose fills in a starting goal and procedure while those are empty; edit them to match how you work.
  4. The rules. These are always there, and nothing a caller says, and nothing in Additional instructions, changes them:
    • Answer only from your knowledge base and what the caller says, never from general knowledge of products, prices or the market.
    • Never mention, name, compare with or recommend another company, product or website. If the caller brings one up, the agent says it can only help with your organisation and brings the call back to that.
    • When the answer is not in your knowledge, say so plainly, and never guess a price, date or policy.
    • Stay in its role, and decline anything unrelated.
  5. Also never: your own limits (discounts, legal advice, other branches).
  6. How it speaks, what it knows, then Additional instructions (what used to be the system prompt: existing profiles keep theirs here).

When it doesn’t know

  • Offer a person: it offers to connect the caller to the queue or extension you choose. If that fails, or the caller would rather not wait, it arranges a callback.
  • Arrange a callback: it confirms the caller’s name, the number to call and their question, and raises a ticket assigned to the person in Callback from. The caller is told who will call and given the ticket reference. If that person signs in to the panel, they are also emailed the number, the question and a link to the ticket.
An agent always has End the call and Arrange a callback, and has Transfer to a person whenever a transfer target is set. It is never told to use an action it does not have.

Try it before a caller does

Open a saved profile and press Try it. You type as the caller and the agent answers in text, with the same role, procedure, rules and knowledge it would have on a call. It uses a text model from the profile’s provider (GPT-4o mini, Gemini 2.5 Flash or Qwen Plus) on your organisation’s own key, falling back to your OpenAI key. It does not use the realtime voice model.
  • Its knowledge base searches are real: each answer shows what it searched for and which articles it found.
  • Transfers, callbacks and other actions are not carried out. They are shown as what it would do.
  • Show what the agent is told displays the full instructions.
Ask it about a competitor, and ask it something your knowledge base does not cover. It should decline the first, and for the second say it doesn’t have that information and offer a person or a callback. Try it uses the saved profile, so save before trying a change.

Creating one

Extensions → New extension → An AI agent, then choose the profile that should answer. That gives the agent a number: dialling it opens a media stream to the model instead of ringing a device. Nothing registers against that extension, so it has no handset settings and no Desk sign-in. The SIP password still exists — it is an ordinary extension — but nothing uses it unless you later point the number at a person.
An organisation with no profiles yet cannot create one: a profile is what gives the agent its provider, model, voice and opening line. Make one under Settings → Virtual agent profiles first.

How a caller reaches one

Three ways, and they are the same agent:
  • By dialling its extension, as above.
  • Through a virtual agent node in a workflow, which a process or a number points at. The node ends the flow: after the AI, the call is the AI’s.
  • From a campaign, which does not need an extension at all.

What it can do

An agent’s skills are the actions its profile enables, intersected with what your organisation has switched on. Among them:
  • Transfer to a person — to an extension or a queue. If nobody is reachable and that extension takes messages, it records one instead and says so, rather than reporting a failed transfer.
  • Bring somebody in — a third party, with the caller still on the line.
  • Remember something about the customer, and learn something about the job.
  • Whatever apps you have enabled: raising a ticket, booking an appointment.

What it leaves behind

Every call produces a conversation record: the transcript turn by turn (both sides: with OpenAI the caller’s words are transcribed by the provider), every action it took with its arguments and result, the tokens it used, and the prompt it was given, verbatim. That last one is why “why did it say that?” is answerable. The prompt is built at runtime from the profile’s role and rules, the customer, past summaries, open tickets and memory, none of which can be reconstructed after they change, and it is stored exactly as the model received it.

The post-call review

When an agent’s call ends, its transcript is checked, and anything found is flagged on the conversation:
  • competitor: the agent named one of the profile’s Competitors, as a whole word in any case. The caller naming one is not flagged.
  • no KB search: the knowledge base was too large to give the agent whole, and it answered the caller without searching it once.
In Conversations, flagged calls carry a red badge, the Review filter lists them, and the transcript highlights the turn. The server also logs ai agent mentioned a competitor as a warning.

Handing over to a person

When the AI transfers a caller to an agent, it writes a summary — why they called, what was collected, what was promised — and the agent sees it before they speak. See what the AI already asked them.