Skip to main content

Observability

FYAI records every chat session, model call and tool call made by your agents and teams. You can review this per entity, on the Observability and History tabs, or through the API.

WhereWhat it answers
Overview tab → Activity · 30 days cardIs this agent or team in use, and what is it costing?
Observability tabHow often it runs, how many tokens it uses, how efficiently it uses tools, what errors it hit, and what happened in each session
History tabWho changed the configuration, when, and what changed
Settings → Usage & CostSpending across the organisation. See Usage and Billing.

Agents, teams and functions each have an Observability tab.

The Observability tab​

Effectiveness Metrics​

Choose a period: 7d, 30d (the default) or 90d.

CardMeaning
InvocationsAgents: chat sessions started directly with the agent. Teams: chat sessions with the team.
TokensAll model tokens the agent used in the period, input and output combined. For a team, all tokens in its sessions.
Est. CostEstimated model cost for those tokens.
CompletionThe share of those sessions that reached the completed state.

Below the cards, a chart shows daily invocations, if there were any.

note

For agents, Invocations and Completion count only sessions started directly with the agent. Tokens and Est. Cost include every model call the agent made, including calls made as a team member, in a workflow or as a sub-agent. An agent that mostly works inside teams can therefore show tokens but few invocations.

For a function, the cards are Calls, Approved, Denied and Sessions.

Chat Efficiency (agents)​

These cards show how well the agent used its tools in chats during the period:

CardMeaning
Chat sessions, Turns, Tool callsVolume
Calls / turnAverage tool calls per turn
Hard failure rateShare of tool calls that errored, timed out or were denied
Duplicate call rateShare of tool calls that repeated an identical call (same tool, same arguments) in the same turn
Polling call rateShare of tool calls that were the fifth or later identical call in a turn. This is a sign the agent is polling. Use wait_for_event instead.
Cached input shareShare of input tokens served from the model provider's prompt cache. Higher is cheaper.
Est. costCost of these chats
Sessions w/ failure streakSessions with three or more failed tool calls in a row

Chips below the cards count tool errors by error class.

Recent Errors​

Error-level log entries for the agent or team from the last 24 hours, up to 20 rows. The columns are Timestamp, Level, Message and Session. Click the refresh icon to reload.

If log search isn't available in your environment, the section shows "Elasticsearch is not configured. Error logs unavailable."

Audit Trail​

One row per chat session in the period, newest first, 20 per page:

ColumnMeaning
#Session ID
StartedWhen it started
MessageThe first 120 characters of the opening message
MsgsNumber of messages
StatusSession status
ToolsNumber of tool calls

Expand a row to see each tool call: the function name, a preview of its arguments, whether it was approved or denied, and when it ran.

The History tab​

The History tab lists every configuration revision of an agent, team, function or model configuration.

ColumnMeaning
RevRevision number
Actioncreated, updated, deleted, rolled back, killswitch on or off, or generated
ActorWho made the change
SourceWhere the change came from
WhenWhen it was made
Changed FieldsWhich fields changed

Expand a revision to see each changed field's old → new value, and a Compare with previous side-by-side diff of the whole configuration.

Restoring a revision

  • Click Restore this revision to put the configuration back as it was.
  • History is never rewritten. The restore is recorded as a new revision.
  • Credentials are never restored, and neither is the killswitch state.
  • References to entities that have since been deleted are skipped, with a warning.
  • Restoring requires the project Editor role.

Killswitch​

Every agent, team and function has an Active / Killed switch in its header, which stops it running immediately. Each use is recorded on the History tab. See Agents.

Activity page​

The Activity page lists runs that weren't ordinary chats: workflow runs, webhook and schedule triggers, program activities, sub-agent runs and Claude Code delegations. Runs are grouped as Needs you, Running, Failed and Done, and you can filter by origin.

  • Organisation Owners and Admins see every run in the project ("Showing every run in this project.").
  • Everyone else sees their own runs.

The page is at /activity in the app. It doesn't currently have a link in the left navigation.

API and MCP​

All of these endpoints are scoped to your organisation, and return 404 for entities outside it.

Method and pathPurposeParameters
GET /observability/agents/{id}/summaryEffectiveness metricsdays: default 30, 1–365
GET /observability/agents/{id}/errorsRecent error log entrieshours: default 24, up to 168. size: default 20, up to 100
GET /observability/agents/{id}/auditPer-session audit trailpage. page_size: default 20, up to 100. days: default 30
GET /observability/teams/{id}/summary, /errors, /auditThe same, for a teamThe team summary also includes top_agents: members ranked by tokens
GET /observability/functions/{id}/summary, /errors, /auditThe same, for a function
GET /observability/chat-statsChat efficiencydays, optional agent_id
GET /history/{type}/{id}Revision listtype is agent, team, function or llm_config
GET /history/{type}/{id}/{rev}/diffDiff between revisions
POST /history/{type}/{id}/{rev}/rollbackRestore a revisionRequires Editor
POST /killswitch/{type}/{id}Kill or reactivateBody: active, terminate_sessions. Requires Editor
GET /agents/run-async/{execution_id}Status of a background agent run: pending, completed or error

The summary, errors and audit endpoints cover the whole organisation unless you pass project_code.

The Platform MCP server exposes the same data through tools such as get_agent_observability_summary, get_agent_errors, get_agent_audit_log, their get_team_… equivalents, and get_agent_run_status.