Automations

Automations let you turn “when X happens, do Y” into a persistent rule that Ethonode evaluates for you. Available on Pro (10 rules per workspace) and Power (50 rules).

Open Settings → Automations to create and manage rules.

Triggers

Rules can fire on six trigger types:

  • price_threshold— when a token’s price crosses a level (e.g., BTC above $80,000).
  • portfolio_threshold — when total portfolio value crosses a USD figure.
  • allocation_threshold— when a token’s share of your portfolio crosses a percentage (e.g., BTC above 50%).
  • schedule — on a cron-style schedule (15-minute floor; finer cadences are blocked at save-time).
  • sync_complete — every time a connected wallet or exchange finishes syncing.
  • custom_column_change — when a value in one of your custom columns changes.

Actions

Each rule can run up to three actions:

  • send_email — sends to your account email. Supports template variables: {{symbol}}, {{value}},{{portfolio_value}}, {{percent_change}},{{fired_at}}, {{automation_name}}.
  • create_snapshot — captures a portfolio_snapshots row (also visible in your performance chart history).
  • add_to_watchlist — appends the symbol to your watchlist.
  • force_sync — immediately re-syncs a specific data source.
  • webhook (Power only) — POSTs JSON to an HTTPS URL you provide. Blocked against private IP ranges (RFC 1918, loopback, link-local) at fire time, even if DNS changes between save and fire.

Cooldown

Each rule has a per-rule cooldown (default 60 minutes; minimum 1). After firing, the rule won’t fire again until the cooldown elapses — useful when prices hover around a threshold and would otherwise trigger repeatedly. Adjust per rule in the editor.

Limits + safety

  • Per-user daily fire cap: 500 fires across all rules in 24 hours. Once you’ve hit the cap, additional fires are skipped (you’ll see them in the per-rule run log) until the rolling window slides.
  • Per-user webhook cap: 100 webhook calls / 24 hours. Tighter because webhooks can leak data to third parties.
  • Plan downgrade safety: if you downgrade between save and fire, actions that require a higher plan (e.g., webhook on Pro) silently skip rather than failing the whole rule.
  • Global kill-switch: ops can disable all automations in seconds via a single SQL flag. Used during incident response — never expected during normal operation.

Testing a rule

Click Test next to any rule. This evaluates the trigger against current state without running the actions and shows what would happen — handy for verifying a price_threshold is wired correctly before waiting for the next cron tick.

When does it actually fire?

Cron-evaluated triggers (price / portfolio / allocation / schedule) are scanned every 5 minutes. Inline triggers (sync_complete, custom_column_change) fire immediately when the underlying event happens.

Examples to copy

1. Email me when BTC drops below $60k

  • Trigger: price_threshold · symbol BTC · operator below · value 60000
  • Action: send_email with subject {{symbol}} below {{threshold}}: {{observed_price}}

2. Daily portfolio snapshot at 9am UTC

  • Trigger: schedule · cron 0 9 * * *
  • Action: create_snapshot

3. Webhook into Discord when I rebalance toward BTC > 60%

  • Trigger: allocation_threshold · symbol BTC · operator above · percent 60
  • Action: webhook · url https://discord.com/api/webhooks/...
Webhooks send data to a third party.The payload includes the rule snapshot (symbol, value, fired_at). Don’t webhook to a service you wouldn’t want to know your portfolio composition. Power plan only.

Audit history

Every fire logs a row to automation_runs with the trigger snapshot, per-action results, and overall status (success / partial / error). Pro keeps 30 days of history; Power keeps full history. The full per-rule log endpoint at /api/automations/[id]/runs ships in V2.1.

Asking the AI to create a rule

The AI Panel can’t yet create automations directly (that’s a V2.1 propose- then-confirm extension). For now, use the rule editor in Settings.

Last updated: April 2026