Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Incident response procedures for Lindy AI agent failures and outages. Use when responding to incidents, troubleshooting agent outages, or creating on-call procedures for Lindy-powered systems. Trigger with phrases like "lindy incident", "lindy outage", "lindy on-call", "lindy runbook", "lindy down".
.claude/skills/jeremylongshore-lindy-incident-runbook/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-16 | ✗→✓ | ▲ Improved | 131% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 86% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 55% | 0% |
Incident response procedures for Lindy AI agent failures. Covers platform outages, individual agent failures, integration breakdowns, credit exhaustion, and webhook endpoint failures.
| Severity | Description | Response Time | Examples | |----------|-------------|---------------|----------| | SEV1 | All agents failing, customer impact | 15 minutes | Lindy platform outage, all webhooks failing | | SEV2 | Critical agent down | 30 minutes | Support bot offline, phone agent unreachable | | SEV3 | Degraded performance | 2 hours | High latency, intermittent failures | | SEV4 | Minor issue | 24 hours | Non-critical agent misconfigured |
bash# Is Lindy up? curl -s -o /dev/null -w "Lindy API: HTTP %{http_code}\n" \ "https://public.lindy.ai" --max-time 5 # Check status page echo "Status page: https://status.lindy.ai"
bash# Is your webhook receiver up? curl -s -o /dev/null -w "Our endpoint: HTTP %{http_code}\n" \ "https://api.yourapp.com/health" --max-time 5 # Is the webhook auth working? curl -s -o /dev/null -w "Webhook auth: HTTP %{http_code}\n" \ -X POST "https://api.yourapp.com/lindy/callback" \ -H "Authorization: Bearer $LINDY_WEBHOOK_SECRET" \ -H "Content-Type: application/json" \ -d '{"test": true}' --max-time 5
Log in at > Settings > Billing
Symptoms: All agents failing, status.lindy.ai shows incident Impact: All Lindy-dependent workflows halted
Runbook:
Fallback code:
typescriptasync function triggerLindyWithFallback(payload: any) { try { const response = await fetch(WEBHOOK_URL, { method: 'POST', headers: { 'Authorization': `Bearer ${SECRET}`, 'Content-Type': 'application/json', }, body: JSON.stringify(payload), signal: AbortSignal.timeout(10000), // 10s timeout }); if (!response.ok) throw new Error(`HTTP ${response.status}`); return { routed: 'lindy' }; } catch (error) { console.error('Lindy unreachable, activating fallback:', error); await queueForReplay(payload); // Store for later await notifyTeam(`Lindy trigger failed: ${error}`); return { routed: 'fallback' }; } }
Symptoms: Specific agent tasks showing "Failed" status Impact: One workflow affected, others may be fine
Runbook:
Symptoms: Actions failing with "Not authorized" or "Token expired" Impact: All tasks using that integration fail
Runbook:
Symptoms: Agents stop running, no new tasks created Impact: All agents paused until credits refill
Runbook:
Symptoms: Lindy agent runs but your callback never receives data Impact: Agent completes but results are lost
Runbook:
curl -s https://api.yourapp.com/health| Level | Contact | When | |-------|---------|------| | L1 | On-call engineer | Initial response, diagnostics | | L2 | Engineering lead | After 30 min SEV1, 1 hour SEV2 | | L3 | VP Engineering | After 1 hour SEV1 | | Lindy Support | support@lindy.ai | Confirmed Lindy platform issue |
markdown## Incident Report **Date**: YYYY-MM-DD **Severity**: SEV[1-4] **Duration**: [start time] to [end time] ([total minutes]) **Impact**: [what was affected, customer impact] ### Timeline - HH:MM — Issue detected via [monitoring/user report] - HH:MM — On-call paged, diagnostics started - HH:MM — Root cause identified: [cause] - HH:MM — Fix applied: [what was done] - HH:MM — Service restored, monitoring confirmed ### Root Cause [Technical description of what failed and why] ### Resolution [What was done to fix it] ### Prevention - [ ] [Action item 1] - [ ] [Action item 2] - [ ] [Action item 3]
| Incident Type | Detection | Automated Response | |--------------|-----------|-------------------| | Platform outage | Health check fails | Queue events, notify team | | Agent failure | Task Completed trigger | Slack alert to #ops | | Auth expiry | Action step fails | Alert + re-auth link | | Credit exhaustion | Billing check | Pause non-critical agents | | Endpoint down | Health check | Redirect to fallback |
Proceed to lindy-data-handling for data security and compliance.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-16 | fail→pass | 11,178 | 7,801 | -30% | 1 | 1 | 0% | 999 | 2,309 | +131% | 0 | 0 | — |
case-17 | fail→pass | 7,001 | 1,914 | -73% | 1 | 1 | 0% | 1,173 | 2,177 | +86% | 0 | 0 | — |
case-18 | pass→pass | 12,884 | 3,788 | -71% | 1 | 1 | 0% | 1,003 | 2,327 | +132% | 0 | 0 | — |
case-01 | fail→pass | 24,761 | 18,910 | -24% | 1 | 1 | 0% | 3,240 | 4,439 | +37% | 0 | 0 | — |
case-11 | pass→pass | 6,219 | 4,499 | -28% | 1 | 1 | 0% | 840 | 2,490 | +196% | 0 | 0 | — |
case-02 | fail→pass | 24,422 | 18,303 | -25% | 1 | 1 | 0% | 3,031 | 4,063 | +34% | 0 | 0 | — |
case-03 | fail→fail | 27,363 | 20,647 | -25% | 1 | 1 | 0% | 3,582 | 4,519 | +26% | 0 | 0 | — |
case-04 | pass→pass | 14,493 | 13,247 | -9% | 1 | 1 | 0% | 1,523 | 3,176 | +109% | 0 | 0 | — |
case-05 | pass→pass | 12,907 | 10,164 | -21% | 1 | 1 | 0% | 1,280 | 2,792 | +118% | 0 | 0 | — |
case-06 | pass→pass | 13,764 | 12,426 | -10% | 1 | 1 | 0% | 1,487 | 3,213 | +116% | 0 | 0 | — |
case-07 | fail→pass | 16,827 | 11,258 | -33% | 1 | 1 | 0% | 1,935 | 3,004 | +55% | 0 | 0 | — |
case-08 | fail→pass | 17,979 | 9,160 | -49% | 1 | 1 | 0% | 1,949 | 2,294 | +18% | 0 | 0 | — |
case-09 | fail→pass | 19,898 | 9,030 | -55% | 1 | 1 | 0% | 1,964 | 2,411 | +23% | 0 | 0 | — |
case-10 | fail→pass | 13,039 | 7,636 | -41% | 1 | 1 | 0% | 1,313 | 2,310 | +76% | 0 | 0 | — |
case-12 | pass→pass | 11,440 | 7,922 | -31% | 1 | 1 | 0% | 939 | 2,212 | +136% | 0 | 0 | — |
case-13 | fail→pass | 12,790 | 7,994 | -37% | 1 | 1 | 0% | 1,115 | 2,250 | +102% | 0 | 0 | — |
case-14 | fail→pass | 8,166 | 2,622 | -68% | 1 | 1 | 0% | 1,476 | 2,353 | +59% | 0 | 0 | — |
case-15 | fail→pass | 16,816 | 9,667 | -43% | 1 | 1 | 0% | 1,600 | 2,471 | +54% | 0 | 0 | — |
case-19 | fail→pass | 24,007 | 2,485 | -90% | 1 | 1 | 0% | 1,051 | 2,240 | +113% | 0 | 0 | — |
case-20 | pass→pass | 12,730 | 2,777 | -78% | 1 | 1 | 0% | 1,001 | 2,339 | +134% | 0 | 0 | — |
case-21 | pass→pass | 19,554 | 8,386 | -57% | 1 | 1 | 0% | 2,299 | 2,434 | +6% | 0 | 0 | — |
case-22 | pass→pass | 14,521 | 2,703 | -81% | 1 | 1 | 0% | 1,434 | 2,260 | +58% | 0 | 0 | — |
case-23 | pass→pass | 11,751 | 7,978 | -32% | 1 | 1 | 0% | 970 | 2,205 | +127% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +52 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.