Onniebots
Onniebots are AI workers you configure for a specific purpose. Each one has its own identity, instructions, and constraints. You can assign Tasks to them, chat with them directly, and let Onnie AI delegate to them automatically.
What an Onniebot is
A Onniebot is an engine_bots row with is_superagent = false. It runs the same agent loop as Onnie AI but with a narrower tool surface and its own identity. Onniebots are created through the workspace settings UI or by asking Onnie AI to create one (admin or editor role required).
Each Onniebot has a display name, an optional avatar, and a default_model_variant (standard or high) that sets the quality baseline when no per-turn variant is specified.
Configuration
A Onniebot's behavior is controlled by three fields:
onnie_md — the bot's identity, instructions, and memory in freeform markdown. This is the main lever. Write detailed instructions here: what the bot is for, how it should behave, what it should avoid, any standing preferences. Onnie AI can update a bot's onnie_md on your behalf via update_bot, or you can edit it directly in the workspace settings.
allowed_tools — a list of tool names the bot is permitted to call. When null, the bot can call all non-superagent tools. When set to a list, the bot's tool surface is the intersection of that list and the full tool registry. Use this to keep a bot focused: a table-management bot that should only read and create Tasks doesn't need image generation or web search.
allowed_skills — a list of skill keys the bot is permitted to load. When null, all skills are available and matched by keyword. When set, skills are filtered to the intersection before relevance matching. Skills are workspace-defined behavior documents that extend how the bot responds to certain prompts.
accept_delegated_work controls whether Onnie AI (the Superagent) can dispatch Tasks to this bot. Set it to true for bots you want to receive async Task assignments. Set it to false for bots that should only respond to direct chat.
Knowledge and references
Onniebots receive a subset of the workspace context block:
- Their own identity (
onnie_md) and memory. - Workspace- and project-level
onnie_mdcontext. - Workspace knowledge (corrections, facts, preferences).
- Their filtered skill set.
The user's saved preferences (from engine_user_memory, scoped to the chatting user) are also included — so the Onniebot can tailor responses without you re-stating them.
They do not receive the bot directory — a Onniebot cannot see other bots or consult them. Sub-delegation is not allowed.
To give a bot richer knowledge about a specific domain, write it into the bot's onnie_md. Reference workspace entities by their onnie_md context, or ask the bot to call explore_* tools at runtime to read records, pages, and tables.
When Onnie AI mentions a bot inline in a chat response — for example, after creating one or suggesting one for a task — it renders as a bot card using the reference format [Bot Name](ref:engine_bot:UUID). If you are writing markdown that links to a bot (in a page, a Task description, or a template), use engine_bot as the entity type:
[My Bot Name](ref:engine_bot:550e8400-e29b-41d4-a716-446655440000)
Using ref:bot:UUID is not recognized — the entity type is engine_bot.
How users talk to a Onniebot
Open a new chat and use the bot picker in the chat header to select the Onniebot before sending your first message. The bot is locked to the chat once you send — switching bots requires opening a new chat.
You can also type @BotName in a message when chatting with Onnie AI. The Superagent parses the mention and can consult the named bot inline (synchronously, within the current turn) or delegate a Task to it. The @ syntax is interpreted by the Superagent — it does not route you to a separate chat.
Onniebots can also be assigned Tasks from the task board. When a Task is assigned to a bot with accept_delegated_work = true, the dispatch cron picks it up, creates or reuses the Task's chat thread, and runs the bot against the Task context automatically — no manual chat needed.
Onniebots vs Onnie AI
Use Onnie AI when:
- You need full workspace access and the broadest tool surface.
- The request spans multiple projects or entity types.
- You're exploring, planning, or handling something novel.
- You want Onnie AI to coordinate across Onniebots.
Use a Onniebot when:
- You have a repeatable workflow that benefits from focused instructions.
- You want to restrict what an agent can do (tool limits, skill limits).
- You're assigning Tasks to an agent that should handle them autonomously.
- Different team members need a bot tuned to a specific domain or project.
Onniebots and Onnie AI complement each other. The most common pattern is Onnie AI receiving a high-level request, consulting or delegating to the right Onniebot, and returning the result.