Skip to content

Automate with n8n, Make, Zapier and more

The Webhook node sends every alert as JSON to an address of your choice (layout under Receiving webhooks). That way you reach automation platforms and, through them, thousands of apps: a row in a spreadsheet, a lamp that turns red, a note in your trading journal. Webhooks come with the Trader plan and up.

Check the sender: signature or fixed header

Section titled “Check the sender: signature or fixed header”

So that only Bellchain triggers your workflow, the receiver checks one of the two:

  • Signature: every webhook carries Bellchain-Signature, an HMAC with your signing secret. You find the secret under Notifications → Webhooks → Show secret. This is the safest way but needs a code step.
  • Fixed header: under More in the Webhook node, enter Header and Header value, such as x-make-apikey and a long random value. Many platforms check such a header without code.
  1. In n8n, create a workflow with the Webhook node: method POST, under Authentication “Header Auth” with the name x-bellchain-token and a long random value.

  2. Activate the workflow and copy the Production URL.

  3. Enter the URL in the Webhook node, and under More the header x-bellchain-token with the same value.

  4. Add what should happen in n8n, such as Google Sheets → Append Row with {{ $json.body.chain.name }}, {{ $json.body.pair }} and {{ $json.body.price }}.

Self-hosted, n8n is free; n8n Cloud counts every run as one execution.

  1. Create a scenario with the module Webhooks → Custom webhook and copy the URL.

  2. Under Advanced settings of the webhook, turn on the API key check and create a key.

  3. Enter the URL in the Webhook node, and under More the header x-make-apikey with the key.

  4. In Make, click Redetermine data structure and fire a test in Bellchain, so that Make learns the fields.

“Webhooks by Zapier” is only available on Zapier’s paid plans. Create a Zap with Webhooks by Zapier → Catch Hook, copy the URL and enter it in the Webhook node. To check the signature, use Catch Raw Hook followed by a Code by Zapier step (JavaScript):

const crypto = require('crypto');
const parts = Object.fromEntries(inputData.signature.split(',').map((p) => p.split('=')));
const expected = crypto.createHmac('sha256', inputData.secret).update(`${parts.t}.${inputData.body}`).digest('hex');
if (expected !== parts.v1) throw new Error('Signature does not match');
return JSON.parse(inputData.body);

signature is the Bellchain-Signature header, body the unchanged content, secret your signing secret.

  1. In Home Assistant, create an automation with the Webhook trigger. Pick a long, random webhook ID and turn off Only accessible from the local network: Bellchain calls from the internet.

  2. Enter the URL in the Webhook node: your public Home Assistant address (for example via Nabu Casa or your own reverse proxy) with /api/webhook/<webhook ID>.

  3. Use the data in the action, such as {{ trigger.json.chain.name }} and {{ trigger.json.price }}.

triggers:
- trigger: webhook
webhook_id: bellchain-make-this-long-and-random
allowed_methods: [POST]
local_only: false
actions:
- action: light.turn_on
target: { entity_id: light.office }
data: { color_name: red }

Without a platform in between, with a small script in your spreadsheet:

  1. Open the spreadsheet, then Extensions → Apps Script, and paste this code:

    function doPost(e) {
    const alert = JSON.parse(e.postData.contents);
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
    // If the same alert arrives twice, it still shows up only once.
    const ids = sheet.getRange('A:A').getValues().flat();
    if (!ids.includes(alert.id)) {
    sheet.appendRow([alert.id, alert.time, alert.chain.name, alert.pair, alert.price, alert.message]);
    }
    return ContentService.createTextOutput('ok');
    }
  2. Click Deploy → New deployment, type Web app, “Execute as: Me”, “Who has access: Anyone”, and copy the URL ending in /exec.

  3. Enter the URL in the Webhook node.

Google answers every call with a redirect; Bellchain knows that and counts the alert as delivered. Anyone who knows the URL can add rows; check the signature in the script as well if needed.

IFTTT only accepts webhooks on its paid plans and reads JSON only with its own filter code. For most workflows, n8n, Make or Zapier are simpler.

Version 2026.10.21.23 · Changelog