Google Sheets
- Trigger
- Message
Google Sheets · at most every 4 h
Every alert a row in Google Sheets. Writes every alert as a row into a Google Sheets spreadsheet, as a trading journal: alert ID, time, chain, pair, timeframe, price, message, values and test. You copy a small script from the guide into the spreadsheet once and enter its address here. Google Sheets comes with the Pro plan and up. Example: with a formula you count how many alerts came each week.
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.
Script URL
Section titled “Script URL”The Apps Script web app’s address; it ends in /exec. The script to copy is in the guide. Anyone who knows the address can add rows; that is why it stays empty when you export the chain.
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 row into your Google spreadsheet, through the script from the guide (Pro plan).
How to connect the nodes:
- Candle (Price) → RSI (Value)
- RSI (RSI) → Compare (Value)
- Compare (true/false) → Google Sheets (Trigger)
On the board it reads: Google Sheets · 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: Google Sheets", "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": "j3", "type": "core.sheets", "position": { "x": 700, "y": 40 }, "settings": { "url": "https://script.google.com/macros/s/AKfycbExampleScriptId000000/exec" } } ], "edges": [ { "from": "c1.close", "to": "r1.in" }, { "from": "r1.out", "to": "k1.in" }, { "from": "k1.out", "to": "j3.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, google, sheets, excel.
Technical details
Section titled “Technical details”POST with the webhook JSON (version 1) to the Apps Script web app; the redirect Google answers with counts as delivered. The delivery log keeps only a fingerprint of the address.
- Type in the chain:
core.sheets· Version 1.0.0 · Category keyact - Settings in the chain:
url(Script URL),cooldown(At most every … hours),message(Message) - Pins in the chain: Input
in,message - Effect: writes to the trading journal in Google Sheets
- How a node is built
Version 2026.10.25.16 · Changelog