All documentation
Monitoring

Notifications

Deploy, provisioning, alert, certificate, backup, and uptime events delivered to Slack, Discord, Acciti, email, or your own endpoint.

Channels

Channels belong to the team. Add them under Settings → Connections → Notification channels. Each channel subscribes to its own set of events, so a deploys channel and an on-call channel can receive different things. Email works on every plan. The other kinds need the Pro plan or above.

  • Slack. An incoming webhook URL at hooks.slack.com.
  • Discord. A channel webhook URL at discord.com or discordapp.com.
  • Acciti. A connector's ingest URL and the signing secret Acciti issues with it. See below.
  • Webhook. Any HTTPS endpoint of yours. See Webhooks for the payload.
  • Email. An address that must confirm itself first. The confirmation link is single-use and valid for 30 minutes, and nothing is delivered to an unconfirmed address.

Destinations are encrypted at rest and shown masked. Send test delivers a real message, so you can see a channel work before you rely on it.

Events

deployment.succeeded        deployment.failed
server.provisioned          server.failed
alert.triggered             alert.resolved
certificate.expiring        certificate.renewal_failed
monitor.down                monitor.up
backup.failed               rollback.failed
restore.failed              deployment.skipped
promotion.awaiting_approval

Deploys and provisioning notify on both outcomes. Backups, rollbacks, and restores notify only on failure. Cancelled jobs send nothing. deployment.skipped fires when a site that requires passing checks does not deploy a commit, with the reason, and promotion.awaiting_approval when a promotion waits for an admin. See Checks and promotions.

Acciti

Acciti turns these events into push notifications on iPhone, Apple Watch and Mac. Create a Provisore connector in Acciti, paste its ingest URL and the signing secret it shows once, and pick the events you want. Provisore signs every payload with that secret, and Acciti refuses anything unsigned.

The connector arrives with its rules already written. Acciti reads the priority from the event name:

PriorityEventsOn the device
emergencymonitor.downdeployment.failedrestore.failedBreaks through silent mode and repeats until someone acknowledges it.
highcertificate.renewal_failedbackup.failedrollback.failedserver.failedalert.triggeredMakes a sound and lights the screen.
normalcertificate.expiringdeployment.skippedpromotion.awaiting_approvalAn ordinary notification.
lowdeployment.succeededserver.provisionedmonitor.upalert.resolvedArrives without a sound.

A new connector has a rule for every event above except deployment.succeeded and server.provisioned, which are switched off. Change any of it in Acciti, on the connector's rules.

Acciti accepts an event it will not send, and says so in its reply. That happens when the connector has no rule for the event, and when the Acciti team has dropped back to the free plan, which pauses the connector rather than deleting it. Provisore shows the reason on the channel until a delivery goes through.

Delivery

Each notification is sent once, with a timeout. There is no retry queue and no delivery history. Treat a channel as the fast way to hear about something, and the app's Activity page as the record of what happened.