Docs · Product

AI agent

A helper that answers FAQs from your knowledge base while you sleep. A couple of checkboxes and a short note about your business — that's the whole config.

How it works

When a visitor sends a message, the AI receives the conversation so far, the relevant chunks from your knowledge base, and a short system prompt that establishes tone. Its replies in the widget carry an AI badge with the assistant's name, so the visitor can tell at a glance they're not talking to a person yet.

Visitor messages always land in your inbox regardless — the AI answering doesn't hide anything from your team, and you can jump into any thread at any moment.

Turning it on

The AI is off by default. To enable it:

  1. 1Open Settings → AI Agent.
  2. 2Flip the Let the AI answer customers toggle to on, then click Save.
  3. 3The next inbound visitor message is handled by the AI. On Autopilot the agent only answers on its own when your knowledge base actually covers the question — that guard is on by default, and without a match the thread waits for a human instead of improvising.
Tip
Nothing else is required — no API keys, no model picking, no provider setup. Leadiosa manages the LLM under the hood; you just decide when it speaks. (Want control anyway? See Bring your own key below.)

When the AI helps

Copilot or Autopilot — the first choice on the settings page. In Copilot the AI writes no answers of its own: every reply lands in your Inbox as a draft you send, edit or discard. (One exception, in both modes: when a visitor asks for a human, the thread is handed to you and the visitor gets a short confirmation so nobody is left waiting in silence.) Autopilot unlocks the two automatic behaviours below. Start in Copilot; flip to Autopilot once the drafts consistently look right.

Two checkboxes on the same settings page decide when the AI steps in:

  • Answer customers when nobody from my team is online — covers after-hours, weekends, lunch breaks. The AI posts a public reply so visitors don't bounce.
  • Suggest replies for me when I'm online — a draft appears above your reply box. One click to send, or edit first. Nothing is posted to the visitor until you choose.

Pick one, both, or neither. There's also an on-demand AI draft button in the composer — it drafts a reply for the current thread whenever you ask, independent of the checkboxes.

Lead actions (optional, off by default) — with “Let the AI save lead details” on, the agent saves a name, email or phone the visitor shares (only into empty contact fields, never overwriting) and can tag the conversation with one of your existing tags. Every applied action is recorded on the reply; in Copilot, actions run only when you approve the draft.

Keeping it on-topic

Only answer questions about my business — on by default for platform-managed AI. Before spending tokens on a full answer, a lightweight classifier checks whether the visitor’s message is actually about your business. Asking your shop’s chat to write an essay gets a polite decline instead of burning your monthly allowance — or, if one of your operators is online, silence, because an off-topic visitor is yours to handle. A strong match in your knowledge base overrides the verdict, so a real question phrased oddly still gets answered.

The decline text is editable on the settings page, so it can sound like you.

Personality & rules

Assistant name — what visitors see on the AI badge in the widget. Defaults to Veyra; set it to anything that fits your brand.

Personality & rules — three plain fields instead of one big prompt: who the assistant is (the business it speaks for), tone of voice (how replies should sound) and hard rules — things it must never do or promise, which it follows even if a visitor insists. Anything else fits in the collapsible “Additional instructions” box.

Example for a yoga studiotext
Who the assistant is:
  You are the assistant for Lotus Yoga Studio in Brooklyn.
  Help visitors with class schedules, pricing and bookings.

Tone of voice:
  Friendly and concise, never pushy.

Hard rules:
  - Never promise a refund — forward those to the studio owner.
  - Direct booking questions to lotusyoga.example/book.

The AI also reads your knowledge base on its own (see below) — you don't need to repeat FAQ answers here.

Knowledge-base grounding

The AI retrieves the most relevant chunks from your knowledge base on every turn and answers from them rather than from imagination. When it drafts a reply for an operator, the sources it leaned on are listed next to the draft — with similarity scores — so you can sanity-check before sending.

For the AI to actually help, give it something to read — see Knowledge base. On WooCommerce stores, the product catalog can sync in automatically.

Announcements — what is true today

Some answers are not knowledge: a security patch that ships on Friday, an outage, a delivery delay. They are true this week and wrong the next, so they do not belong in the knowledge base — an evergreen base full of expired incidents is worse than an empty one. Write them under Settings → Replies & automation → Announcements instead, with an end date.

A live announcement is added to the end of the AI agent's system prompt as current status, and it appears above the composer in the inbox so an operator can drop it into a reply in one click. It stops being used the moment it expires or you switch it off — nobody has to remember to take it down.

You do not have to spot the moment yourself. Every hour we group the day's opening questions and, when four or more visitors turn out to have asked the same thing, the bell gets a note with the question, how many asked it and how many got no human reply. It links straight here, because publishing the answer once is usually the fix.

Tip
The agent is told to use an announcement when it answers the question and to say nothing beyond it: no dates, causes or promises you did not write. Announcements work with the AI agent switched off too — the operator side is the whole point for a team that answers by hand.

Monthly AI use

Every AI reply consumes tokens. The settings page shows how many you've used against your plan's monthly allowance — 200k on Pro, 1M on Pro Plus.

When the allowance runs out, the AI pauses until the next cycle. You get a notification in the dashboard, and with no operator online the chat offers the leave-a-message form instead of a silent bot. Visitor messages still arrive in your inbox and your team answers as normal. Three ways to keep the AI talking:

  • Buy a token pack — a one-time top-up (500k tokens for $10) straight from the settings page. Unused pack tokens carry over.
  • Upgrade the plan — Pro Plus carries a 5× allowance.
  • Bring your own key — your provider, your bill, no platform allowance involved (below).

Bring your own key (advanced)

By default you never think about providers. If you want direct control — a specific model, your own rate limits, your own provider bill — flip Use my own AI provider in the Advanced section of the AI settings (Pro and up).

  • Pick a provider preset — OpenAI, Anthropic, OpenRouter — or point Custom at any OpenAI-compatible endpoint.
  • Choose a model and paste your API key. Keys are encrypted at rest and never shown back in full.
  • Chat replies then bill to your provider account directly, and the platform token meter no longer applies to them. Two things stay behind: the small scope classifier keeps running on platform tokens, and your own monthly cap (set next to the key) still silences the agent when it is reached.
Note
With BYOK you are in a direct contract with the LLM provider — their data-handling terms apply to that traffic. See the AI section of our Privacy Policy.

Under the hood (for the curious)

Platform-managed AI routes through OpenRouter to GPT-class models — a provider tier contractually excluded from training on customer content. If we change models, replies just keep working; nothing in your workspace settings has to update.

Embedding for knowledge-base retrieval is similarly platform-managed (OpenAI by default). See Knowledge base for the data-flow details.

The rule-based FAQ bot and button menus

Next to the AI agent there is a simpler, fully predictable bot under Settings → Replies & automation → FAQ Bot: keyword rules with fixed answers, no language model involved. An answer can also offer buttons and hand the chat to a person, which is enough to build a menu flow like “Support / Presale / Hire us”.

  • Quick replies in Settings → Widget are the first menu: the visitor sees them under the greeting, and a click sends the button text as their first line. The menu works with nobody online too — a workspace whose only responder is this bot keeps the live chat open instead of the leave-a-message form.
  • Each FAQ entry matches by keywords, so name entries after the buttons: an entry with the keyword “presale” answers the “Presale” button.
  • An entry’s own follow-up buttons appear under its answer, so branches can loop — “Support” can link to the help center and offer “Support / Presale” again.
  • Turn on “Hand off to a human” for branches that should end with a person: the bot posts that answer (“Connecting our sales agent…”) and stays silent for the rest of the conversation.

The trigger decides when the bot may speak. "Always" answers every message, "Only when no operator is online" fills the off-hours gap, and "Only when nobody picked it up" waits the number of seconds you set and answers only if no teammate replied. That wait is for typed questions: a click on the widget menu, or on a button under an answer, is answered straight away, so a menu never leaves the visitor waiting. The reply cap works the same way — it retires the bot after that many answers to questions, and never silences a button.

Tip
Keep button texts and entry keywords in sync: a renamed button that no longer hits any keyword gets no answer.

The bot also stands down when a teammate opens the chat, so an operator who is mid-reply is never talked over. That check only counts under manual assignment, where taking a conversation is a deliberate act.

An entry can also label the conversation it answers. That is how a branch routes to a "department" without leaving the workspace: the label rides on the conversation, so the inbox and every figure in Analytics can be narrowed to one kind of work. It beats grouping by operator whenever the same person handles both. The holding line can carry a label too, but those chats matched nothing, so "unsorted" is the honest choice there — a department name would file work nobody has read yet.