Skip to content

Channels & devices

Notifly has two basic objects. A channel is where messages come from: a service, a script, a monitor, a bot. A device is where you read them: the web admin, the Android or iOS app, the CLI. Channels write, devices read — and one channel message reaches all of your devices at once.

A channel is a message feed with its own key (an app token, prefix A). Everything that sends to a channel — curl, the SDK, a monitor, a heartbeat, an email inbox, the router, Alertmanager or Zabbix — lands in its feed and goes out as a push to your devices.

Create one channel per source or topic: “Prod — errors”, “CI/CD”, “Backups”, “Shop — orders”. That way priority, delivery and quiet time can be tuned separately for each stream.

In the admin panel: Channels → Create channel (or Add channel in the navigation drawer). Enter a name and, optionally, a description, a default priority and a parent channel. The first-run wizard creates your first channel for you — see First login.

Via the API:

Окно терминала
curl -X POST https://api.notifly.ru/application \
-H "X-Notifly-Key: $TOKEN" -H "Content-Type: application/json" \
-d '{"name": "CI/CD", "description": "Builds and deploys", "defaultPriority": 5}'

The response contains the channel with a token field — that is the key for sending. All fields and endpoints are in REST API → Channels.

Channels can be nested: “Prod” → “Prod / API”, “Prod / DB”. In the drawer the tree collapses, the order is changed by drag and drop, and a channel can be moved to another parent. Nesting goes up to 5 levels deep.

What the tree gives you:

  • Rolled-up status. A red or yellow dot on a parent means something is wrong with it or with any descendant (a heartbeat is alerting, a monitor is down).
  • Maintenance windows per subtree. A maintenance window can cover a channel together with all of its children.
  • The “Event sources” tab shows everything that writes to the channel and its descendants.

When a channel is deleted, its child channels are not lost — they move one level up.

The gear icon in the channel feed header opens the settings. Tabs:

TabWhat’s there
GeneralLogo, name, description, app token, default priority (used for messages sent without priority), tags
DeliveryEscalating unread messages to email, SMS, a phone call, Slack, Telegram, Discord, Teams, Mattermost, PagerDuty, Opsgenie or a webhook — with a “Test” button. See Delivery & escalation
SendingThe token and ready-made sending examples, receiver configs for Alertmanager / Grafana and Zabbix
Event sourcesMonitors, heartbeats, metrics, web scripts, email and router rules that write to the channel (including nested ones) — with status and the time of the last check
DangerDeleting the channel. Not available for channels shared with you

Tags (up to 10 per channel; lowercase Latin letters, digits, - and _) are used mainly by API tokens: a token scoped to the prod tag sees every channel with that tag, including ones created later.

The channel’s primary app token is shown in the settings and in the channel list. If a key has leaked, rotate it: the old value stops working immediately. For different sources it is handier to issue several machine keys with their own permissions (send only, or send + read), label and expiry — then one leak does not affect the others. How to do it is described in Channel sharing.

A heartbeat (dead-man switch) is created right in the channel — the Status tab of the channel feed. All heartbeats of the channel, their state and history are shown there too.

Deleting a channel is irreversible: its messages, keys, monitors, heartbeats and questions are deleted with it. Child channels are kept and move one level up. The System service channel (Notifly’s automatic notifications, e.g. about an exhausted daily quota) cannot be deleted.

A device is a session in which you are signed in to your account: a browser tab with the admin panel, the Android or iOS app, the CLI, the MCP server after a browser login. Each device has its own token (prefix C); channel messages reach every active device.

In the admin panel: Management → Devices. For each device you see the platform, last use and IP, and the status; the current one is marked “this device”. From here you can:

  • rename or delete a device — a deleted device loses access immediately;
  • Delete all — sign out everywhere except the current device (e.g. after losing a phone);
  • Channel notifications — choose which channels do not send notifications to this device (see below);
  • Add device — issue a token manually. The token is shown once. For scripts and integrations an API token with limited permissions is a better fit: a device token grants full access to the account.

The number of simultaneously active devices is limited by your plan: Free — 3, Pro — 15, Business — unlimited (see Quotas & pricing). The “N / M” counter is shown above the device list.

  • When you sign in on a new device over the limit, Notifly automatically moves the oldest active device to suspended, so you can always sign in.
  • When you downgrade your plan, the extra (oldest) devices are moved to suspended as well.
  • A suspended device receives no notifications; it can be returned to active only if there is free room in the limit.

Sometimes you want a channel on your laptop but not on your phone at night. You don’t need to delete the channel or lose access to it — you can mute it on a specific device:

  • on the device itself — the mute button in the channel feed header in the admin panel, or the matching item in the channel menu of the mobile app;
  • for any device — Devices → Channel notifications: uncheck the channels you don’t need.

Messages of a muted channel are still visible in the feed — they just don’t arrive as notifications on that device. In the API this is GET|PUT /client/{id}/subscriptions and /device/me/subscriptions — see REST API → Clients.