Docs/Ship/Monitoring

Monitoring

Updated May 3, 2026Ship

Workspace logs, Agent Flow runs, published-app errors and notification channels.

What's monitored

Across XAIO you can observe four layers — pick the one that matches what you're trying to answer:

  • Workspace backend while iterating in dev
  • Agent Flow runs while orchestrating agents
  • Published apps once you've shipped
  • Project events delivered as notifications

Workspace: backend tab

Web App and Platform Builder projects expose a Backend tab in the workspace. It shows:

  • A status pill (green = running, amber = restarting, gray = stopped)
  • Start / Stop / Restart controls — useful when you want to force a clean restart after changing dependencies
  • A live log stream — Python process stdout/stderr, FastAPI request lines, traceback frames
  • The internal port (8080) the backend runs on inside the workspace container

Errors that bubble up here are also exposed to the agent: clicking Fix Errors sends the stack trace into the chat as a context-injected message so the agent can patch it without you copy-pasting log lines.

Workspace: preview & build errors

The Preview tab surfaces Vite build errors and runtime errors caught in the browser console. A red badge on the tab counts unresolved errors; the badge sits at z-20 with a halo ring so it's readable regardless of which tab is active.

Backend Pre-Flight Validation runs before every publish — if any backend route 500s during a smoke check, the publish is blocked and the failing route + error appear in the publish dialog.

Build Auto-Fixer: if npm run build fails during publish, a smaller model takes a shot at patching the error (up to 2 retries) before bothering you. The conversation and the diff stay in the publish history so you can see what was changed.

Agent Flow: runs & logs

Agent Flow projects have dedicated Runs and Logs tabs in the workspace toolbar:

  • Runs: every workflow execution with status (queued / running / succeeded / failed / cancelled), trigger payload, output, and duration
  • Logs: per-node execution logs with timestamps, model used, token counts, cache hits, and any tool calls the node made
  • Inbox: messages an agent surfaced for human review (decision-required steps, errors)
  • Memory: persistent state the agents have stored across runs

Active runs increment the Runs tab badge so you can see at a glance whether something is still in flight.

Published apps

Once a project is live at *.xaio.app (or your custom domain), monitoring continues:

  • Build history in the Publish dialog — every published version with the deployed commit SHA, who triggered it, and the result
  • Error tracking — runtime errors from your Lambda handler are captured in CloudWatch and surfaced in the workspace; XAIO admins can correlate them across projects via the internal monitoring dashboard
  • Storage usage — every project has a storage quota; you see your current usage in Project Settings
  • API usage — published Web Apps expose request counts and latency in the Backend tab, scoped to the prod database

Notifications: getting pinged about events

Configure notification channels under Settings > Notifications to be alerted on:

  • Code generation completed / failed
  • Team member joined or left
  • AI Tasks running low
  • Publish succeeded or failed
  • Runner / workspace stability events

Channels: Email (always available), Slack, Discord, Telegram. Each notification type can be toggled per channel.

What's not exposed to project owners (yet)

The internal xaio-monitoring dashboard — ECS / RDS / Aurora / ElastiCache views, raw CloudWatch metrics, error funnels and support-ticket triage — is an admin-only tool used by the XAIO operators. End users see derived signals (your published app's health, your build status, your AI task balance) but not the underlying infrastructure metrics.