Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tallwatch.com/llms.txt

Use this file to discover all available pages before exploring further.

You can wire any incident event to any channel. The seven kinds differ in setup effort, who they reach, and how they format the alert.

Quick comparison

ChannelSetup timeBest forAcknowledge from channel?
Email1 minuteIndividuals, distribution lists, audit trailNo (use the dashboard)
Slack2 minutesEngineering teams that live in SlackNo (planned)
Discord2 minutesCommunities, indie teams on DiscordNo
Microsoft Teams3 minutesEnterprise teams on Microsoft 365No
Telegram5 minutesGroups outside the corporate suiteNo
PagerDuty2 minutes24/7 on-call rotations with pagingYes (auto-syncs back to Tallwatch)
Webhook10 minutesCustom integrations, anything not in the list aboveDepends on your receiver

How to choose

Use Slack, Discord, or Microsoft Teams. Pick whichever your team already lives in. The structured card format makes alerts skimmable in a busy channel.
Use PagerDuty. It handles rotation, escalation, mobile push, and SMS at the device layer so you don’t have to wire that yourself. Tallwatch sends the trigger event; PagerDuty’s policy decides who wakes up.
Use Email with a distribution list address. Every alert lands in everyone’s inbox and the thread history survives any chat platform churn.
Use Webhook. Sign the request with the per-channel secret, deserialize the payload, and route it however you want. Custom payload shape supported via Handlebars templates.
Telegram is supported natively. For anything else, use a webhook — most chat tools have a “convert webhook to message” pattern documented on their side.

How many channels should a workspace have?

Most teams end up with three to six channels:
1

One always-on team channel

Slack, Discord, or Teams. Routes every incident event to a single team-visible feed. This is the default for any monitor without a more specific policy.
2

One paging channel for severe incidents

PagerDuty bound to a level-1 escalation step that fires only if no one acknowledges the level-0 chat alert within 5 to 15 minutes.
3

One email channel per stakeholder group

A “billing-stakeholders” email channel that fires only on the monitors that affect billing. An “infra-team” email channel that fires on all monitors. Keep the lists short so notifications stay credible.
4

One webhook channel per integration

Need to log alerts to your incident database, ticketing system, or analytics warehouse? Add one webhook channel per destination and bind it to the monitors that should feed it.
Avoid the trap of binding every channel to every monitor. The fastest way to burn out an on-call team is to send the same alert eight different ways. Pick one primary channel per audience and let escalation policies decide when to widen.

Common configuration tips

  • Test before you trust. Every channel form has a Send test alert button. Click it before binding the channel to a real monitor. A test that does not arrive is much easier to debug than a real incident that does not arrive.
  • Name channels for the audience, not the tool. #incidents-billing is better than Slack webhook 3. The channel list reads cleaner and your on-call team knows where alerts go.
  • Disable, do not delete, when in doubt. Channels you no longer want immediately can be flipped off via the Enabled toggle. The audit history of past dispatches stays intact.

What happens if a channel breaks

Tallwatch never silently drops an alert when a channel is rate-limited. A dispatch that hits the per-channel 30-second window is queued and re-delivered as soon as the window opens. After a few attempts the retry backs off to 5-minute intervals but never gives up. See Default Alerts for the full delivery contract.
If the channel itself is broken — webhook URL revoked, Slack workspace deleted, PagerDuty integration disabled — the dispatch is marked failed and surfaces on the incident’s detail page. The next dispatch on the same channel will not retry automatically (the channel is broken, not rate-limited). Fix the channel, then resend manually from the incident.