Skip to main content
Once you’ve found something to improve with the Agent Optimization Guide, every fix falls into one of three levers. Identify the lever, implement the change, then validate it with Testing.

The three levers

LeverWhen to pullWhat to change
Give knowledgeThe agent doesn’t know the answer, or gives outdated or wrong informationAdd or fix Snippets, Data Providers, or Search Tables
Instruct behaviorThe agent has the right information but applies it wrong (wrong tone, skips steps, doesn’t escalate)Add or refine Guidance or Procedures
Add system accessThe agent needs to read or write data in an external systemConnect a Toolbox, MCP Server, or Unitool
Every conversation problem maps to one of these. A wrong answer is a knowledge problem. A correct answer in the wrong tone is a behavior problem. “I can’t look up your order” is a system access problem.

Give knowledge

When the agent says “I don’t have information about that” or gives an outdated answer, it needs better knowledge. Wrong answers. Find them by filtering for low ratings with feedback like “wrong” or “incorrect.” Click the AI message and open the Improve Answer sidebar to see which sources the agent used. Fix the root cause: update the outdated document, remove conflicting sources, or clarify the passage in Data Providers or Snippets. Missing answers. The fastest fix is a Snippet: click the AI message, select Add Snippet, and write the ideal answer. For recurring topic clusters, add a full documentation source (webpage crawl, PDF, or Search Table). Suggestions with issue type “Missing content” point you directly to the biggest knowledge gaps. Before product launches or seasonal events, add documentation proactively.

Instruct behavior

When the agent has the right information but responds with the wrong tone, skips steps, or answers when it should escalate, it needs better instructions. You have two tools, and most agents use both. Guidance shapes how the agent behaves in specific situations. Scope each rule to the right conversations with audience conditions, and keep instructions concrete: “Always include a tracking link when answering shipping questions” works better than “Be helpful.” See Guidance for how to write effective rules. Procedures guide the agent through multi-step workflows where the conversation must follow a specific sequence, such as collecting order details before processing a return.

Choosing guidance or procedures

GuidanceProcedures
PurposeShape behavior and toneExecute multi-step processes
StructureFree-form instructionsOrdered steps with control flow
LogicNo branchingIf/else conditions, code checks
EnforcementAgent interprets on its ownDeterministic, agent follows the defined path
Use casesTone, policies, general rulesRefunds, returns, verifications, escalations
Start with guidance. Add a procedure when steps must happen in a fixed order and eligibility checks must be deterministic, for example a refund that verifies the order and the return window before it runs.

Add integrations

When the agent needs to look up customer-specific data or act in external systems, it needs system access. Suggestions with issue types “Can’t read customer data” or “Can’t write customer data” highlight these gaps automatically. See Actions for the full overview. Reading data. The agent might need order status from your database, account details from your CRM, or inventory levels from your e-commerce platform. Choose your integration based on availability:
  1. Pre-built Toolboxes or MCP Servers if botBrains offers one for your system.
  2. Unitools to write custom code that queries your API or database.
  3. Search Tables if the data seldom changes and you can upload it.
Taking actions. The agent might need to create tickets, update records, trigger workflows, or process refunds. The same priority applies: pre-built integrations first, Unitools as fallback. After adding system access, enable the tools on the relevant guidance rules so the agent knows when to use them.

Implement and validate

Once you’ve applied a lever, build and deploy a version to make the change live. Confirm it first with Testing: re-run a failing case with View Alternative, or lock the behavior in with a simulation so it stays fixed.