NodeRecipe.

n8n Workflow Templates

8 workflows you can import and run. No email required, no account, no sign-up — copy the JSON and paste it onto your canvas.

Each one carries its setup instructions as sticky notes inside the workflow, so the caveats stay with the file after you’ve forgotten where you got it.

How to import

  1. Hit Copy JSON below.
  2. Open a new workflow in n8n and click anywhere on the canvas.
  3. Press Ctrl + V ( + V on Mac). The nodes appear.
  4. Add your own credentials to the nodes that need them, and replace any YOUR_SHEET_ID placeholders.

Prefer a file? Each template has a download link. No credentials are stored in any of them, so nothing needs sanitising before you import.

Importing workflows from elsewhere too? How to review a template before you run it covers what to check first — and what your own exports leak when you share them.

No n8n to paste into yet?

All eight run on any n8n instance, free or paid. Running n8n in Docker is the quickest way to have somewhere to paste them — roughly ten minutes, nothing to pay for. The catch is that it stops when your laptop does, which matters for the heartbeat and error-handler templates below: a monitor that sleeps when you close the lid isn’t monitoring anything. Self-hosting n8n on a VPS is the same setup on a machine that stays awake. And if you’d rather not run a server at all, what n8n actually costs covers where the free tier stops being free.

Error Handler — Alert With Context

Beginner

An error workflow that names the workflow, the node, and the error, then posts it to Slack or Telegram.

Why: A bare “workflow failed” alert trains you to ignore alerts. This one tells you where to look.

Nodes:
4 + 2 notes
Needs:
Slack or Telegram

Heartbeat Watchdog — Alert On Absence Of Success

Intermediate

Checks when each critical workflow last succeeded and alerts when a timestamp goes stale.

Why: Catches what an Error Trigger structurally cannot: a workflow that never ran at all, so there was nothing to fail.

Nodes:
5 + 4 notes
Needs:
Google Sheets, Slack

Idempotency Guard — Never Act Twice

Intermediate

Builds a stable key per request, checks whether it was already handled, and only then acts.

Why: A retry re-runs steps that already succeeded. Without this, one failure halfway through sends the invoice twice.

Nodes:
7 + 3 notes
Needs:
Google Sheets (or Postgres)

Slack Approval Gate — Human In The Loop

Beginner

Pauses the workflow on a Slack message with Approve and Decline buttons, then branches on the answer.

Why: Turns the worst case from “the automation emailed 400 customers” into “someone clicked Decline”.

Nodes:
6 + 2 notes
Needs:
Slack

Webhook → Validate → Google Sheets

Beginner

Receives a POST, normalises and validates the payload, appends good rows and logs rejects separately.

Why: The lead-capture pattern with the validation branch most versions leave out — and rejects logged instead of silently dropped.

Nodes:
7 + 2 notes
Needs:
Google Sheets

Telegram Command Bot

Beginner

Parses slash commands, strips the @botname suffix groups add, and routes each command to its own branch.

Why: Includes the two things that break Telegram bots: one webhook per bot, and privacy mode hiding group messages.

Nodes:
6 + 2 notes
Needs:
Telegram bot token

AI Classify & Route

Intermediate

One model call sorts incoming messages into categories, then a Switch node sends each to its own handler.

Why: Triage is the cheapest useful AI workflow. The normalise step and the review fallback are what make it survive production.

Nodes:
9 + 5 notes
Needs:
OpenAI API key, Slack, Google Sheets

AI Agent Starter — One Tool, Done Properly

Intermediate

A Tools Agent with a chat model, per-session memory, and a single well-described sub-workflow tool.

Why: Deliberately small. A broken agent with one tool is diagnosable; a broken agent with six is not.

Nodes:
5 + 4 notes
Needs:
OpenAI API key

A note on what these are

These are patterns, not products. Each one is the smallest complete version of something worth getting right — the error handler that names the failing node, the guard that stops a retry sending a second invoice, the approval step in front of anything irreversible. They’re deliberately short so you can read the whole thing before you trust it.

Placeholders like YOUR_SHEET_ID and empty channel pickers are intentional: they fail loudly at setup rather than quietly writing to the wrong place.

Something not working, or a pattern you’d like added? Get in touch. Otherwise, the NodeRecipe guides explain the reasoning behind each of these in full.