Skip to content
New storyWe built Skald to count visitors. It caught an AI-key thief.
SkaldEvery visit, truly told.

Integrations · Slack

Slack analytics alerts: one plain message when something changes

Slack analytics alerts from Skald post one message to your channel each time an alert opens: the site, the title, and the detail with its numbers. One Slack incoming webhook, one tick box, one test.

Slack analytics alerts are messages an analytics tool posts to a Slack channel when a figure crosses a rule. Skald sends its site, AI, crawler and security alerts as the signed webhook event alert.opened, and sends a Slack address Slack's own message shape. One of the Skald integrations; the rules are on web analytics alerts.

30-day free trial · no card · we set it up within one working day · free to self-host

# site-alerts · sample

Skald APP11:40

[example.com] 14 server errors in 10 minutes Requests answered 5xx. The Health tab lists the paths; the Recent requests tab shows each one.

Skald APP07:30

[example.com] First visit ever from a citation in ChatGPT The first visit ever that followed a citation from ChatGPT: 09:14 on Tue 20 Oct, landing on /docs/setup/.

Sample messages. The name and icon are the Slack app's you add the webhook to.

[01] what lands in the channel

A Slack alert for each rule, in plain words

Each alert says its rule and its figures, in visits (people who clicked) or requests (crawlers), never both. Pick an alert to see the message Slack gets. The rules and their thresholds are on web analytics alerts.

pick an alert

Skald APP09:12

[example.com] The site did not answer its heartbeat The 5-minute heartbeat request: its last beats failed. If the log has stopped too, the web server itself is down. Check: curl -I the home page; systemctl status nginx.

Skald's own heartbeat asks your site for a page every 5 minutes. Two misses in a row open the alert.

Sample messages, shortened where the full detail runs longer.

[02] set up

Send Skald alerts to Slack in three steps

No Slack sign-in and no code. Slack gives you an address for the channel; Skald posts to it.

You need to be an owner or admin of the site's organisation. The address must start with https://. Each Slack channel has its own address: add one webhook per channel.

  1. Add Slack's incoming webhook

    In Slack, add an Incoming Webhook to the channel and copy its address. It starts with https://hooks.slack.com/.

  2. Paste it in Skald, tick alert.opened

    Settings › Integrations › Add an outgoing webhook. Paste the address, tick alert.opened, press Add webhook. Slack does not check the secret, so you can ignore it.

  3. Send a test

    Press Send a test. A line appears in the channel. Each new alert then posts one message.

[03] two shapes

Slack gets text; any other tool gets every figure

A Slack incoming webhook takes only a short text, so Skald knows a hooks.slack.com address and sends Slack's own shape. Any other address gets the full message, signed, with the figures and their unit.

flip it
POST https://hooks.slack.com/services/<your-path> · sample
{"text": "[example.com] 14 server errors in 10 minutes\nRequests answered 5xx. The Health tab lists the paths; the Recent requests tab shows each one."}

Sample bodies. Every message is signed with the webhook's own secret; Slack ignores the signature.

[04] when it posts

One message per alert, never a flood

A channel you learn to mute is worse than none. So each alert posts once, when it opens, and only from figures Skald trusts.

  1. Once, when it opens

    alert.opened is sent once for each new alert. Site alerts are checked every 2 minutes; AI and crawler alerts once a day.

  2. Retried, then given up

    Each delivery has 10 seconds. A failed one is tried again after 1 minute, 5 minutes, 30 minutes, 2 hours and 12 hours, with the same id, then given up.

  3. Never a person

    An alert holds figures and words only: nothing about a person, never a secret. Only https addresses, never redirected.

[05] more than alerts

AI reading changes and new leads in Slack

The same webhook can tick more events. A sales channel can get every booked demo and every deal won; a content channel the AI alerts, such as an assistant starting or stopping reading a page.

#sales · sampleone line each
  1. 10:02 [example.com] conversion.completed demo (completed) from AI assistant landed on /pricing/lead
  2. 14:30 [example.com] lead.won demo (won) from Search engine landed on /docs/setup/won
  3. 07:30 [example.com] ChatGPT started reading /compare/plausible/alert.opened · AI

[06] what it does not do

What Slack alerts from Skald do not do

A plain message, posted once. Here is what that leaves out.

What it does not do

  • Slack gets plain text only: no buttons, and no reply back to Skald.
  • Thresholds are set in the server's config by whoever runs Skald. The dashboard switches each rule on or off per site.
  • No "resolved" message to Slack: alert.opened fires when an alert opens. Site down and logging stopped send their resolved line by mail.
  • The Integrations page needs team accounts and an owner or admin.
  • An alert says what the log showed. Skald does not fix the site or block anything itself.

questions

Slack analytics alerts FAQ

Straight answers, including what Skald does not do.

How do I send analytics alerts to Slack?

Add an Incoming Webhook to the Slack channel and copy its address. In Skald, paste it under Settings › Integrations › Add an outgoing webhook, tick alert.opened, press Add webhook, then Send a test. A line appears in the channel, and each new alert posts one message from then on.

Which Skald alerts can post to Slack?

Any alert, when it opens: site down, logging stopped, server errors, a 404 surge, a crawler burst, a new crawler, a traffic drop, the first visit from an AI answer, a crawler gone silent, an assistant starting or stopping reading a page, and the security alerts. Which rules are on is set per site on Site › Alerts.

What does a Skald alert look like in Slack?

One plain text message: the site in brackets and the alert's title on the first line, then the detail with its numbers, in visits or in requests. For example: [example.com] 14 server errors in 10 minutes, then the line that says where to look.

Will Slack get the same alert again and again?

No. alert.opened is sent once for each new alert. A failed delivery is tried again after 1 minute, 5 minutes, 30 minutes, 2 hours and 12 hours, then given up, and every try carries the same id.

Can conversions go to Slack too?

Yes. Tick conversion events on the same webhook, such as conversion.completed or lead.won. Slack gets one line for each: the site, the event, the action and its stage, the source and the landing page. It never holds a name or an email.

Can alerts go to more than one Slack channel?

Yes. Each Slack channel has its own incoming webhook address. Add each one as its own outgoing webhook in Skald, and tick the events that channel should get.

$ tail -f access.log | skald

See what AI does with your site. Free for 30 days.

No card. We set up hosted Skald for you within one working day, or you self-host it free. Every line of your log, sorted and added up.

Start free trial Live demo