Notification channels are org-scoped delivery destinations for deployment events. Set them up once at the org level, then subscribe individual repos to them from each repo’s Notifications tab.Documentation Index
Fetch the complete documentation index at: https://docs.slipway.sh/llms.txt
Use this file to discover all available pages before exploring further.
Where to find it
/{slug}/settings/notifications — under Settings → Notifications in the org sidebar. Admins only.
Channel types
Discord
Paste a Discord channel webhook URL (https://discord.com/api/webhooks/…). Slipway posts as the slipway username with a coloured embed per event:
- green —
healthy - blue —
updated - red —
failed - gray —
torn_down
Slack
Paste a Slack incoming-webhook URL (https://hooks.slack.com/services/…). Slipway posts an attachment-style message with the same colour coding.
To get the URL: at api.slack.com/apps, create or open an app, enable Incoming Webhooks, then Add New Webhook to Workspace and copy the resulting URL.
Generic webhook
Any HTTPS endpoint that accepts a JSON POST. Use this to wire deployments into your own tooling — incident response, status pages, internal dashboards. The payload schema is documented at Webhook payload. Optionally provide an HMAC signing secret. When set, every outbound POST carries:hmac_sha256(body, secret) over the raw request body. Your receiver should verify the signature in constant time before trusting the payload.
Encryption
Channel URLs and signing secrets are encrypted at rest with AES-256-GCM under the same KEK as the rest of the platform’s secrets (see Secrets for KEK provider details). The plaintext URL is never returned by the API — the UI shows a masked preview likehttps://discord.com/…/abcd.
Test before subscribing
Every channel row has a Send test action that posts one synthetic payload. Use it to confirm the webhook URL is correct and your receiver is reachable before you subscribe a repo to it.Delivery failures
If a POST returns a non-2xx status or times out (10s), slipway records anotification_failed event on the deployment with the channel id. Delivery is fire-and-forget — there are no retries in v1, and a dead webhook will never block a deployment.
Lifecycle
| State | Behaviour |
|---|---|
| Channel created | Available for repos to subscribe to; no traffic until at least one subscription exists. |
| Channel edited | URL / signing secret rotation takes effect on the next event. In-flight POSTs already use the old values. |
| Channel deleted | Every subscription pointing at this channel is removed along with the row. |