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.
Rules run first
Tofu checks delivery status, HTTP response codes, timeouts, unreachable targets, framework errors, and known provider patterns before AI is involved.
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.
Sensitive values are redacted
Authorization, cookie, token, secret, API key, signature-like headers, URL credentials, and obvious secret markers are redacted from AI context.
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.
$ # Open the failed event in the dashboard$ # Click "Diagnose failed delivery"$ # Apply the suggested fix, then replay:$ tofu replay latest --hook stripeWhere 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.