One enquiry, six tools, zero SaaS lock-in.
A WhatsApp message lands in the shared inbox, gets qualified, written to the CRM, booked into the calendar and confirmed by email — with every tool running on infrastructure the business owns.
Most 'all-in-one' platforms rent you your own customer data back at per-seat prices. This demo shows the alternative we deploy: six open, self-hosted tools — inbox, automation, CRM, booking and email — wired together so one enquiry flows through all of them without a human copy-pasting anything.
Every step is sample data — the in-browser sandbox below is offline. Wiring the live stack needs the six services deployed, consent records in place, and a human approval path before any real send or booking.
What triggers this workflow
A WhatsApp message, SMS, missed call or website form lands in the one shared inbox the team already works from.
Source: Chatwoot inbox (WhatsApp Cloud API / SMS / web form)
Workflow steps
- Chatwoot + WhatsApp Cloud APIInbox captureThe message arrives in the shared inbox with the channel and sender attached.
- n8n workflowClassifyIntent, service type and urgency are extracted; the contact is matched or created.
- Twenty CRMWrite to CRMThe contact, source channel and a summary note are written to the CRM in one shot.
- n8n workflowQualifyThe enquiry is scored against the agreed rules — in-area, in-scope, right timing.
- Cal.com + ChatwootBook or hand offQualified: real calendar slots are offered. Not qualified or human-requested: the conversation is assigned to a person inside the same inbox thread.
- ListmonkConfirmThe booking confirmation and reminder go out by email from the business's own sending domain.
- n8n scheduled jobReportThe outcome is logged for the weekly reporting workflow — source, branch, time-to-reply.
Tools used
Human handoff
The inbox stays human-first
The shared inbox is where the team already works, so handing off means assigning the conversation to a person — thread, history and context intact — not exporting it to another system. Nobody asks the customer to repeat themselves.
- Customer asks to speak with a human at any point — conversation assigned in the same thread
- Enquiry scores below the agreed qualification threshold
- Complaint, dispute or out-of-scope topic detected during classification
- After-hours: the stack captures and acknowledges, then queues a human follow-up for the morning
Try it in your browser
Edit the sample inputs, choose a branch, and see what the workflow produces. The sandbox runs offline — no accounts touched, no messages sent.
Try it in your browser
Edit the inputs, pick a branch, and see what the workflow produces. Runs entirely in your browser — no messages are sent, no accounts are touched.
1. Enquiry captured in the shared inbox
WhatsApp Cloud API → shared inbox. Sender: Mick O'Donnell. Detected intent: Book a quote.
2. Classified and written to the CRM
- Contact
- Mick O'Donnell
- Source channel
- Intent
- Book a quote
- mick.odonnell@example.com
- Stage
- New
3. Branch handling
Hi Mick O'Donnell, thanks for getting in touch. We can come and take a look — the next slots are: 1. Tue 8:00–8:30am 2. Wed 12:30–1:00pm 3. Fri 3:30–4:00pm Reply with a number and we'll lock it in. — The team
No slot picked yet — the thread stays open in the shared inbox and the cadence pauses until the customer replies.
4. Reporting payload
{
"event": "enquiry_handled",
"stack": [
"chatwoot",
"whatsapp_cloud_api",
"n8n",
"twenty_crm",
"cal_com",
"listmonk"
],
"channel": "WhatsApp",
"intent": "Book a quote",
"branch": "booked",
"contact": "Mick O'Donnell",
"booked_slot": null,
"time_to_first_reply_min": 2
}Sample data only. Numbers, names and messages are placeholders for illustration. Wire the live workflow separately using the setup notes below.
n8n workflow template
n8n template — LGM 10 Own-Infra Growth Stack (SIMULATED, inactive). Ships with active: false — no live integrations are wired. See the setup section below for the wiring checklist, and download the JSON to inspect or import it.
Setup for production
Wiring it for production
This demo runs offline in your browser — the live stack is six self-hosted services, wired once and owned outright.
- Deploy the six services on your own infrastructure (a single VPS can carry inbox + CRM + email; booking and automation sit alongside).
- Connect the WhatsApp Cloud API number and any SMS provider to the shared inbox.
- Wire the automation backbone: inbox webhook → classification → CRM write → qualify → book or assign.
- Point the CRM step at Twenty CRM, or swap in EspoCRM — it's one replaceable node in the workflow.
- Connect the booking event type and the email-sending domain (SPF/DKIM in place) for confirmations.
- Run a 10-enquiry pilot across all four branches before switching production traffic over.
Production prerequisites
- Server infrastructure (or managed hosting) for the self-hosted services
- Meta business verification for the WhatsApp Cloud API number
- Customer consent for AI-assisted replies and marketing email on each channel
- A human in the loop — the inbox assignment path must be staffed
- Sending domain DNS (SPF, DKIM) configured before any real email
Nothing here runs by default. Configuration has to be in place before any live send, booking or contact write.
Questions
Isn't six tools harder to manage than one platform?
Each tool does one job and does it well; the automation backbone is the only piece that touches all of them. Compare that to a per-seat SaaS where the CRM, inbox and email are all rented separately — and your data leaves with the subscription.
Who owns the data in this stack?
The business does. Contacts, conversations, bookings and send history all live on infrastructure the business controls. There is no per-seat pricing and no export hostage situation — if you ever leave, the database comes with you.
Can we swap parts of the stack later?
Yes — that's the design. Every integration point in the workflow is a single replaceable node. Businesses that prefer a different CRM (EspoCRM, for example) or a different sender keep the rest of the stack untouched.
More demos you can run in your browser
Own-Infra Growth Stack — One Enquiry, Every Tool across the platform
Want this own-infra growth stack — one enquiry, every tool workflow running on your stack?
Pick the demo you're curious about or describe your own. We'll come back with what a real deployment looks like for your business — the workflow, the prerequisites, the people involved.