Creating an Agent
Agents can be created in a few ways:- Honeydew Studio — use the agent builder in the UI
- Git repository — commit a file to the
ai/agents/directory in your workspace - Coding agent — use a coding agent connected via MCP to create and manage agents (see MCP agent tools)
Context References
Thecontext field accepts
context item names
and glob patterns.
Items matching multiple patterns are deduplicated automatically.
Access Control
Users are granted access to specific agents. Access to an agent grants access to the underlying domain and all referenced context items. The same domain can be exposed through multiple agents with different context sets — for example, afinance-analyst agent and a
sales-analyst agent can both access the revenue domain while
loading different context.
Agent Routing
Honeydew can route each new conversation to the agent that fits its first question. The Slack and Teams apps route when no agent is configured. Your own application routes with theagents_for_question API, as shown in
the embedded UI guide.
The router matches the question against the agents the user can access, skipping agents
with validation errors:
- Single match: the conversation starts with that agent.
- Several matches: the user picks one. The agents are ranked most relevant first.
- No match: no conversation starts, and the user is told that no agent fits the question.
What the Router Considers
The router uses an LLM to match the question against each agent. For each agent, it looks at:descriptionand AI context — the primary signals. Thedescriptionfrontmatter field and the agent’s AI context (the Markdown body) are equally weighted: both should precisely describe what data, topics, or business area the agent covers, from the user’s perspective.sample_questions— example questions the agent is designed to answer. These are the most direct routing hint: the closer a user’s question resembles a sample question, the more confidently the router picks that agent.domain— the domain the agent is connected to, which provides additional topical scope.
Writing Routing Metadata
An agent file also needstype, name and domain (YAML Schema);
the routing fields are:
- Write
descriptionfrom the user’s perspective, not the data model’s. “Analyzes sales pipeline” is more useful than “accesses the orders domain.” - Make
sample_questionsrepresentative of what real users will ask, not just technically valid queries. - When two agents cover adjacent topics, make their descriptions distinct enough to avoid ambiguous routing. The router offers both as choices when it cannot tell them apart.
YAML Schema
Each agent is defined by a Markdown file with YAML frontmatter in Git.-
type: Required. Must beagent -
name: Required. Unique identifier for the agent within the workspace -
display_name: Human-readable name shown in the UI -
description: What this agent does -
welcome_message: Text shown to users at the start of a session -
sample_questions: Suggested questions; auto-generated in Honeydew Studio if empty -
domain: Required. The domain the agent has access to -
context: List of context item names or glob patterns (see Context References) -
owner: Team or user responsible for this agent -
model: Overrides the default LLM for deep analysis sessions started by this agent. Accepts a Honeydew model ID or a provider-specific model ID (e.g.,claude-sonnet-5). Both forms resolve to the same model, and only the models listed below are accepted — a model that is not suitable for deep analysis is rejected in either form. When not set, the workspace default model is used. The model must be supported by the workspace’s LLM provider. Supported Honeydew model IDs: