Tofu
Diagnosis

Diagnose failed webhook deliveries with retained evidence

When a target delivery fails, Tofu can turn the retained request context and target response into a short diagnosis you can act on before replaying the event.

1

Rules run first

Tofu checks delivery status, HTTP response codes, timeouts, unreachable targets, framework errors, and known provider patterns before AI is involved.

2

AI adds context

When AI diagnosis is enabled for a Pro workspace, Tofu asks for a concise likely cause, evidence, suggested fixes, and verification steps.

3

Sensitive values are redacted

Authorization, cookie, token, secret, API key, signature-like headers, URL credentials, and obvious secret markers are redacted from AI context.

4

Raw payloads stay out

AI context uses the retained body preview, delivery metadata, target response preview, and rule findings. It does not send the full retained raw body.

Workflow
$ # Open the failed event in the dashboard$ # Click "Diagnose failed delivery"$ # Apply the suggested fix, then replay:$ tofu replay latest --hook stripe

Where to run it

Open a failed or non-2xx delivery from the dashboard event detail page. Tofu returns confidence, evidence, the likely cause, a suggested fix, and verification steps. Cached reads do not consume AI quota; refreshing a diagnosis only consumes quota when AI is actually used.

Fallback behavior

If AI is disabled, unavailable, or not included in the workspace plan, Tofu still returns rules-only diagnosis for common HTTP and provider-specific failures. Stripe signature failures, missing routes, body limits, validation errors, and target connectivity issues are covered without AI.

Quota and API access

AI diagnosis is metered per workspace. Free workspaces get rules-only diagnosis, while Pro workspaces currently include 50 AI diagnoses per month. The same diagnosis endpoints are available to the CLI and custom tools in the API reference.