What each service asks for
- Microsoft Teams: the address of a workflow “Post to a channel when a webhook request is received” in that channel.
- Discord: a channel webhook (Channel settings, Integrations, Webhooks). Alerts never mention @everyone or a role.
- Telegram: a bot you create with @BotFather, added to the chat, and the chat id.
- Google Chat: a webhook of the space (Apps and integrations, Webhooks).
- PagerDuty: the integration key of an Events API v2 integration. A confirmed incident opens a PagerDuty incident and its recovery resolves it.
- Opsgenie: the key of an API integration and the region of your account (EU or US). An incident creates an alert and its recovery closes it.
- ntfy: the address of a topic on ntfy.sh or on your own ntfy server, and a token if the topic is protected. Anyone who knows a public topic’s name can read it, so pick a long name or protect it.
Good to know
- Each address, token and key is stored sealed and is never shown again: the page shows the service and a short fingerprint, never the token, the key or the full address. An address must belong to the service itself (for example
discord.comfor Discord); anything else is refused. ntfy is the exception: it may be your own server on a public address. - The alert names the site, what each region saw and a link to the incident, with an Acknowledge button or link where the service has one (acknowledge and escalate).
- A channel can belong to one client: under Whose alerts choose that client’s sites, and it gets that client’s alerts only.
- Each channel gets a limited number of messages a minute, below the service’s own limits; the rest wait a minute instead of being lost.
- These integrations were tested against the formats each service documents, not yet against the services themselves.