# Alerts where your team already looks

20 channels, from Slack and PagerDuty to ntfy and email, plus signed webhooks for your own code.

[Start Free Trial](https://app.tunnelhq.com/register) [Alert channel docs](https://docs.tunnelhq.com/alert-channels/)

## 20 channels

Add one under Integrations, paste what it asks for, and press Send Test.

### Chat9

-   **Slack**Incoming webhook URL
-   **Microsoft Teams**Incoming Webhook or Workflows URL
-   **Google Chat**Space webhook URL
-   **Discord**Channel webhook URL
-   **Mattermost**Incoming webhook URL
-   **Rocket.Chat**Incoming webhook URL
-   **Matrix**Homeserver URL, room ID, access token
-   **Telegram**Bot token and chat ID
-   **Signal**Your signal-cli API URL and numbers

### On-call6

-   **PagerDuty**Events API v2 integration key
-   **Opsgenie**API key and region
-   **Grafana OnCall**Webhook integration URL
-   **Squadcast**Incident Webhook URL
-   **GoAlert**Base URL and integration key
-   **Splunk On-Call**REST endpoint URL and routing key

### Push4

-   **ntfy**Server URL and topic
-   **Gotify**Server URL and application token
-   **Pushover**User key and application token
-   **Browser notifications**Allow them in your browser

### Email1

-   **Email**Addresses, separated by commas

## What an alert says

### Down, then back up

The project, the server, the protocol and the reason, in every tunnel alert.

More: https://docs.tunnelhq.com/concepts/incidents/#getting-notified

### Flapping, summed up

Repeat down alerts wait while a server flaps. One summary follows once it's steady.

### The incident behind it

When it started, how long it lasted, who acknowledged it.

More: https://docs.tunnelhq.com/concepts/incidents/#the-activity-log

## Who hears what

### One switch per channel

Each project has its own integrations. Turn one off, or pick them per server.

More: https://docs.tunnelhq.com/alert-channels/#choosing-which-monitors-alert

### Webhooks for your own code

A signed event when a tunnel or check goes down, degrades or recovers, and when its incident opens and resolves.

More: https://docs.tunnelhq.com/webhooks/

### Signed, retried, logged

Each endpoint has its own secret, retries a failed delivery and shows its last 50 deliveries.

More: https://docs.tunnelhq.com/webhooks/#verifying-deliveries

## Questions

### When does an alert go out?

When a failed check is confirmed, by the next check with the default settings, and again when the server recovers. A server that fails in only some locations alerts only if you switch on **Notify on partial outage** for it.

### What happens when a server keeps flapping?

While a VPN server flips between down and up, repeat down alerts are held back. Recoveries still go out, and once it has been steady for 15 minutes you get one summary of how many times it changed.

### Can it remind me while a server stays down?

Yes. Set **Resend Notification if Down X times consecutively** in the server's settings, or for many servers at once on the Tunnels page. 0 turns it off.

### Which servers alert which channel?

A new integration covers every server in its project, however the server was added. Turn off **Enable for all tunnels and checks in this project** to choose integrations server by server instead.

### How many channels can I add?

5 integrations on Starter, and unlimited on Pro and up. The count covers your whole workspace, and every channel type is on every plan. [Compare plans](https://tunnelhq.com/pricing/)

### Do self-hosted ntfy, Gotify or Matrix servers work?

Yes, as long as they're reachable from the internet. Private and internal addresses are refused.

### How are webhooks signed and retried?

Give an endpoint a secret and every delivery is signed with HMAC-SHA256 in `X-TunnelHQ-Signature`. Each delivery gets 4 attempts by default (3 retries), and every endpoint keeps a log you can redeliver from.

Source: https://tunnelhq.com/integrations/
