VisionQuantech's n8n automation pack ships 20 workflow JSONs plus Python builder scripts that generate them. The v1 core (lead responder demo/pro, booking + reminders) was tested on n8n 1.83.2. Rather than summarise the README, I pulled one workflow apart node by node. Here's what's actually inside.
The anatomy of vq-ai-enquiry-agent.json
Four nodes, one pipeline:
Enquiry Webhook (webhook)
→ Detect Intent (code)
→ Needs Human? (if)
→ Send Reply (respondToWebhook)
The Detect Intent node is vanilla JS over the webhook payload. It normalises input (handles both wrapped body objects and flat JSON), then matches against five keyword lists:
const bookingKw = ['book','appointment','viewing','visit','schedule','slot','reserve','reservation'];
const pricingKw = ['price','cost','quote','charge','fee','emi','discount','offer'];
const infoKw = ['timing','location','address','services','treatment','menu','info','details','how','when','where'];
const complaintKw= ['complaint','refund','cancel','rude','bad','worst','angry','disappointed'];
const urgentKw = ['urgent','asap','today','immediately','emergency','call me'];
Intent resolution has a deliberate priority: complaint > booking > pricing > info, and urgent is OR-ed with complaint into a needsHuman flag. The Needs Human? IF node then routes complaints/urgent messages to a human instead of auto-replying. Small property, big consequence: the agent escalates anger; it doesn't argue with it.
Replies are channel-aware — WhatsApp/SMS get the short variant, web gets the long one. Deterministic, testable, zero LLM cost for the classification step. That's a legitimate architectural choice: keyword intent routing is fast, free, and debuggable, and the LLM-shaped jobs (drafting the actual reply text) can sit downstream.
The v1 core: what was actually tested
- vq-lead-responder-demo.json — POST webhook → HOT/WARM/COLD scoring (keywords + contact completeness) → personalised JSON reply. Zero credentials. Built for live sales demos.
-
vq-lead-responder-pro.json — same engine + Gmail reply + Google Sheets logging (name, phone, email, service, score, tier, reply sent, next action). One Google OAuth credential, one Sheet with a
Leadstab. - vq-booking-plus-reminders.json — booking form → Google Calendar event → confirmation email → instant response → n8n Wait node until 24h before → reminder email. Wait nodes resume after restarts, which is the detail that makes this production-viable rather than demo-viable.
The builder pattern
The repo doesn't just hand you JSON — build_pitch_workflows.py, build_pitch2_workflows.py, build_pitch3_workflows.py, and build_batch3_zips.py generate workflows programmatically. If you've ever hand-wired twenty near-identical n8n workflows in the editor, you know why this matters: generated-but-readable beats hand-drawn at this scale, and the generators are version-controllable.
Deploy in minutes
# 1. n8n editor → Workflows → ⋯ → Import from File → pick a .json → Save
# 2. Pro/Booking only: create one Gmail OAuth2 credential, attach to
# the Gmail + Sheets + Calendar nodes
# 3. Toggle Active → copy the Production webhook URL →
# point the website form at it (POST {name, phone, email, service, message})
curl -X POST https://<your-n8n>/webhook/lead-in \
-H "Content-Type: application/json" \
-d '{"name":"Test Patient","phone":"+919999988888","email":"test@example.com",
"service":"dental implant","message":"I need an urgent appointment tomorrow"}'
# Expect: {"tier":"HOT","score":>=70,"reply":"Hi Test Patient! ...", ...}
The full suite covers AI calling, WhatsApp, SDR outbound, email, document intake, smart booking, follow-up engine, reminders, after-hours capture, review requests, SEO audit, keyword planning, local presence, ad-lead response, support triage, website chatbot and lead capture. SETUP.md documents payload contracts (date: YYYY-MM-DD, time: HH:MM 24h) and troubleshooting (Sheet tab must be named exactly Leads, use the Production URL not Test).
Honest caveats (from the repo itself)
The README doesn't hide the rough edges: n8n shows a critical-update banner (redeploy pending), free-tier hosting sleeps (first webhook hit after sleep takes ~30–60s — use always-on hosting for clients), and a second n8n instance is locked out. The expanded suite beyond the v1 trio is import-ready rather than individually test-documented, and every production deploy still needs the client's own Google OAuth wired in.
Still: twenty workflows, real payload contracts, a live-demo workflow needing zero credentials, and sales one-pagers matched to the buyer. That's a pack, not a folder of JSON.
Top comments (0)