Notifications
- Email: set
Smtp__HostplusSmtp__Username,Smtp__Password, and optionallySmtp__Port,Smtp__From,Smtp__EnableSsl,Smtp__Timeout(at most 60 seconds). Without a host, email deliveries are marked skipped and a warning is logged. - Approval links:
Approvals__SigningKeymust be at least 32 characters.deploy-local.shgenerates it, and replaces a missing,change-meor short value. Changing it invalidates links already sent. Without it, notifications link to the project page only. - Links in messages:
App__PublicBaseUrlis set tohttp://localhost:8080for Kubernetes. - Slack, Teams, webhook: configured per project (Settings, Notifications tab). Webhook URLs are stored encrypted. Targets must be public https hosts. For a receiver on your own machine, set
Notifications__AllowPrivateTargets=true. Use it for local testing only. - Webhook receivers: a webhook channel needs a signing secret. Each POST has these headers:
X-AIDE-Signature: sha256=<lowercase hex>(HMAC-SHA256 of the raw body keyed with the secret),X-AIDE-Timestamp,X-AIDE-Delivery,X-AIDE-EventandIdempotency-Key. Recompute the HMAC over the raw bytes, compare in constant time, and reject old timestamps. - v2 types: release awaiting merge and deployment failed (Owners), preview ready (members), connection invalid (the connection’s owner only, in-app and account email), LLM binding cleared (Owners). Channels opt in to the new events.
- v4 types (Owners): Git binding cleared, database provisioning failed, database expiring (7 days before a Render free database expires, or when Supabase pauses a project), migration failed, deployment target needs attention. A channel subscribed to
deployment_failedalso receivesmigration_failed. - Retries: 5 attempts per channel with 1 min, 5 min, 30 min, 2 h backoff. A channel that succeeded is not re-sent.