n8n alerts to Slack, Telegram, and WhatsApp via AlertHub

n8n alerts to Slack, Telegram, and WhatsApp via AlertHub

n8n already talks to hundreds of apps. The trap is adding Slack, Telegram, Discord, and email nodes at the end of every scenario. When the team leaves Slack, you edit thirty workflows.

AlertHub is a better last node. One HTTP Request to https://api.thealerthub.com/sendAlert, then Slack, Telegram, WhatsApp, Discord, Teams, and the live dashboard. n8n stays the automation spine; chat tools can change next quarter.

There is no official n8n app yet. HTTP is enough — same contract as the Ingestion API. If you already standardized on Zapier or Make, see Zapier vs Make for alerts.

When n8n vs Zapier vs native webhooks

SituationPrefer
Self-hosted workflows, branches, code nodesn8n → AlertHub
No-code SaaS, 8k+ apps, invite-basedZapier or Make
Stripe, Shopify, GitHub host webhooksNative URL, skip n8n
WordPress hooksOfficial plugin

Only warning and critical leave AlertHub to channels. Use info for audit rows.

Setup (once)

  1. Create a project at app.thealerthub.com and copy the secret key.
  2. Connect destinations (Telegram first if you are solo).
  3. In n8n, add HTTP Request: method POST, URL https://api.thealerthub.com/sendAlert, JSON body below.

Store the key in n8n Credentials / environment variables, not in a Set node that gets exported.

Alert 1: HTTP Request node (the default last step)

JSON body example (n8n expressions in double braces — those are n8n expressions, not AlertHub placeholders):

{
  "ah_key": "YOUR_PROJECT_KEY",
  "ah_title": "n8n: {{ $json.subject }}",
  "ah_description": "{{ $json.message }}",
  "ah_level": "warning",
  "ah_source": "n8n"
}

If the incoming item is already a Stripe-like object, you can instead put AlertHub placeholders in ah_title (Payment {{data.object.id}}) and send the raw object as extra JSON fields — AlertHub will interpolate {{data.object.id}} server-side. Do not mix the two styles in one string unless you know which engine runs first (n8n runs before the HTTP body is sent).

Alert 2: Filter before you page

Put an n8n IF / Filter node before HTTP Request:

  • Order total >= 100 → ah_level: warning
  • Else skip the node, or POST info for the dashboard only

That is the self-hosted equivalent of a Zapier Filter. It protects WhatsApp quota.

Alert 3: Cron + HTTP as a tiny uptime check

n8n Schedule → HTTP Request to your /health → IF status not 200 → AlertHub critical. For dedicated monitors, see uptime alerts.

Ideas to squeeze more value

  • Error Workflow. n8n’s error workflow should POST critical with $json.execution.id and the workflow name so broken automations page you — not only business events.
  • Do not notify Slack from n8n and AlertHub. Pick one last hop.
  • Airtable / HubSpot. You can stay in n8n or use the existing Make guide.

FAQ

Is there an AlertHub node in n8n?
Not required. HTTP Request is the integration.

Self-hosted n8n cannot reach the internet?
Then AlertHub cannot receive the POST. Allowlist api.thealerthub.com or run the workflow where egress exists.

Can I use query parameters instead of JSON?
Yes. Same ah_* fields as GET/POST query — handy for tools that cannot set a body.

Next steps

Add the HTTP Request node, send a test warning, and delete the duplicate Slack nodes. Compare with Zapier alerts if you are not self-hosting.

Related: Zapier vs Make · Ingestion API