Hesklo
Home/Features/Integrations
Integrations

Notify wherever your team already is.

A connection is an external place an alert can go. Set one up once in the monitor editor and any notify step in any flow can point at it. Credentials are encrypted at rest, and a Send test button confirms it works before you rely on it.

  • Set up once, use anywhere. A connection belongs to the account, so every monitor and every flow can reach it without a second setup.
  • Test before you trust it. Send test fires a real message through the connection, so you find a bad webhook URL now rather than during an outage.
  • Email needs no setup at all. It is a standard connection that is always present, with nothing to add and no address to confirm.
01 · Chat and messaging

The channel your team already watches.

Chat destinations use an incoming webhook, so setup is mostly a matter of pasting a URL.

Slack

Post to a channel through an incoming webhook. The most common first destination, and usually the one that stays.

Discord

Post to a channel through a webhook. Popular with smaller teams running their own infrastructure.

Microsoft Teams

Post to a channel through an incoming webhook, for teams already in the Microsoft stack.

Google Chat

Post to a space through an incoming webhook, the same way the other chat destinations work.

Telegram

Send a message to a chat or channel through your own Telegram bot, using a bot token and chat ID.

Route by severity

Send routine notices to a general channel and real outages to an incident channel, decided on the canvas.

02 · Push and direct

When a channel will not wake anyone.

Channels inform a team. These destinations reach a person who is not looking at a screen.

Email

Built in and always available. Send to your own account address or a team member, with placeholders in the message, an optional Acknowledge link, and the option to follow the on-call rota instead of a fixed recipient.

SMS

Text a number through your own Twilio connection, so you control the sending number and pay Twilio directly.

Phone call

Call a number through Twilio and read the alert aloud, twice. The loudest option available, for the alerts that genuinely warrant it.

Pushover

Push an alert to your phone and desktop through Pushover, which is a lighter alternative to SMS for many teams.

ntfy

Publish to an ntfy topic on ntfy.sh or on your own server, which keeps the delivery path entirely under your control.

Follow the on-call rota

An email step can page whoever is on duty right now rather than a fixed address, so the rota does the routing.

03 · Incidents and issues

Alerts that become records.

PagerDuty

Trigger an incident when the monitor goes down and resolve it automatically on recovery, so nothing is left open by hand.

Jira

Open a ticket with a summary you choose, for outages that need to enter your normal work tracking.

GitHub issue

Open an issue in a repository with a title and body you choose, which suits teams who already run operations out of GitHub.

Webhook

POST the alert to a URL of your own with an optional bearer token. The escape hatch for anything not on this list.

04 · How steps behave

Controls on every notify step.

The connection decides where an alert goes. These settings decide how often it goes there.

Once per incident

The default. A notify step fires once and resets on recovery, so a long outage does not bury you in repeats.

Or on every check

Switch any notify step to fire on every matching check when you want a steady signal rather than a single message.

Flap cooldown

Every notify step has a cooldown, fifteen minutes by default, so a monitor bouncing down and up will not re-send inside that window.

Message placeholders

Compose the message with placeholders such as flow, state, detail and duration, so the alert carries context rather than just a name.

Automatic selection

If you have only one connection of the right type, a new notify block picks it for you instead of making you choose.

Behind a schedule gate

Put a noisy destination behind set hours and days while leaving the critical path open around the clock.

Questions

Common questions

How do I add an integration to Hesklo?
Connections live in the right-hand sidebar of the monitor editor. Choose Add connection, pick a type, give it a recognisable name, fill in the details it asks for, then use Send test to confirm the alert arrives. Once saved, any notify step in any flow can point at it.
Do I need to set up email before I can be alerted?
No. Email is a standard connection that is always present, with nothing to add and no address to confirm. When you drop an Email step into a flow you choose the recipient from a dropdown of your own account address and any team members you have added. Alerts can only be sent to those addresses.
Are my credentials stored securely?
Credentials such as tokens and API keys are encrypted at rest.
Which integrations close themselves when the service recovers?
PagerDuty incidents are resolved automatically on recovery. Other destinations send an alert rather than opening a tracked record, so if you want an all-clear elsewhere you draw one from the monitor up port in the flow.
What if the tool I use is not listed?
Use the webhook connection. It POSTs the alert to any URL with an optional bearer token, which reaches almost any tool that accepts incoming requests, including internal services you have written yourself.
Can one outage notify several places at once?
Yes. A flow can branch to as many notify steps as you like, so a single monitor going down can post to a channel, open a PagerDuty incident and call an engineer in the order you drew.
Keep reading

Related features

Route your first alert in minutes.

Paste a webhook URL, send a test, and draw a line to it from your first monitor.