The lead pipeline that doesn't leak: a CRM you own, without the per-seat bill
Every enquiry goes on a board with columns: new, contacted, quoted, won or lost. A reminder fires when a lead sits too long in one column. Nothing disappears.
Every enquiry tracked from first contact to won or lost — on a box you own, no per-user fee
Setup: An afternoon (~3-5 h)Running cost: $5-12/mo(software included)Time saved: saves ~0.3–0.7 h/week for an employee at one weekly review — basisAfter setup: An employee runs it— whoever takes the enquiry moves the cardData lives: Your server— Names, notes and deal values stay in the CRM database on your box.
Jan explains what it does · about a minute
AI clone of Jan’s voice, generated locally with his consent.
EspoCRMTwentyn8nDockerCustomer serviceReporting
Built for small businesses in general — not a sector list.
Paste it into your AI assistant — ChatGPT, Claude, Gemini, whichever you use. It first asks what tools you already have, then rebuilds this blueprint to fit them.
any AI platformno signupblueprint travels inside
Before you start
A machine that stays on — a mini PC, NAS or cheap VPS, not your laptop
Your web enquiry form must be able to post to a URL you choose, or forward to a mailbox n8n can read
A subdomain with HTTPS if anyone opens the board away from the shop
Agreement from everyone who takes enquiries that the board is the only place a lead lives
What breaks firstFAILS SILENTLY
the n8n workflow that pushes web-form enquiries into the CRM, after a form or CRM update. New enquiries stop appearing on the board and it just looks like a quiet week; submit a test form monthly.
Version history
v1.0 · 2026-07-24 — First release, built on EspoCRM 10.0.3 (AGPL-3.0, zero-code, non-technical pick) with Twenty v2.24.0 as the modern alternative and n8n as optional lead-intake glue.
A CRM you own outright, so a lead cannot get lost between the enquiry and the follow-up — without paying a fee for every person on your team, every month.
The architecture
the same flow as text
[ Phone call ] [ Email enquiry ] [ Website contact form ]
▼
[ n8n (optional) — drops web-form & email leads onto the board by itself ]
▼
[ EspoCRM or Twenty (self-hosted) — the lead pipeline ]
│ one pipeline: New → Contacted → Quoted → Won / Lost
│ contacts, companies, notes, quotes and emails on each card
│ a reminder task so no lead goes quiet unnoticed
▼
[ Your weekly numbers: new / won / lost, per person ]
One box, one application, one database. The CRM is the system of record. Everything else in this library that touches a customer — the review-request engine, the service-due reminder, the shared-inbox triage — can feed a card into it or read one out of it. That is the point of picking an open pipeline over a closed SaaS: the leads live somewhere you can wire the rest of your automation to, instead of behind a per-call API limit.
Paste it into your AI assistant — ChatGPT, Claude, Gemini, whichever you use. It first asks what tools you already have, then rebuilds this blueprint to fit them.
any AI platformno signupblueprint travels inside
The problem
A CRM is not a filing cabinet you tidy up after the sale. It is the one place an enquiry cannot go quiet and disappear. Most small businesses lose leads the same way: a call on Monday, a "let me send you a price" on Tuesday, and by Friday it is buried under twenty newer emails. The follow-up that would have closed it never happens, and the lead becomes a competitor's customer. The paid tools that fix this are good, and they charge per seat. Pipedrive runs €14–79 per user per month, and the automation that actually chases the lead only starts around €39 per user (verified July 2026). HubSpot's Sales Hub Professional is $49 per user per month. A three-person shop on a useful Pipedrive tier lands near €120/month, about €1,400 a year, for a list of your own customers that you are renting access to. Self-hosting removes the per-seat meter. The customer list stays on a box you own, and adding your fourth or tenth user costs nothing.
Tool choices — and why
EspoCRM
(AGPL-3.0, 3.2k stars, active — release 10.0.3 on 17/07/2026, code pushed the day this was written) is the default pick for a non-technical owner, and it is the honest recommendation over the trendier option. It installs in under five minutes on plain PHP and MySQL, the same stack any cheap shared host already runs, so there is no Docker to learn. It idles around 256 MB of RAM, which means the cheapest VPS on the market runs it comfortably. Crucially, you add fields, pipeline stages and automation rules by clicking, not by editing code. It has the features a small sales operation actually uses: contacts and companies, a visual pipeline, two-way email sync so you send and receive from inside the CRM, a report builder, and a mature workflow engine for stage-change tasks and follow-up reminders.
Alternative: SuiteCRM — mature open-source CRM (GNU AGPLv3, forked from SugarCRM, 7.6k stars) with similar PHP stack and feature set; heavier (needs 512 MB+ vs EspoCRM's 256 MB) and the interface shows its age
Twenty
(GPL for the core, with a few files under a separate commercial licence, 53.6k stars, active — release 2.24.0 on 24/07/2026) is the pick if you want the modern product and expect to grow a tech stack around it. It is the fastest-growing open-source CRM on GitHub, YC-backed, built on Node.js and React, and it ships both a GraphQL and a REST API, which makes it the cleanest to wire into other modern tools. Two honest caveats. It wants roughly 2 vCPUs and 4 GB of RAM and a Docker Compose setup, so it is a bigger box and a steeper install than EspoCRM. And parts of it are still catching up: mass email and a mature reporting builder are areas where EspoCRM is ahead today. Pick Twenty for the interface and the API, EspoCRM for the shortest path to a working pipeline.
Alternative: SuiteCRM — mature open-source CRM (fork of SugarCRM), runs on the same PHP stack as EspoCRM with lower RAM needs than Twenty, but the interface feels older and setup is more manual
n8n
(fair-code Sustainable Use Licence, free for internal business use, 198k stars, active — release 2.31.6 on 24/07/2026) is optional glue, not a requirement. Add it only when manual entry is the bottleneck: it can catch your website contact-form submissions and new emails to info@ and create the lead card automatically, so nothing depends on someone remembering to type it in. Start without it. Add it once the pipeline itself is a habit. AI audit →
Alternative: Pipedream — serverless automation platform (free tier exists, paid beyond 100 invocations/day) with strong API integrations; not self-hosted so you lose the local-only data guaranteeAI audit →
Monthly cost
Software: €0 for all three. Hosting: EspoCRM runs on a ~€5/month VPS; Twenty wants a bigger box, closer to €8–12/month. Email sync uses your existing mailbox. So the whole thing is €5–12/month against €14–79 per user per month for the SaaS it replaces. The break-even is the first user. The saving compounds with every one after.
Setup outline
Deploy the CRM behind HTTPS on your domain — crm.yourbusiness.example. EspoCRM has a one-step installer and an official Docker image; Twenty ships a Docker Compose file.
Model your real pipeline before importing anything. Four or five stages, no more: New, Contacted, Quoted, Won, Lost. If you cannot name a stage in one word, you do not need it yet.
Import your existing contacts by CSV — every tool here takes one. Map the fields once. This is the step people skip and regret, because an empty CRM is a CRM nobody opens.
Connect email sync so calls and messages attach themselves to the right contact. This is what turns the CRM from a data-entry chore into a place that saves you time.
Add one automation and only one to start: a reminder task when a lead sits in a stage for more than X days. The whole value proposition is "no lead goes quiet unnoticed" — build that first.
Give it two weeks with one person before rolling it out. A CRM that half the team ignores is worse than a shared spreadsheet, because now the truth is split across two places.
Add n8n intake last, once the manual habit is proven and typing leads in is the thing slowing you down.
Pitfalls — what goes wrong when you build this
The empty-CRM death spiral
The commonest failure is not technical. It is a CRM nobody fills in, so nobody trusts, so nobody fills in. Import real data on day one and pick a single stage rule everyone follows, or it dies quietly in a month.
Over-modelling the pipeline
Twelve stages, forty custom fields and three required dropdowns feel thorough and guarantee nobody logs anything. Start with the smallest pipeline that is still true, and add a field only when you have missed it twice.
AGPL is fine for you, and worth understanding
EspoCRM and Twenty's core are copyleft. Running them inside your own business, for your own team, carries no obligation to publish anything. The licence only bites if you offer a modified version to outside users as a service. For a shop using its own CRM, there is nothing to do here.
Twenty's size is a real cost
The 4 GB RAM floor is not a suggestion. On a €5 box Twenty will swap and feel broken, and you will blame the software. If you want the cheapest possible host, that decision picks EspoCRM for you.
Back it up like it is your customer list, because it is
The whole business case is that the data lives on your box. That box is now a single point of failure. Pair this with the 3-2-1 backup blueprint before you put a single real lead in it.
Verified repos
EspoCRM — AGPL-3.0, 3.2k stars, active (release 10.0.3, 17/07/2026) Twenty — GPL core with some commercial-licensed files, 53.6k stars, active (release 2.24.0, 24/07/2026) n8n — Sustainable Use Licence (free self-hosted internal use), 198k stars, active (release 2.31.6, 24/07/2026)
Get the next blueprint as it publishes — free, practical, verified tooling only.
Subscribe · Want this audited or extended for your business? DM @RXed_EU