Tools
The Tools surface answers "which tools are my agents actually calling, who's calling them, and how risky are they?" It's the customer-facing equivalent of an AI gateway audit log, built from the events your SDK emits.
What shows up here
Every distinct tool_name the SDK has reported in the last 90 days is auto-discovered into the Tools page. You don't need to register tools — they appear the first time an event references them.
Each tool row shows: name, owner (assignable), risk tier, total invocations in the selected window, distinct agents calling it, success rate, and last-seen timestamp.
Tool identity: name vs UUID
Wytness uses two identifiers for tools, intentionally:
| Identifier | Where it comes from | What it's for |
|---|---|---|
| tool_name | Your code (function name or toolName override) | Stable human-readable identity. Persists across deploys, renames, and SDK version bumps. Used in URLs (/tools/refund_customer). |
| UUID | Generated by the platform on first sight | Internal handle for paste-search. If you paste a UUID into the global search, it resolves to the same tool page. |
action / tool_name and a new row appears in the Tools list. The old row stays — it still has historical events. To pin a stable name across renames, set it on your framework's tool definition (e.g. LangChain's tool.name); AGT and the wrapper forward whatever your framework names the tool, unchanged.Risk tiers
Operator-assignable, fed into the EU AI Act mapping on the Registry. Five tiers:
| Tier | Use it for |
|---|---|
| unclassified | Auto-assigned default until an operator reviews the tool. |
| minimal | Read-only, low blast-radius (e.g. lookups, search). |
| limited | Writes that are reversible or low-value (e.g. drafts, notes). |
| high | Reversible writes with real-world impact (e.g. refunds, message-send). |
| prohibited | Tools the operator has marked as not allowed in this environment. |
Time window
Every metric on the Tools list and the per-tool detail page is windowed. The top-right Window selector drives every chart and KPI on the page: invocations, success rate, agents per tool, the time-of-day heatmap, the activity table, and the Permissions tab. Options are 24h / 7d / 30d / 90d / All time. Default is 30d.
Tool detail tabs
Click any tool in the list to open its detail page. The detail page has five tabs:
| Tab | What it shows |
|---|---|
| Overview | Invocation count over time, success/failure split, top callers, the time-of-day heatmap. |
| Activity | Recent events for this tool, paginated. Click any event for the full EventDetail panel. |
| Agents | Every agent that called this tool in the window, with per-agent invocation counts and last-seen times. |
| Permissions | Distinct permissions the calling agents reported exercising — see the Permissions section below. |
| Metadata | Operator-editable fields: owner, risk tier, description, tags, notes. |
Permissions tab
For each tool, the Permissions tab lists every distinct policy decision AGT recorded against the calling agents — with first-seen, last-seen, and event count. This is populated from the policy_decision field on each event, set by AGT's PolicyEngine.
PolicyEngine setup.Searching for tools
The global search bar at the top of every page accepts either a partial tool_name or a full tool UUID (paste from URLs or logs). UUID hits resolve directly to the tool's detail page; partial name matches show up as a results section.
Cross-link from Agents
Every agent's detail page has a Tools tab listing every tool that agent has called in the selected window. The reverse: every tool's Agents tab. This is the two halves of the same graph — use whichever direction matches your investigation.
Performance characteristics
The Tools list is backed by per-org tool tracking, synced continuously from the audit log. New tools appear shortly after their first event. Detail-page metrics query the analytics store directly and reflect the current window on every load — no caching.