Alerts & email reports
Get notified when a budget trips, choose your channels, and receive weekly usage summaries.
On this page
Choose where safety alerts arrive
Settings → Alert webhooks lets an owner or admin configure Slack or Discord incoming webhooks. Local operators can also configure SLACK_WEBHOOK_URL or DISCORD_WEBHOOK_URL on the service. URLs are private credentials; never paste them into public docs or screenshots.
Budget thresholds, kills and policy warnings contain metadata, not provider keys, prompts or tool arguments. Webhook delivery uses a durable outbox with retries. A remote service accepting a notification does not prove a person has seen it.
Enable authorized Slack actions
- Create a Slack app with incoming webhooks and interactivity.
- Set SLACK_SIGNING_SECRET and the explicit LEASH_SLACK_USERS allowlist on the API. No Slack user is allowed by default.
- Point interactivity at your public HTTPS /integrations/slack/actions endpoint. Slack cannot reach a loopback-only server.
- Test Resume, Resume +$10 and Keep killed using an authorized operator account.
Opt into email and weekly summaries
In Settings, verify your email and separately opt into weekly summaries and safety alerts. Weekly reports cover the previous complete Monday–Sunday UTC period. Unsubscribe from summaries using their confirmation link, or change preferences in Settings.
Operators enable the Resend sender with LEASH_EMAIL_PROVIDER=resend, RESEND_API_KEY, LEASH_EMAIL_FROM and LEASH_EMAIL_REPLY_TO. A verified outbound identity is required. Incoming forwarding alone does not configure sending.
Delivery depends on the provider accepting and delivering the message. Without mail configuration, the UI identifies unavailable sending; local verification tests do not send real mail.