CodingIdeas.ai

HeartbeatHQ — Self-Hosted n8n Health Monitor That Tells You the Workflow Stopped Before Your Client Does

Your self-hosted n8n instance stopped firing scheduled workflows at 3am and you found out Tuesday when the client asked why nothing ran. HeartbeatHQ is a Prometheus-compatible health monitor for self-hosted n8n with a Grafana dashboard template included and a managed SaaS option for teams who hate ops. Ship the ops layer your n8n stack never came with.

Difficulty

intermediate

Category

Developer Tools

Market Demand

High

Revenue Score

8/10

Platform

Web App

Vibe Code Friendly

No

Hackathon Score

5/10

Validated by Real Pain

— sourced from real community discussions

Redditreal demand

Self-hosted n8n operators report that scheduled workflows silently stop firing after server restarts or queue failures, with no native external alerting, forcing them to check the n8n UI manually or wait for client complaints to discover downtime.

What is it?

Self-hosted n8n has a brutal blindspot: scheduled workflows can silently stop running due to server restarts, queue failures, or misconfigured cron expressions, and n8n gives you zero external alerting. The current workaround is a combination of manual UI checks, hand-built Slack bots, and client complaints. HeartbeatHQ exports n8n execution metrics to a Prometheus-compatible endpoint, ships a ready-to-import Grafana dashboard, and offers a managed SaaS version that sends SMS and Slack alerts when expected workflows go quiet. Buildable in two weeks using n8n REST API polling, a lightweight Prometheus metrics exporter in Node.js, and a Next.js dashboard. The managed SaaS tier handles users who cannot run Grafana themselves. Fully buildable today — n8n REST API is stable, Prometheus client for Node.js is mature, and the pain is validated across dozens of r/n8n posts.

Why now?

The June 2026 surge in AI-assisted n8n self-hosting means thousands of non-DevOps users are running production workflows on Docker instances with zero monitoring — the observability gap has never been wider or more painful.

  • Prometheus metrics endpoint exporting n8n execution counts, failure rates, and last-fired timestamps per workflow (Implementation note: poll n8n REST API every 30s, expose /metrics endpoint in prom-client format)
  • Pre-built Grafana dashboard JSON ready to import in one click
  • Managed SaaS dashboard with SMS and Slack alerts when a scheduled workflow goes quiet beyond a configurable threshold
  • Multi-instance support for agencies managing n8n for multiple clients

Target Audience

Self-hosted n8n operators, DevOps-adjacent automation builders, and agencies managing n8n for clients — est. 15,000 production self-hosted instances

Example Use Case

DevOps engineer Tom manages n8n for 8 clients. HeartbeatHQ detects that a nightly invoice sync workflow on client 3 has not fired in 6 hours, sends an SMS at 4am, and Tom fixes a crashed Docker container before anyone else wakes up.

User Stories

  • As a self-hosted n8n operator, I want an SMS when a scheduled workflow has not fired in 2 hours, so that I fix it before the client calls.
  • As an agency managing 8 client n8n instances, I want a single dashboard showing last-fired time for every workflow across all instances, so that I spot issues in one glance.
  • As a solo developer, I want to import a ready-made Grafana dashboard for my n8n metrics in one click, so that I have observability without spending a day configuring it.

Done When

  • Workflow discovery: done when user enters n8n URL and API key and sees all workflows with last-fired timestamps within 15 seconds.
  • Silence alert: done when a workflow passes the configured silence threshold and an SMS arrives on the configured phone number within 3 minutes.
  • Grafana dashboard: done when grafana-dashboard.json imports successfully and shows live execution metrics without manual panel configuration.
  • Multi-instance: done when user adds a second n8n instance and both appear in the same dashboard with independent workflow lists.

Is it worth building?

$199/month managed SaaS x 30 customers = $5,970 MRR at month 4. $49 one-time self-hosted license x 200 downloads = $9,800 additional.

Unit Economics

CAC: $20 via open-source GitHub funnel. LTV: $2,388 (12 months at $199/month). Payback: 0.1 months. Gross margin: 90%.

Business Model

SaaS subscription plus one-time self-hosted license

Monetization Path

Free self-hosted open-core. $199/month managed SaaS with SMS alerts and multi-instance. $49 one-time pro Grafana dashboard bundle.

Revenue Timeline

First dollar: week 2 via $49 dashboard bundle. $1k MRR: month 3. $5k MRR: month 7.

Estimated Monthly Cost

Vercel: $20, Supabase: $25, Twilio SMS: $15, Sentry: $0. Total: ~$60/month at launch.

Profit Potential

Solid lifestyle business at $5k–$10k MRR with low support overhead.

Scalability

High — multi-instance agency dashboard, white-label, Datadog integration.

Success Metrics

Week 2: 50 GitHub stars, 10 self-hosted installs. Month 2: 15 managed SaaS customers. Month 4: 35 paying.

Launch & Validation Plan

Post Grafana dashboard JSON free in r/n8n, collect emails from interested users, offer managed SaaS waitlist.

Customer Acquisition Strategy

First customer: post free Grafana dashboard template on r/n8n and GitHub, collect emails from the thread, offer managed SaaS to the most engaged responders at 50% off. Ongoing: GitHub open-core stars, n8n community forum, Docker Hub listing, ProductHunt.

What's the competition?

Competition Level

Low

Similar Products

UptimeRobot monitors HTTP endpoints but not workflow-level execution health. Better Stack covers uptime but not n8n-specific metrics. Grafana Cloud is the closest but requires manual setup — HeartbeatHQ ships the complete configured layer.

Competitive Advantage

Only product that ships both a self-hosted Prometheus exporter and a managed SaaS dashboard for n8n — no other tool covers this specific gap.

Regulatory Risks

Low regulatory risk. Ensure n8n API keys stored encrypted. GDPR: offer EU data residency option for agencies.

What's the roadmap?

Feature Roadmap

V1 (launch): silence detection, SMS/Slack alerts, Grafana dashboard template, SaaS dashboard. V2 (month 2-3): multi-instance agency view, alert digest email, custom silence thresholds. V3 (month 4+): Datadog integration, anomaly detection, white-label.

Milestone Plan

Phase 1 (Week 1-2): Prometheus exporter and silence detection working end-to-end. Phase 2 (Week 3-4): SaaS dashboard, Stripe billing, 5 beta users. Phase 3 (Month 2): 15 paying managed SaaS customers.

How do you build it?

Tech Stack

Next.js, Node.js Prometheus client, n8n REST API, Supabase, Grafana dashboard JSON, Twilio SMS — build with Cursor for the metrics exporter, v0 for the SaaS dashboard

Suggested Frameworks

prom-client npm, n8n REST API, Supabase JS

Time to Ship

2 weeks

Required Skills

Node.js, Prometheus client library, n8n REST API, Next.js, Twilio.

Resources

prom-client npm docs, n8n REST API docs, Grafana dashboard JSON docs, Twilio SMS API.

MVP Scope

exporter/index.ts (Prometheus metrics exporter), exporter/n8n-client.ts (n8n REST API polling), app/page.tsx (SaaS dashboard), app/api/instances/route.ts (multi-instance CRUD), app/api/alerts/route.ts (alert rule engine), lib/db/schema.ts (instances, workflows, alert_rules), lib/notify.ts (Twilio + Slack), .env.example, grafana-dashboard.json (importable template), README.md (self-hosted setup in 5 commands)

Core User Journey

Enter n8n URL and API key -> workflows discovered and fingerprinted -> silence threshold set -> first SMS alert fires when workflow goes quiet -> upgrade to multi-instance tier.

Architecture Pattern

Cron polls n8n REST API -> prom-client builds metrics -> /metrics endpoint exposed -> Grafana scrapes OR managed SaaS scrapes -> threshold breach detected -> Twilio SMS + Slack fired -> alert logged in Supabase.

Data Model

User has many Instances. Instance has many MonitoredWorkflows. MonitoredWorkflow has SilenceThreshold and many AlertEvents.

Integration Points

n8n REST API for execution data, prom-client for Prometheus metrics, Supabase for instance and alert storage, Twilio for SMS, Slack Webhooks, Stripe for billing, Grafana for self-hosted visualization.

V1 Scope Boundaries

V1 excludes: cloud n8n support, custom metrics, mobile app, Datadog integration, white-label.

Success Definition

A paying agency owner connects three client n8n instances to HeartbeatHQ managed SaaS, receives a real SMS alert catching a stopped workflow, and renews without any founder involvement.

Challenges

Open-core distribution is tricky — free self-hosted version must be genuinely useful or the paid tier never converts. GitHub stars do not equal paying customers. Budget 3x more time for community distribution than building.

Avoid These Pitfalls

Do not skip the open-source tier — paid-only with no free option will get zero traction in the technical n8n community. Do not price below $99/month for managed SaaS or it will not cover support costs. Do not build the multi-instance tier before landing 5 single-instance paying customers.

Security Requirements

Supabase Auth with magic link, RLS on all user tables, n8n API keys AES-256 encrypted at rest, rate limiting 100 req/min per IP, GDPR deletion endpoint.

Infrastructure Plan

Vercel for Next.js SaaS dashboard, Supabase for Postgres and auth, Sentry for errors, GitHub Actions CI, open-source exporter on npm and Docker Hub.

Performance Targets

500 metric scrapes/day at launch, /metrics endpoint under 100ms, SaaS dashboard load under 2s, SMS alert latency under 3 minutes from silence detection.

Go-Live Checklist

  • Security audit complete.
  • Payment flow tested end-to-end.
  • Error tracking live.
  • Monitoring configured.
  • Custom domain with SSL.
  • Privacy policy published.
  • 5 beta users signed off.
  • Rollback plan documented.
  • Launch post ready for r/n8n and GitHub.

First Run Experience

On first run: three seeded demo n8n instances with fake workflows are pre-loaded, one showing a red silence alert. User can immediately explore the dashboard and see what an SMS alert looks like. No manual config required: demo mode works without any API keys or real n8n instance.

How to build it, step by step

1. Define lib/db/schema.ts with instances, monitored_workflows, alert_rules, alert_events tables. 2. Build exporter/n8n-client.ts that polls n8n REST API /executions and /workflows endpoints. 3. Build exporter/index.ts with prom-client exposing execution_count, last_fired_at, and failure_rate gauges per workflow. 4. Build silence detection logic in app/api/alerts/route.ts comparing last_fired_at to threshold. 5. Wire Twilio SMS and Slack webhook in lib/notify.ts. 6. Run npx create-next-app heartbeathq and build the SaaS dashboard with v0 showing per-instance workflow health grid. 7. Build app/api/instances/route.ts for multi-instance CRUD with Supabase. 8. Export Grafana dashboard JSON from a local Grafana instance and commit as grafana-dashboard.json. 9. Add Supabase Auth and Stripe $199/month billing. 10. Deploy to Vercel and walk the full user journey end-to-end without any manual setup.

Generated

June 14, 2026

Model

claude-sonnet-4-6

Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.