Foam will be at DASH in NYC, June 9–10. Book a chat with us ›
Docs
Overview

How Foam works

Monitoring

Foam ingests every error across every connected service. It combines static signals (error rates, latency, status codes) with LLM judgment to decide what's worth investigating and what's noise. Most errors are silenced. Only incidents that need human attention get flagged.

Investigation

When Foam flags something, it doesn't stop at the service that threw the error. It traces the problem across your entire stack, searching traces, logs, and metrics from other services to find the actual root cause. This is where the 86% root cause accuracy comes from: Foam follows the chain of events, not just the symptom.

Notification

Foam doesn't just find the root cause. It finds the right person. Not through a simple git blame, but by reasoning about who is best positioned to act: who authored the relevant code, who reviewed it, who has been active in that part of the codebase recently, and who owns the service. The goal is to reach the person who will read the report and already have context, not the person who happened to last edit the point of the crash.

That person gets a Slack message with the full analysis: what broke, why, and a suggested fix. From there they can create a PR or hand it to their coding agent.