Docs
Referencesince cloud@2026-09-24

Alerts

Choose which members receive each alert by email, and post alerts to Slack, Microsoft Teams, Discord, Google Chat, PagerDuty or a signed webhook.

Path: Settings, Alerts (/settings/alerts).

FreeProEnterprise
Alerts by email, to the members you chooseYesYesYes
Alert channelsNoUp to 10Unlimited
Choose which alerts each channel takesNoYesYes
Send one project's alerts to its own channelNoNoYes

Plans.

Email

RuleBehavior
DefaultEvery owner receives every alert
Who changes itAn owner. Other members see it, read only
ChoicePer member, per category: security, plan limits, billing
FloorAt least one member receives security alerts
Who we mailActive members only

We send each alert as one email to every chosen member, so each recipient sees who else received it. We record each save as alert.recipients_updated in the audit log.

Mail addressed to one person, such as an invitation or a verification code, ignores this choice.

Channels

ChannelYou provideCreate it
SlackAdd to Slack, then pick a channel. Or an incoming webhook URLSlack incoming webhooks
Microsoft TeamsA Workflows webhook URLTeams webhooks with Workflows
DiscordA channel webhook URLDiscord webhooks
Google ChatA space webhook URLGoogle Chat webhooks
PagerDutyAn Events API v2 integration key, US or EU. We open one incident per alertPagerDuty Events API v2
WebhookAny HTTPS URL. We sign each POST and show you the secret onceVerify a webhook

We refuse a URL that is not on that product's own webhook host. We encrypt the URL or key like your values (encryption in the cloud) and show you only the host or channel name.

Adding a channel needs org:update (roles) and a fresh step-up. Send a test posts a sample alert and shows you what the destination answered.

A new channel takes alerts from the moment you add it. We do not replay earlier ones.

Alerts by category

CategoryAlerts
SecurityMachine identity created or revoked; credential issued, revoked, drifted or used from two hosts; write-only turned off; an agent asked to reveal a value; keys overdue for rotation; SSO certificate expiring; domain no longer verified; member removed by your directory; encryption key unusable
Plan limitsA plan limit was reached
BillingPayment failed; plan activated; subscription canceled

An alert carries a title, names and addresses, and a link to the console. It never carries a value or a key. We post a reveal request to channels only; every other alert is also emailed.

Project channels

On Enterprise, pick a project when you add a channel. It takes that project's alerts: write-only turned off and reveal requests. Workspace alerts, such as billing and credentials, go to channels set to All projects.

Verify a webhook

We sign each POST per Standard Webhooks, with the audit stream's headers and verifier (verify a batch).

{
  "id": "0b8c1f2e-6a4d-4c3b-9e7f-1a2b3c4d5e6f",
  "type": "write-only-disabled",
  "createdAt": "2026-09-24T12:00:00.000Z",
  "organization": "Acme",
  "title": "Write-only was turned off",
  "lines": ["payments-api / production", "By ada@acme.test"],
  "severity": "critical",
  "url": "https://penv.cloud/projects/7d1f0b52-0d8c-4a53-9b1a-2f0c7b1e9a10",
  "projectId": "7d1f0b52-0d8c-4a53-9b1a-2f0c7b1e9a10"
}
FieldValue
idSame on every retry of one alert
severitycritical, warning or info
projectIdPresent only on project alerts

Retries

Destination answersWe
2xxMark it delivered
408, 429, 5xx, timeout, unreachableRetry on the audit stream's schedule, up to 8 attempts
Other 4xx, a redirectStop retrying that alert

After five days of continuous failure we stop the channel and show Stopped. Fix the destination, then press Resume. We do not post alerts from while it was stopped.