Table of Contents
- What Are n8n Workflow Templates?
- The 10 Templates
- How to Use These Templates in n8n
- Can You Customise These?
- Template vs Custom Build — Cost
- How to Get Started
- FAQ
What Are n8n Workflow Templates?
An n8n workflow template is a pre-built automation pattern a trigger, a sequence of nodes, and the connections between them that you import or rebuild and then point at your own systems.
What a template gives you: the architecture. Somebody has already worked out which nodes in which order, where the data needs transforming, and what the branches should be.
What a template does not give you: your credentials, your field mappings, your business rules, or the error handling your situation needs. Those are the work.
A useful way to think about it: a template is the recipe. Your systems, data and edge cases are the ingredients, and they are never quite what the recipe assumed.
Each template below is specified as a node sequence so you can build it in n8n directly. Where a template carries a compliance requirement or a known failure mode, that is marked rather than left for you to discover in production.
On licensing: n8n's Community edition runs under the Sustainable Use Licence, which permits running your own business operations and internal use. Building these for your own business is squarely inside that. If you plan to host n8n so your own clients can build workflows, the terms differ and are worth checking first.
For which of these to automate first and in what order, see our guide to business process automation services. This page is about how each one is built.
The 10 Templates
Template 1 Lead Capture to CRM
Best first project. Two systems, no judgement, measurable within a week.
TRIGGER Webhook (website form) or Facebook Lead Ads node
↓
NODE 1 Set normalise field names across sources
↓
NODE 2 CRM Search look up by email, check for existing contact
↓
NODE 3 IF — exists?
TRUE → CRM Update (append enquiry, don't overwrite)
FALSE → CRM Create
↓
NODE 4 Set assign owner by rule (territory, product, round-robin)
↓
NODE 5 Slack / Email notify the owner
↓
NODE 6 Email send the welcome message
Tools: n8n + HubSpot or Pipedrive + Gmail
The node that matters: NODE 2 and 3, the deduplication branch. Skip it and a returning enquirer becomes a second contact, and within a month your CRM is messier than when you started. Match on email, and consider a secondary match on phone.
Failure mode to handle: CRM API down. Without a retry the lead is lost silently. Add an error branch that writes the payload to a Google Sheet so nothing disappears while the API is unavailable.
What to measure: time from enquiry to CRM record. This is the number that justifies your next automation.
Template 2 Invoice Processing
Highest time saving of the ten. Also the one where a silent error is most expensive.
TRIGGER Gmail new email with attachment, filtered to an
invoices@ address or label
↓
NODE 1 Extract From File pull text from the PDF
↓
NODE 2 AI node (or OCR + parse) extract supplier, invoice
number, date, net, VAT, total, line items
↓
NODE 3 Code / Set — validate:
• does net + VAT = total?
• is the VAT number present and well-formed?
• is this invoice number already processed?
• is extraction confidence above threshold?
↓
NODE 4 IF — all checks passed?
TRUE → Xero / QuickBooks Create Bill
FALSE → Google Sheet "review queue" + notify
↓
NODE 5 Google Drive file the original PDF
↓
NODE 6 Slack notify the accountant with a summary
Tools: n8n + Gmail + Xero or QuickBooks + Google Sheets + Drive
The node that matters: NODE 3, validation, and specifically the confidence threshold. Set it high at first and accept a bigger review queue. A system that guesses at an unreadable invoice writes a wrong figure into your ledger quietly, and quiet errors in accounts are expensive to find.
Failure mode to handle: duplicate invoices. Suppliers resend. Check the invoice number against what you have already posted before creating anything.
⚠️ This template posts to your accounting system — it does not submit to HMRC. MTD submission requires recognised software and mandatory fraud prevention headers describing the device and person submitting, which a scheduled workflow cannot supply. See our tax workflow guide for where that line sits.
Template 3 Staff Onboarding
Highest value, worst first project it touches more systems than anything else here.
TRIGGER Webhook (HR form) or Google Forms
↓
NODE 1 Set build the account details from the form
↓
NODE 2 Google Workspace create user account
↓
NODE 3 Slack invite to workspace and relevant channels
↓
NODE 4 LMS (HTTP Request) enrol in mandatory training
by role
↓
NODE 5 Switch route by department for department-specific
tools and access
↓
NODE 6 Email welcome message with first-day details
↓
NODE 7 Google Sheet log what completed, flag what did not
↓
NODE 8 Wait 7 days → check training progress → nudge if
not started
Tools: n8n + Google Workspace + Slack + your LMS
The node that matters: NODE 7. With six or more systems involved, something will fail a licence limit, an expired token, a rate limit. A completion log turns "the onboarding is broken" into "step 4 failed for this person," which is the difference between an hour of debugging and five minutes.
Failure mode to handle: partial completion. Design it so re-running the workflow skips what already succeeded rather than creating duplicate accounts.
Why build this third or fourth: by then you have working integrations to several of these systems from earlier projects, and credentials that are already tested.
Template 4 WhatsApp Lead Follow-Up
🔴 Read this before building it. WhatsApp will reject free-form outbound messages to someone who has not messaged you first. This template is corrected for that — most published versions are not.
TRIGGER Facebook Lead Ads node new submission
↓
NODE 1 Set — normalise the phone number to E.164 format
(+44..., no spaces)
↓
NODE 2 CRM — create or update the lead record
↓
NODE 3 WhatsApp — send a PRE-APPROVED TEMPLATE MESSAGE
⚠️ NOT free-form. No window is open.
↓
NODE 4 Wait 24 hours
↓
NODE 5 IF has the lead replied?
TRUE → free-form messaging now allowed for 24h
→ route to a human, or send free-form reply
FALSE → send a SECOND PRE-APPROVED TEMPLATE
⚠️ still no window template only
↓
NODE 6 CRM — log every message sent and the outcome
Tools: n8n + WhatsApp Business API + CRM
Why the template-message rule exists. Per Vonage's documentation, a 24-hour customer care window opens when the customer messages your business or replies to it, and ends 24 hours after their most recent message. Inside the window you can send any content text, images, interactive buttons. Outside it, only pre-approved template messages go through; free-form messages are rejected.
A Facebook Lead Ad submission is not a WhatsApp message, so no window exists when your workflow fires. Both outbound steps must be templates. Only after NODE 5 finds a reply does free-form become available.
Failure mode to handle: phone number formatting. WhatsApp needs E.164. A UK number entered as 07700 900123 will fail it must be +447700900123. NODE 1 exists entirely for this, and it is the most common reason this workflow appears to do nothing.
Before you build: confirm Meta's current template approval process. Templates are pre-approved, and getting them approved is a step that happens before your workflow can work at all.
Template 5 CV Screening
🔴 This one has a compliance layer, and the common version of it does not. AI scoring job applications is an automated decision about a person. The ICO has published specific requirements.
TRIGGER Gmail application email received
↓
NODE 1 Extract From File pull text from the CV
↓
NODE 2 AI node extract structured fields: skills, years
of experience, qualifications, location
⚠️ Do NOT extract or infer protected characteristics
↓
NODE 3 AI node score against the role's stated
requirements, with a written reason per score
↓
NODE 4 Google Sheet log EVERY candidate with score,
reason, and timestamp
↓
NODE 5 Slack / Email notify the recruiter with the full
list, SORTED by score
⚠️ Sorted, not filtered. Every candidate reaches
a human.
↓
NODE 6 Set retention schedule deletion per your policy
Tools: n8n + Gmail + an AI model + Google Sheets
The critical design decision NODE 5. The common version of this template notifies the recruiter only about candidates above a threshold, which means everyone below it is rejected by software with no human involvement and no route to challenge it.
Use the score as a sort order, not a gate. One node's difference, and it changes the compliance position completely.
What the ICO requires. Per the ICO's guidance on AI in recruitment, before using an AI recruitment tool you need to:
| Requirement | What it means here |
|---|---|
| Complete a DPIA before use, ideally at procurement | Do this before the workflow goes live, not after |
| Identify a lawful basis consent or legitimate interests | Special category data needs a specific condition |
| Record controller/processor roles in a contract, with written instructions including accuracy and bias targets | Applies to your AI provider |
| Monitor outputs for bias, fairness and accuracy | NODE 4's log is what makes this possible |
| Give candidates privacy information explaining the logic behind outputs, and how to challenge automated decisions | Add this to your application page |
| Minimise data and prevent incompatible secondary uses | NODE 6 set retention deliberately |
Two things the ICO specifically criticised: tools that let recruiters filter candidates by protected characteristics, and tools that retained data indefinitely to build candidate databases. NODE 2's warning and NODE 6 exist because of those two findings.
Failure mode to handle: CVs the extractor cannot read image-only PDFs, unusual layouts. Route these to the recruiter as unscored rather than scoring them zero. A zero score on an unreadable CV is an automated rejection by accident.
See our CV screening case study →
Template 6 — Social Media Scheduling
Lowest priority of the ten be honest about whether you need it.
TRIGGER Schedule every hour
↓
NODE 1 Google Sheets read rows where status = "ready"
and scheduled time ≤ now
↓
NODE 2 Switch route by platform
↓
NODE 3 Per-platform nodes LinkedIn / Instagram / X
with per-platform formatting
↓
NODE 4 Google Sheets update status to "posted",
write back the post URL
↓
NODE 5 IF failed → Slack alert + status "failed"
Tools: n8n + Google Sheets + social platform APIs
The honest assessment: a scheduling subscription already does this well and cheaply. Custom automation only earns its cost when you need something the tools will not do — generating posts from your own product database, routing approval through your own process, or coordinating formats across channels programmatically.
If a subscription covers it, use the subscription. We would tell you that at a discovery call rather than after.
Failure mode to handle: platform API changes and token expiry. Social APIs change terms and deprecate endpoints more often than most. NODE 5 is not optional here.
Template 7 Support Ticket Routing
TRIGGER Gmail new email to support@
↓
NODE 1 AI node classify: category, urgency, sentiment
↓
NODE 2 Switch route by category
Billing → finance channel
Technical → support channel
Sales → sales channel
Unclear → general queue
↓
NODE 3 IF urgency = high → Slack mention the on-call person
↓
NODE 4 Ticketing system create ticket with the
classification attached
↓
NODE 5 Email acknowledgement to the customer with
the ticket reference
↓
NODE 6 Google Sheet log classification for accuracy review
Tools: n8n + Gmail + an AI model + Slack + your ticketing system
The node that matters: NODE 2's "Unclear" branch. Classification will be wrong sometimes, and a workflow with no fallback route sends misclassified tickets to a team who ignore them. An explicit unclear queue that a human triages is better than forcing a guess.
NODE 6 is what makes this improve. Review the classification log monthly against what the tickets actually were. That tells you whether to adjust the categories or the prompt.
Failure mode to handle: auto-reply loops. If your acknowledgement email triggers the sender's out-of-office, which triggers your workflow again, you have a loop. Filter on sender and subject patterns before NODE 1.
Template 8 — Monthly Report Generation
Easiest win of the ten. Read-only, so nothing can break.
TRIGGER Schedule 1st of the month, 07:00
↓
NODE 1-3 Parallel reads from your sources
(CRM, accounting, analytics)
↓
NODE 4 Code / Merge combine and calculate
↓
NODE 5 Code — compare against last month, flag variances
beyond threshold
↓
NODE 6 HTML / Markdown format the report
↓
NODE 7 Gmail email to the distribution list
↓
NODE 8 Google Drive archive a copy
Tools: n8n + Google Sheets + your data sources + Gmail
Why start here if you are nervous about automation: it writes nothing to any system. The worst failure is a late email. That makes it the safest way to prove the approach works inside an organisation that has not tried it.
The upgrade worth building: NODE 5, variance flagging. Most monthly reports are read by nobody unless something looks wrong. A workflow that emails the report and says "gross margin is down 4% on last month" is far more useful than one that attaches a PDF everybody archives unopened.
Failure mode to handle: a source returning no data. Without a check, you email a report full of zeros and somebody panics. Validate that each source returned rows before NODE 4.
Template 9 E-commerce Order Processing
TRIGGER Shopify / WooCommerce order created webhook
↓
NODE 1 Set normalise the order payload
↓
NODE 2 Inventory system decrement stock
↓
NODE 3 IF stock now below reorder point
→ Slack alert to purchasing
↓
NODE 4 Fulfilment create the pick/pack job
↓
NODE 5 Email order confirmation to the customer
↓
NODE 6 Accounting create the sales record
↓
NODE 7 IF any step failed → Slack alert + write to a
retry queue
Tools: n8n + Shopify or WooCommerce + inventory + email + Slack
The node that matters: NODE 7, and specifically the retry queue. An order that half-processed is worse than one that failed cleanly stock decremented but no fulfilment job means a customer waiting for something nobody is picking. Make the sequence re-runnable so a retry completes the missing steps without duplicating the done ones.
Failure mode to handle: duplicate webhooks. Platforms resend webhooks when they do not get a prompt acknowledgement. Check whether the order ID has already been processed before NODE 2, or you will decrement stock twice.
Template 10 Certificate Delivery
TRIGGER LMS webhook course completed
(or Schedule + poll the LMS API)
↓
NODE 1 LMS (HTTP Request) fetch learner and course details
↓
NODE 2 IF — completion criteria genuinely met?
(verify server-side; don't trust the trigger alone)
↓
NODE 3 HTML → PDF generate the certificate from a template
↓
NODE 4 Google Drive store with a retrievable naming
convention: learnerID_courseID_date
↓
NODE 5 Gmail email the certificate to the learner
↓
NODE 6 LMS / Google Sheet log issue date and expiry
↓
NODE 7 Schedule — notify before expiry where the
qualification renews
Tools: n8n + your LMS + Google Drive + Gmail
The node that matters: NODE 2. Verify completion against the LMS rather than trusting the webhook payload. A certificate issued in error is awkward to withdraw, especially where the qualification matters to an employer or regulator.
NODE 6 and 7 are what most implementations skip, and they are where the value is for anything compliance-related. A certificate that records issue date is a document. One that knows it expires in twelve months and reminds the learner at ninety days is a compliance system.
Failure mode to handle: email bounces. A certificate that failed to send and nobody noticed becomes a support ticket months later. Log delivery status, not just the send attempt.
See our certificate delivery case study →
How to Use These Templates in n8n
Building One
1. Set up credentials first. In n8n, add credentials for each service before you build. Nothing is more tedious than wiring a workflow and then discovering you need admin access to a system you cannot reach today.
2. Build the trigger and one node. Run it. Look at the actual data that comes through it is rarely the shape you assumed, and finding that out at node two is cheaper than at node eight.
3. Add nodes one at a time, executing as you go. n8n shows you the data at each step. Use that rather than building the whole thing and debugging it as a unit.
4. Build the error branch before you go live. Not after. The error path is the part you will rely on and the part nobody tests.
5. Run it on real data with the final action disabled. Point the last node at a test inbox or a sandbox record. You want to see what it would have done before it does it.
What Always Needs Changing
| Element | Why |
|---|---|
| Credentials | Yours, obviously |
| Field mappings | Your CRM's field names are not the template's |
| Business rules | Assignment logic, thresholds, categories |
| Error handling | Depends on what failure costs you |
| Retention | Your policy, and for personal data a requirement |
What to Get Right Before Launch
Idempotency. If the workflow runs twice on the same input, does it do the work twice? Duplicate CRM records are untidy; duplicate stock decrements or duplicate payments are not.
Rate limits. Check each API's limits and batch accordingly. A workflow that works on five records can fail on five hundred.
Credential ownership. Connect using an account that will still exist in two years. The most common cause of a dead workflow is that the person who authorised it left.
Can You Customise These?
Yes — and you will have to. Every template above assumes field names, business rules and systems that are not yours.
What customisation usually means in practice:
- Mapping to your actual CRM or accounting fields
- Your assignment, routing and threshold rules
- Integrations for systems with no pre-built node, via HTTP Request
- Error handling matched to what a failure actually costs you
- Compliance controls where personal data is involved
The question worth asking yourself: is the gap between the template and what you need a few hours of mapping, or is it a rebuild? Templates 6 and 8 are usually the former. Templates 3, 5 and 9 are usually the latter, because the branching and failure handling are where the real work lives.
Zeviq AI builds custom versions of all ten as part of our n8n business automation service — with the error handling, testing and handover documentation that turns a working workflow into a reliable one.
Template vs Custom Build — Cost
| Template (DIY) | Custom build | |
|---|---|---|
| Cost | Free, plus your time | From £1,500 |
| Time to working | A day to a week | 2–4 weeks |
| Error handling | Whatever you add | Designed in, with retries and alerts |
| Testing | You find bugs in production | Documented test results and known failure modes |
| Documentation | None | Handover docs and training |
| Compliance controls | Your responsibility | DPIA support, retention, audit logging |
| When it breaks | You fix it | Support arrangement |
| Best for | Templates 6, 8 — low risk, read-only | Templates 3, 5, 9 — multi-system, personal data, money |
The honest line between them. A template gets you to working. A build gets you to reliable, and the difference is almost entirely the error handling, the testing, and the documentation the parts nobody enjoys and everybody needs when a workflow runs unattended on something that matters.
Our recommendation: build Template 8 yourself this week. It is read-only, nothing can break, and you will learn more about whether this suits your organisation than any proposal will tell you. Then decide about the rest with real information.
For the cost of a multi-workflow programme and how to sequence one, see our business process automation services guide.
How to Get Started
A discovery call takes about 30 minutes. We will look at which of these ten maps onto your actual systems, what your data quality is like, and which one would return the most for the least — including when the answer is one you should build yourself.