Tool Policy

Open in CMS

The Tool Policy page decides what each of your agent's tools does in a simulation when no mock answers the call. Found in the agent sidebar under Simulation → Tool Policy; this menu item appears only when the mocks feature is enabled. You build the mocks themselves on the Tool Mocks screen and in the Scenarios form.

This page has no AI in it: the same setting gives the same decision every time. The agent's answers and the judging of criteria in a run are produced by AI and can differ between two runs of the same scenario. Anyone with the Owner or Contributor role on the agent can change the Run live switches, and they apply to every scenario.

The page is titled Tool Policy, with the text "What each tool does in simulations when no mock answers the call. Applies to every scenario of this agent, on both Draft and Published."

If the page cannot load, it shows "Failed to load the tool policy." with a Retry button. When the tools of both the Draft and the Published versions cannot be read, it says "The tools of the Draft and Published versions couldn't be loaded, so the tool policy can't be edited right now." When the agent has no tools to set, it says "This agent has no tools that can be set here."

If one version's tools cannot be loaded, a notice appears above the groups: "The Draft version couldn't be loaded, so settings for tools found only there are kept unchanged." (or Published; or, when both failed, "The Draft and Published versions couldn't be loaded, so settings that can't be checked are kept unchanged.").

How a Tool Call Is Decided

A card titled How a tool call is decided in a simulation. It shows the order of five steps, left to right, as chips. The first step that has an answer for the call wins.

Step mocksA mock set attached to the step that makes the call.
Scenario mocksA mock set attached to the whole scenario.
Scenario's Allow liveThe scenario's Allow live setting for the tool, set in the scenario form's tools panel.
This policyThe setting on this page.
Built-in defaultWhat the tool does when none of the above applies.

The note under the chips reads: "Mocks always win, so a tool that runs live here can still be mocked in the scenarios that need specific answers."

Tool Groups

Below the filters, the tools sit in four groups, each a card you can open and close. Each card shows its title, a count line and, for the first two, a chip with its default.

Effect unknownChip: Default: Blocked. Open by default. Tools whose effect Qlar cannot tell from the outside: Custom APIs, MCP tools, other agents and A2A agents, and plugin tools of unknown effect. Until someone reviews them they are blocked in simulations. Each one has a Run live switch.
Reads dataChip: Default: Live. Plugin tools that only read data, such as SQL DB Reader, Dynamic Table and Public Documents. They run live unless you switch Run live off, which blocks them.
Not set on this pageNo default chip. Tools this page never changes. Each tool shows what it does: Simulated success (tools that write data, such as Conversational Form, Reminder and escalation, which are simulated) or Always runs (read-only built-in and internal tools). The card ends with the note "To run a Simulated success tool for real, open the scenario and use Allow live… in its Agent Tools panel. Real writes are always a per-scenario choice." Allow live… is in the Agent Tools panel of the scenario form.
No longer on this agentNo default chip. Open by default. Shown only when there are leftover settings for tools the agent no longer has. See No Longer on This Agent.

A tool that Qlar cannot classify is not listed in any group.

Group Counts and Bulk Actions

Count lineNext to each group title, for example "12 tools · 3 not reviewed · 1 unsaved". The "not reviewed" and "unsaved" parts appear only when there is something to count.
Sub-group headingInside a group, tools are grouped by source, for example Custom API · <API group>, Plugins · <plugin name>, MCP · <server name>, Other agents, A2A and Built-in. In Not set on this page, the headings are Simulated success and Always runs.
Turn all on / Turn all offTwo buttons on a sub-group heading, shown when it has at least two tools that can be changed. Turn all on sets Run live on for all of them, Turn all off sets it off. Each is disabled when it would change nothing. Turning an unreviewed tool off still counts as a change, because it marks the tool as reviewed.
Plugin could not loadA plugin whose tools could not be loaded shows its saved settings, locked, with the note "This plugin's tools couldn't be loaded".

Filters

All toolsShows every tool.
Not reviewed (n)Shows only the Effect unknown tools nobody has reviewed yet, with their count.
Unsaved (n)Shows only the tools you changed and have not saved yet, with their count.
Search toolsCase-insensitive search over the tool's name, description, source heading and, in Not set on this page, its status.
No tools matchShown when the filter and search leave nothing. While a filter or search is active, groups with no match hide and the matching ones open.

Tool Rows and Run live

Tool name and iconThe tool's name, with an icon for its kind. Hover the description to read it in full.
Availability chipDisabled, Disabled in Draft, Disabled in Published, Draft only or Published only, when the tool is off or exists in only one version.
Not reviewedA chip on an Effect unknown tool that nobody has reviewed yet. Turning its switch either way marks it as reviewed once you save.
Run liveThe switch at the right. On, the tool runs for real in simulations when no mock or scenario setting answers. Off, the tool is blocked. Tools in Not set on this page have no switch; they show Simulated success or Always runs instead.
Lock noteOn a tool that is turned off in both Draft and Published, the switch is locked and the row says "Turned off in Draft and Published. Enable the tool to change this setting; it applies again as soon as the tool is on."
WarningShown under a tool that is on Run live and could do real harm: "This is a <method> call. Running it live changes real data in every simulation run." (for a Custom API that is not GET), "The name suggests this tool changes data. Running it live does so in every simulation run." (for an MCP tool), "This agent runs as a normal conversation, so its own tools also run for real: its escalations, forms and API calls are not simulated." (for another agent), or "<name> is outside Qlar. Whatever it does with the request happens for real." (for an A2A agent).
Changed rowA row you changed and have not saved is marked, and counted in Unsaved.

No Longer on This Agent

A card for settings that belong to tools the agent no longer has, so they do nothing now. It opens with: "These settings belong to tools this agent no longer has, so they do nothing now. Move each one to the tool that replaced it, or remove it. A Custom API or other agent renamed on its own page is carried over automatically, and a tool that is only disabled is never listed here."

Group heading and reasonA heading by source, for example MCP · <server> (removed server), Plugins · <plugin> (removed plugin), Custom API, Other agents, A2A or Other tools, with the reason: "The <server> server was removed and added again, so its tools are new to Qlar." (or plugin), or "Deleted from the agent."
Setting rowThe old tool's name and a chip, Was Live or Was Blocked.
Move to…A dropdown of current tools the setting could go to, then Move. A tool with the same name is marked "· same name". The old setting leaves the list and the chosen tool takes its value.
Move all to…On an MCP or plugin group: a dropdown of current servers or plugin instances, then Move. Each setting moves to the tool of the same name there. A status line says how it went, for example "3 settings moved to Calendar. 1 stayed: 1 with no tool of that name on Calendar." A setting stays when there is no tool of that name, when that tool already has its own setting, or when that tool cannot be set on this page.
RemoveTakes the old setting out of the policy.

Cancel in the footer brings every moved and removed setting back.

A bar at the bottom of the page.

Status text"No unsaved changes", or "n unsaved changes" once you change something.
CancelDiscards your changes and puts the saved settings back. Disabled when there are no changes.
SaveOpens the confirmation. Disabled when there are no changes, or when the tool lists could not be loaded.

Save Confirmation

Clicking Save opens a dialog titled "Save n changes to the tool policy?". It says: "Every scenario of <agent> uses these settings for calls that no mock answers, starting with the next run. Runs already queued keep the old settings."

Under that sentence is a list of every change, one line per tool, for example "get_report: Not reviewed (Blocked) → Live", "list_events: Blocked → Live, moved from list_events on the removed server" or "getLabResults: old setting removed (no longer on this agent)". When any tool is going live, the dialog adds: "Tools set to Live call the real system with real credentials in every simulation run, so what they do is not simulated." and, when one of them is another agent, "Other agents and A2A agents run as normal conversations, so everything they do, including their own tools, happens for real."

The buttons are Save policy and Cancel.

After Saving

Success"Tool policy saved — The next simulation run of this agent uses the new settings."
Conflict"The policy changed since you opened it. Reload it?" when someone else saved first. Reload loads their version and drops your unsaved changes.
Failure"Failed to save the tool policy." or the reason the server gave. A failed reload says "Failed to reload the tool policy."

Related guide: Tool Policy, Choose Which Tools Run Live