Alerts and notifications

xNode360 tells you when a node goes down or an agent stops answering: email, webhook, Slack and Telegram, with the events you choose.

What it is

When a service stops answering, xNode360 opens a single alert on the cause and tells you who is down as a consequence and who is only affected, with the distance in hops. When it comes back, it closes the alert and tells you. You don’t need to keep the map open.

The alert is raised on the root cause: if the database goes down and takes the API and the site with it, you get one alert on the database listing what depends on it, not three separate ones.

When it fires

EventWhenWhat you get
Node downA node goes offline and stays so for about a minute“🔴 NAME is down”, with the nodes down as a consequence and the affected ones
Agent unreachableAn agent is silent for about a minute“🟠 Agent NAME unreachable”: its nodes become unknown, not offline
Everything back upThe node comes back online, or the agent reconnects“✅ NAME is back up”

The one-minute confirmation avoids false alarms: a blip that recovers on its own triggers nothing.

The total delay depends on who runs the check: an agent notices a drop within seconds, a cloud check on its next cycle (every 10 minutes on the free plan, every minute on pro).

An unreachable agent does not mean your services are down: we simply aren’t checking them. That’s why its nodes become unknown and the alert is separate, in orange.

Where to find it

Open the map switcher (the map name, top left) and press Notifications & channels…. The button sits under the “Alert webhook” field and isn’t shown on the demo map, which is read-only. Settings apply to each map. While an alert is open you also see a pill at the top of the map, red for a node and orange for an agent, with the name and the number of nodes down and affected.

How to set it up

  1. Open Notifications & channels… from the map switcher.
  2. Under Which events choose what to receive: a node goes down, an agent is unreachable, everything is back up.
  3. Under Where to send alerts turn on email to the members and paste your Slack and/or Telegram details.
  4. Press Save. It applies at once, to every new alert.

If a field is invalid the panel marks it in red and the Save button stays off.

The channels

Email

Sent to the map’s members (up to 5), only when an alert opens and when it closes, never to free-form addresses. Turn it off with the “Email to the map’s members” box.

Slack

  1. Go to api.slack.com/apps, press Create New App → From scratch, give it a name and pick the workspace.
  2. No permissions (scopes) are needed: open Incoming Webhooks and turn it on.
  3. Press Add New Webhook to Workspace, choose the channel and confirm.
  4. Copy the https://hooks.slack.com/services/… URL and paste it into the panel’s Slack field.

Only hooks.slack.com/services/… URLs are accepted, up to 200 characters.

Telegram

  1. In Telegram open @BotFather, type /newbot and choose a name and a username (it must end in bot): you get a token like 123456789:AA….
  2. Open your bot and send it /start. For a group, add the bot to the group and write a message.
  3. Find the chat id by opening https://api.telegram.org/bot<TOKEN>/getUpdates in your browser, with your token, and looking for "chat":{"id":…. For a group it’s a negative number (-100…); for a public channel you can use @channelname, with the bot as an administrator.
  4. Paste the token and chat id into the panel: both must be filled in.

The bot token is visible to anyone with access to the map. Don’t paste it in chats or shared documents; if you think it leaked, revoke it with /revoke on @BotFather.

Generic webhook

The Alert webhook field in the map switcher receives a JSON POST for every event, https only. The body has a type field and the node or agent data.

typeWhen
outage_openedAlert opened.
outage_updatedThe impact of an already open alert changes (webhook only).
outage_resolvedAlert closed, the node is back up.
agent_unreachableAn agent isn’t answering.
agent_recoveredThe agent is reachable again.
{ "type": "outage_opened", "workspace": "…", "node": { "id": "…", "label": "database" },
  "down": [ { "id": "…", "label": "api", "hop": 1 } ],
  "affected": [ { "id": "…", "label": "site", "hop": 2 } ] }

Preferences per event

BoxEvents included
A node goes downNode down and impact changes
An agent is unreachableAgent unreachable
Everything is back upNode back up and agent reconnected

The filter applies to every channel, the generic webhook included. With no settings everything is on, as before.

Slack and Telegram receive opening, closing and unreachable agents; impact updates go only to the generic webhook, to keep the noise down.

Limits and security

If nothing arrives

There is no “send a test” button yet. To try a channel, create a node with a TCP check against a port where nothing listens, wait about a minute for the alert, then delete it.

Agents · Node states · Health checks and runners