Planned

Signal

Intelligent Alerts

Give Claude control over your alerts. AI decides severity, routes to the right agent, and handles incidents automatically.

Before

How Claude sees your app today

C
Claude
Y

You

Why did I get 47 alerts last night? Were any of them real problems?

C

Claude

I'd like to help, but I don't have access to your alerting system.

I can't see what alerts fired, why they triggered, or which ones were false positives.

Could you share the alerts from PagerDuty or your monitoring tool?

Y

You

*Scrolls through 47 alert emails trying to find the real issues...*

After

How Claude sees your app with Signal

C
Claude
Signal connected
Y

You

Why did I get 47 alerts last night? Were any of them real problems?

C

Claude

Let me analyze last night's alerts...

Using signal.get_alerts

signal.get_alerts(last: "12h", include_resolved: true)

Response

47 alerts total

• 43 auto-resolved (false positives)

• 3 handled by FORGE (no action needed)

• 1 required human attention (your approval)

Only 1 alert actually needed you. The rest were either false positives or handled automatically.

Using signal.get_alert_details

signal.get_alert_details(id: "alert_critical_001")

The real issue: At 3:42am, the payment processor rate limit was hit.

FORGE queued retries and the issue resolved by 3:58am. No customer impact.

Alert noise reduced: 98%

The Difference

Without Signal

  • Alert fatigue is real
  • Every alert goes to a human
  • False positives drown real issues
  • 3am pages for non-issues

With Signal

  • + AI triages every alert first
  • + Only real issues reach you
  • + AI handles what it can
  • + Sleep through the noise

How It Works

1

Define alert conditions

Simple rules or complex queries. Natural language works too.

Signal.alert("error_rate > 5%", severity: :high)

2

AI assesses severity

Context-aware scoring. A 5% error rate at 3am vs peak traffic is different.

Severity: Medium (not High)

Low traffic period, limited user impact

3

Route to the right responder

AI agent, human on-call, or auto-resolve. Context determines routing.

# Routing decision

Low severity → Auto-resolve

Medium severity → FORGE (AI CTO)

Critical → Human on-call

4

Learn from outcomes

Every alert resolution teaches Signal to be smarter next time.

False positive rate reduced by 73% this month

The Tools AI Uses

Available via MCP (Model Context Protocol)

signal.get_alerts()

"What alerts fired today?"

signal.acknowledge(id)

"I'm handling this"

signal.resolve(id, reason)

"Fixed, here's why"

signal.escalate(id, to)

"This needs human attention"

Get Started

One gem. Zero config. Works in 30 seconds.

# Add to your Gemfile

gem 'brainzlab'

# Run bundle

$ bundle install

# That's it. Intelligent alerts are ready.

Coming Soon

We're building Signal as part of Phase 1. Follow along to get early access.