Skip to content

ntfy

Actions

  • Trigger
  • Message
ntfy

ntfy.example.com · at most every 4 h

    This is how the node looks on the board: inputs on the left. As an action it sits at the end of the chain.

    Push via ntfy, also from your own server. Sends the alert via ntfy to every device subscribed to a topic: Android, iPhone or browser. Subscribe to a topic with a hard-to-guess name in the ntfy app and enter the same name here. On ntfy.sh you need an account with a paid tier and its access token; with your own ntfy server it also works without. ntfy comes with the Pro plan and up. Example: with priority “Max”, your Android phone vibrates for a long time on “Price above 100,000”.

    When an action alerts, with a 4-hour cooldownAn alert when the trigger switches to true; if it stays true or switches again during the cooldown, no further one comes.Trigger, e.g. RSI below 30Alert · cooldown 4 h0 h4 h8 h12 h
    • signal true
    • alert goes out
    • held back
    • cooldown running
    The alert comes when the trigger switches from false to true. If it stays true, no second one comes. If it switches again during the cooldown, Bellchain holds the alert back (circle); the replay counts such cases as “held back by the cooldown”.

    The settings appear on the right under “Properties” once you click the node on the board. Below each field you find the same explanation as here.

    Default: https://ntfy.sh · https address, at most 200 characters

    Address of your ntfy server; the default is ntfy.sh. Your own server must be reachable from the internet via https.

    Default: empty · any text, at most 64 characters, must be filled in before activating, empty when you export a chain

    The topic you subscribed to in the ntfy app: letters, digits, - and _, at most 64 characters. Anyone who knows the name can read along; pick something hard to guess such as bellchain-7Kq2xW9. That is why it stays empty when you export the chain.

    Default: empty · any text, at most 70 characters, empty when you export a chain

    Token of your ntfy account, starts with tk_ (Account, Access tokens). Required on ntfy.sh, on your own server only if the topic is protected. It stays empty when you export the chain.

    Default: Default

    How loud the alert is on the phone, from Min to Max; the default is 3.

    • Min: No sound or vibration, only in the list.
    • Low: No sound, collapsed on some devices.
    • Default (default): Sound and vibration like other apps.
    • High: Long vibration and a pop-over notification.
    • Max: Very long vibration; depending on the phone’s settings even in “Do Not Disturb”.

    Default: 4 h · from 0 to 168 h

    Cooldown: after an alert the action waits at least this long before the next one. 4 hours suit most chains. 0 means an alert every time the condition turns true.

    Default: {{chain}}: {{values}} · any text, at most 1,000 characters, multi-line

    The alert text. {{chain}} inserts the chain’s name, {{values}} the values of the nodes, {{price}} the price; there are also {{pair}}, {{coin}} and {{time}}. Use **bold**, _italic_ and `code` to highlight text. If a message template is connected to the Message input, its text is used instead.

    Sends the alert to the topic on your own ntfy server, with high priority (Pro plan).

    Example chain: Candle, RSI, Compare, ntfyConnections: Candle → RSI, RSI → Compare, Compare → ntfy.CandleBTC/USDT · 1hRSI14 candlesCompareRSI 14 below 30ntfyntfy.example.com · at mostevery 4 h

    How to connect the nodes:

    1. Candle (Price) → RSI (Value)
    2. RSI (RSI) → Compare (Value)
    3. Compare (true/false) → ntfy (Trigger)

    On the board it reads: ntfy.example.com · at most every 4 h

    Chain as JSON

    To try it, copy it and paste it in the editor under “Import”. Importing creates a new chain.

    ntfy.json
    {
    "name": "Example: ntfy",
    "version": 1,
    "nodes": [
    { "id": "c1", "type": "core.candle", "position": { "x": 40, "y": 40 }, "settings": { "pair": "BTC/USDT", "timeframe": "1h" } },
    { "id": "r1", "type": "core.rsi", "position": { "x": 260, "y": 40 }, "settings": { "length": 14 } },
    { "id": "k1", "type": "core.compare", "position": { "x": 480, "y": 40 }, "settings": { "operator": "below", "value": 30 } },
    { "id": "n1", "type": "core.ntfy", "position": { "x": 700, "y": 40 }, "settings": { "server": "https://ntfy.example.com", "topic": "bellchain-7Kq2xW9", "priority": "4" } }
    ],
    "edges": [
    { "from": "c1.close", "to": "r1.in" },
    { "from": "r1.out", "to": "k1.in" },
    { "from": "k1.out", "to": "n1.in" }
    ]
    }

    Only matching types connect: number series to number series (round pin), signal to signal (square), message to message (diamond).

    Direction Pin Type Note
    Input Trigger Signal (true/false) required
    Input Message Message optional
    Output – – No outputs.
    • Search also finds it under: notification, message, alert, ntfy, push, self-hosted.

    POST with JSON to the server (title = chain name, click opens the chain, buttons for chart and exchange), token as bearer. The delivery log keeps only the server and a fingerprint of the topic.

    • Type in the chain: core.ntfy · Version 1.0.0 · Category key act
    • Settings in the chain: server (Server), topic (Topic), token (Access token), priority (Priority), cooldown (At most every … hours), message (Message)
    • Pins in the chain: Input in, message
    • Effect: notifies via ntfy
    • How a node is built

    Version 2026.10.21.23 · Changelog