Notion
- Trigger
- Message
Notion · at most every 4 h
Every alert a page in Notion. Writes every alert as a page into a Notion database, as a trading journal. Bellchain fills columns such as Time, Pair, Price, Message and Alert ID if they exist; the title gets the chain and pair. You need an internal integration in Notion and share the database with it. Notion comes with the Pro plan and up. Example: every alert of “BTC Dip Buyer” is a row in your journal, and you note there whether you traded.
What it looks like
Section titled “What it looks like”- signal true
- alert goes out
- held back
- cooldown running
Settings
Section titled “Settings”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.
Integration token
Section titled “Integration token”The token of your internal integration from notion.so/profile/integrations; it starts with ntn_. Share the database with this integration in Notion. The token stays empty when you export the chain.
Database
Section titled “Database”The database’s address from the browser or its ID. Bellchain fills columns such as Time, Pair, Price, Message and Alert ID if they exist.
At most every … hours
Section titled “At most every … hours”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.
Message
Section titled “Message”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.
Example
Section titled “Example”Writes every alert as a page into your journal database in Notion (Pro plan).
How to connect the nodes:
- Candle (Price) → RSI (Value)
- RSI (RSI) → Compare (Value)
- Compare (true/false) → Notion (Trigger)
On the board it reads: Notion · 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.
{ "name": "Example: Notion", "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": "j1", "type": "core.notion", "position": { "x": 700, "y": 40 }, "settings": { "token": "ntn_example0000000000000000000000", "database": "https://www.notion.so/Trading-Journal-1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d" } } ], "edges": [ { "from": "c1.close", "to": "r1.in" }, { "from": "r1.out", "to": "k1.in" }, { "from": "k1.out", "to": "j1.in" } ]}Inputs and outputs
Section titled “Inputs and outputs”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. |
Good to know
Section titled “Good to know”- Search also finds it under: notification, message, alert, journal, log, spreadsheet, table, notion.
Technical details
Section titled “Technical details”POST to api.notion.com (version 2025-09-03): a page in the database’s data source, columns by name and type, message and values as paragraphs. The delivery log keeps only the database ID.
- Type in the chain:
core.notion· Version 1.0.0 · Category keyact - Settings in the chain:
token(Integration token),database(Database),cooldown(At most every … hours),message(Message) - Pins in the chain: Input
in,message - Effect: writes to the trading journal in Notion
- How a node is built
Version 2026.10.25.16 · Changelog