documentation
03 dashboard

Bots

Chatbots are single-purpose bots you design — a support bot, an FAQ bot, an onboarding bot. Give them a personality, conversation starters, and (optionally) a document collection, then publish them to the widget or the Bot API.

What this page is for

The Bots page is the gallery of every chatbot in your instance. Unlike specialists (on /agents), chatbots are interactive-only — they don’t pick up issues, don’t run on heartbeats, and don’t appear in auto-dispatch. They exist to chat, nothing more.

Use bots when you want a public-facing or narrowly-scoped conversational AI: a support bot on your website, a FAQ bot for your docs, a product-tour bot for new users, a translator tool. Anything where one bot serves many end users.

Layout

The gallery shows each bot as a card:

  • Icon and name
  • Description
  • Model — the LLM the bot runs on
  • Starters — how many conversation starter chips it has
  • Knowledge — a badge if the bot has an attached document collection
  • Created by — the user who built it
  • Actions — edit, duplicate, delete

Click any card to open a chat session with that bot. Click the pencil icon to edit its configuration.

Common tasks

Create a new chatbot

  1. Click New bot in the gallery header
  2. You land on the Bot Creator, which has five sections:
    • 01 — Identity: name, icon, description, model
    • 02 — Personality: the system prompt
    • 03 — Conversation starters: clickable chips shown on the first turn
    • 04 — Knowledge (optional): attach a document collection for RAG grounding
    • 05 — API keys: generate keys for the Bot API / widget
  3. Click Create bot

Good personalities for chatbots are narrower than for specialists — a chatbot does one job, so its system prompt is usually a tight description of that job plus rules. See Recipes → Bot test configurations for six ready-to-paste examples.

Attach a knowledge collection

Bots with knowledge collections do RAG — every user message triggers a semantic search over the attached document collection, and the top chunks are injected into the bot’s context before it responds. This grounds the bot in your own content.

  1. First, create the collection on /documents and upload the files you want the bot to know
  2. Come back to the bot edit page
  3. In section 04 — Knowledge, pick your collection from the dropdown
  4. Save

Generate an API key for a bot

Every bot can have one or more API keys that let external apps talk to it via the Bot API or embed it via the widget. Keys are bot-scoped — a key can only ever talk to the bot it was minted against.

  1. Open the bot edit page → section 05 — API keys
  2. Click Generate new key
  3. Copy the plaintext key — it’s shown exactly once, then only the hash is kept
  4. Optionally set allowed origins to restrict which websites can use the key
  5. Use the key to embed the widget or call the API (see Bot widget and Authentication)

Edit a bot

Click the pencil on the gallery card, or the Edit button on the bot detail page. Only the creator and admins can edit a bot — otherwise the button is disabled.

Delete a bot

Delete is permanent. All existing API keys bound to the bot are revoked. Widgets embedding the bot start getting 404s from the API. Only delete when you’re sure.

Built-in templates

Exolvra ships with a few built-in chatbot templates — Support, Sales, FAQ, Onboarding — pre-configured with personalities and starters you can use as-is or clone and customise. They’re upserted on every startup, so you can’t permanently delete them (they’ll come back on restart), but you can disable them or hide them from the gallery.

Common pitfalls

Treating a chatbot like a specialist. Chatbots don’t do heartbeats, don’t execute issues, and don’t coordinate with other agents. If you want autonomous multi-step work, build a specialist on /agents instead.

Forgetting conversation starters. Starters are the clickable chips shown on the first turn of a chat. Bots without starters feel empty — the widget shows just an input box with no guidance. Always give new bots at least three relevant starters.

Not testing the bot before embedding it. The bot looks different on your dashboard chat page than through the public widget. Test both. See Bot test configurations for a checklist of what to verify.

Where to go next