SEO Services
Consulting Industry / Technical Guide
Automate Proposal Generation & Project Intake for Consultancies with n8n + Claude Step-by-Step Guide
A complete walkthrough for building an n8n + Claude pipeline that ingests Typeform/Tally intake plus discovery-call transcripts, pulls comparable past engagements from a Notion vector DB, drafts a full SOW with milestones and effort, and lands a DocuSign-ready PDF in the partner’s review queue in under 12 minutes.
Intake form (Typeform/Tally)
Classify scope (Claude)
Past-project retrieval
Effort × rate × buffer
Draft SOW (Claude)
Partner review in Slack
DocuSign send + CRM sync
1. The Problem — Why Proposal Drafting Eats Partner Time
Every consultancy past 8 partners hits the same ceiling: the people best qualified to scope and price a project are the same people most expensive to put in a Word document at 11pm on Sunday. A typical mid-sized firm spends 30 to 50 senior hours on every six-figure proposal — discovery synthesis, comparable-project lookup, effort estimation, SOW writing, partner review, redlines, DocuSign packaging. By the time the proposal lands, the prospect has already received two from competitors and started a procurement clock the firm now has to race.
Real numbers from a 22-partner management consultancy (180 proposals/year)
| Avg senior hours per proposal | 38 hrs |
| Median proposal cycle (intake → sent) | 5 days |
| Proposals lost to “competitor responded faster” | 22% |
| Pricing variance for similar scopes (same firm) | ±34% |
| Win rate when proposal sent <48h after intake | 61% |
The brutal asymmetry: the partner who costs the firm $700/hr is the only person who knows what a “data strategy assessment for a regional bank” should cost — but 70% of what they do during proposal week is mechanical. They’re not picking pricing, they’re remembering pricing. They’re not architecting an approach, they’re recalling the approach used three engagements ago.
What the automation actually changes
The goal is not to replace partner judgment — it’s to put a 90%-finished SOW on the partner’s desk by 9am the morning after the discovery call. Three hours of partner review beats thirty hours of partner drafting, and prospect-facing turnaround drops from days to hours:
- Auto-generated: situation summary, objectives, comparable-project context, deliverables list, milestone schedule, effort/rate roll-up, assumptions, exclusions, payment terms.
- Partner-edited: approach narrative, team composition, commercial structure (fixed vs T&M vs phased), client-specific risks.
- Always-human: final pricing decision, signature, post-signature kickoff scheduling.
2. System Architecture
Seven components, each replaceable. The orchestration layer is self-hosted n8n so the security review can audit every external API call that touches client-confidential intake data. Postgres holds the proposal state machine plus an embedding index for past-project retrieval (pgvector).
The stack
Cost estimate (180 proposals/year)
| Claude Sonnet (180 SOW drafts, ~14k tok in / 4k tok out) | ~$430 |
| Claude Haiku (classification + tagging across pipeline) | ~$90 |
| Embeddings (Voyage AI or OpenAI text-embedding-3-large) | ~$60 |
| DocuSign Business Pro (5 senders) | ~$2,100 |
| VM (n8n + Postgres on Hetzner CCX33) | ~$1,150 |
| Monitoring (Grafana Cloud + Healthchecks) | ~$290 |
| Total / year | ~$4,120 |
For a firm where partner time costs $600–$900/hour fully loaded, the system pays back inside the first six proposals. The same orchestration layer plugs into our broader AI automation services.
Intake Form Capture
The pipeline needs a single normalized intake regardless of how the prospect arrived. In a typical mid-sized consultancy that means three sources: a Typeform/Tally form embedded on the website, a Calendly-booked discovery call followed by a structured note in HubSpot, and a partner-initiated intake (the partner already has a relationship and creates the proposal request manually). All three converge on the same n8n webhook.
Intake fields that actually matter
- Client basics: company name, industry NAICS code, region, headcount band, ARR or revenue band.
- Project ask: 2-paragraph problem statement, desired outcome in client’s own words, deadline driver (board meeting, fiscal year, regulator, none).
- Scope signals: phase requested (assessment, design, implementation, run), data they’ll provide, named stakeholders, internal vs external sponsor.
- Commercial signals: budget band (declared or inferred), procurement process, prior consulting spend, MSA status with our firm.
- Discovery transcript: if a Zoom or Gong recording exists, attach the transcript and timestamps. This is gold for the SOW drafter.
n8n webhook node config
A single n8n Webhook node accepts the union schema; a Switch node downstream branches on source. HMAC verification happens before the workflow does anything else, and PII is encrypted at rest the moment it lands in Postgres.
_completeness_score the orchestrator uses to decide whether to ask Claude to flag gaps in the partner review step instead of fabricating answers.Project Classification
Before retrieving comparable past projects, the system needs to know what kind of project this is. Claude Haiku reads the intake and the discovery transcript and returns a structured taxonomy: practice area, project type, phase mix, complexity tier, and a list of suspected disqualifiers. This pass costs cents and slashes the retrieval surface for the next step. Same pattern we use across financial services automation.
The classification dimensions
Strategy, ops, technology, finance/risk, people, or a multi-practice blend.
Assessment, target operating model, transformation, M&A diligence, audit.
Diagnose, design, build, run — and the rough split across them.
T1 / T2 / T3 — drives base hours, partner involvement, peer review.
Conflicts, sanctioned regions, sub-minimum-fee asks, scope we don’t do.
Classifier system prompt
Past-Project Retrieval
The single biggest leverage point in the whole pipeline is comparable-project context. A consultancy doing 200 engagements a year has a private gold-mine of pricing, scope, team-mix, and post-mortem data — almost always trapped in Notion pages, SharePoint folders, or a forgotten engagement-history Excel. The retrieval layer turns that into structured context Claude can read.
What gets indexed
- Engagement abstracts: 1-page summary per past project — client industry, scope, deliverables, team mix, duration, fixed vs T&M, signed value.
- SOW excerpts: the approach narrative, milestone structure, and exclusions sections — the parts most reused.
- Post-mortems: what was scoped vs what was actually delivered, hour overruns, change-order count. Critical for buffer calibration.
- Win/loss notes: if the proposal was sent and lost, why. Pricing? Approach? Team match? Timing?
Embedding pipeline (Notion → pgvector)
A nightly n8n workflow pulls every Notion page tagged engagement, splits it into 800-token chunks with 100-token overlap, embeds them, and upserts into a Postgres pgvector table. The retrieval call at proposal time runs hybrid search: cosine similarity on the embeddings plus a structured filter on practice area, complexity tier, and region.
Retrieval query
Effort Estimation
Effort estimation is the step where most consultancies want a deterministic algorithm, not an LLM guess. The right pattern: Claude proposes a phase-by-role hour grid using the comparable-project context, then a deterministic n8n function multiplies by the firm’s blended rate card and applies a tiered buffer. The partner sees both the model’s hours and the post-buffer total, with the math fully transparent.
The estimation grid
Claude returns hours as a 2-D matrix: rows are project phases (diagnose, design, build, run), columns are roles (partner, principal, manager, senior consultant, analyst, specialist). The grid is filled in based on the closest 2-3 comparable engagements found in retrieval, with explicit reasoning for any deviation.
| Phase / Role | Partner | Principal | Manager | Sr. Cons. | Analyst |
|---|---|---|---|---|---|
| Diagnose (4 wk) | 28 | 60 | 110 | 160 | 120 |
| Design (8 wk) | 52 | 120 | 240 | 340 | 220 |
| Subtotal hours | 80 | 180 | 350 | 500 | 340 |
| Subtotal $ | $72k | $108k | $140k | $135k | $54k |
Deterministic effort calculator (n8n Function node)
Claude SOW Drafter
This is the heaviest call in the pipeline. Claude Sonnet receives the intake, the discovery transcript, the classification, the past-project context, and the effort grid — and produces a complete SOW draft with situation, objectives, approach, deliverables, milestones, team, fees, assumptions, and exclusions. The output is structured so it can render directly into the firm’s branded Word template.
SOW system prompt
n8n HTTP Request to Claude
Partner Review Queue
A draft sitting in an email inbox is a draft that misses the 48-hour window. The review queue lives in Slack — a #proposal-review channel where each new draft posts as a Block Kit message with the headline numbers, a preview link to a rendered Google Doc, and three buttons: Approve, Edit, Re-draft. Routing rules pick the right partner based on practice area + client industry + an availability roster.
Routing matrix
| Tier | Reviewer | SLA | Approval mode |
|---|---|---|---|
| T1 (<$100k) | Lead partner only | 4 working hours | Single approver |
| T2 ($100k–$500k) | Lead partner + practice peer | 8 working hours | Lead + peer ack |
| T3 (>$500k) | Lead partner + risk + managing partner | 1 working day | Three-way sign-off |
| MSA renewal | Account partner only | 2 working hours | Single approver |
Slack review payload
“Re-draft with notes” opens a modal in Slack where the partner types one line of guidance — “make T&M not fixed”, “drop the analytics workstream”, “add a 4-week pilot phase before commit” — which gets fed back to Claude as a follow-up turn on the same conversation. This pattern is borrowed from how AEs claim hot leads in our SaaS trial-to-paid scoring guide.
DocuSign + CRM Sync & Kickoff
Once the partner clicks Approve, n8n renders the SOW JSON into a branded Word template, generates a PDF, posts it to a DocuSign envelope keyed to the firm’s existing template, sends the envelope to the named client signers, and updates HubSpot — all in one workflow. The post-signature webhook fires the kickoff trigger: a Notion engagement page is created, the staffed team gets a calendar invite, and the engagement-history index gets a new row ready for future retrieval.
DocuSign envelope payload
HubSpot deal upsert + post-signature kickoff
Post-signature kickoff (DocuSign Connect webhook)
DocuSign Connect fires envelope-completed the moment all parties sign. The webhook lands back in n8n and triggers a downstream workflow: create the Notion engagement page from a template, send the kickoff calendar invite via Google Calendar, post a #wins message in Slack, move the HubSpot deal stage to closed_won, and append a new row to the engagement-history index so this project is searchable in future retrievals from day one.
Common Failures & Fixes
Three failure modes show up in nearly every consulting deployment. Plan for them on day one — they are cheap to design around and expensive to retrofit.
Failure 1: Approach narrative drifts toward generic
Symptom: The approach section reads like a stock methodology slide. Partners reject 80% of drafts and rewrite from scratch — defeating the point of the system.
Fix: Force the prompt to ground every approach paragraph in a specific past engagement chunk by ID. Reject any sentence that uses “leverage”, “synergy”, “best-in-class” or “world-class” via a regex post-processor. Have each practice lead write a 200-word “voice exemplar” used as a few-shot anchor for their practice area.
Failure 2: Pricing leaks downward over time
Symptom: The retrieval surface includes proposals you sent but never won, and Claude starts pricing toward the discount band because the comparable set is biased downward.
Fix: Index proposals with a outcome field — won, lost, withdrawn — and weight retrieval toward won engagements 3:1. Re-embed quarterly as the firm’s pricing power shifts. Surface a “comparable price band” in the Slack review payload so the partner sees if the draft is at the bottom of the historical range.
Failure 3: Discovery transcript leaks confidential data into context
Symptom: A discovery call mentions a competitor product or a third-party vendor by name, and Claude either echoes that name in the SOW or pattern-matches into a comparable engagement that involved that competitor.
Fix: Run a Haiku pre-pass on the transcript to extract a redaction map, replace third-party names with [VENDOR_X] placeholders before any retrieval call, and only un-redact in the final partner-facing draft. Keep the original transcript in encrypted Postgres for audit, but never let the original text reach Claude past the first redaction pass.
Confidentiality, NDAs, ISO 27001 & Data Retention
Consulting work runs on client trust, and every intake is implicitly under NDA whether or not paper has been signed. The pipeline must be defensible to a CISO during procurement and to a partner two years later when the same client asks “what did you do with our data?” Treat confidentiality as a design constraint, not a checklist.
What Claude sees (and doesn’t)
- Sees: structured intake fields, redacted discovery transcript, classification output, anonymized past-project context, effort grid.
- Doesn’t see: client logos, signed engagement values from past clients, the firm rate card, individual stakeholder personal data beyond name + title, any document the prospect sent before the NDA was countersigned.
NDA workflow integration
An intake without a countersigned NDA is held in a quarantine state — n8n classifies and notifies the partner but does not pull any past-project context or run the SOW drafter. The moment the NDA envelope completes in DocuSign Connect, the workflow unlocks and runs the full pipeline. This protects the firm from inadvertently using a prospect’s confidential problem statement to retrieve another client’s engagement.
ISO 27001 controls this satisfies
- A.5.30 ICT readiness: n8n self-hosted with hot standby, Postgres point-in-time recovery, runbooks in git.
- A.8.10 Information deletion: intake data purged 90 days after deal close-lost; engagement data retained per signed contract.
- A.8.11 Data masking: Haiku redaction pass before any third-party API call; no production PII in dev/staging.
- A.5.14 Information transfer: all third-party calls over TLS 1.3, vault-backed credentials, full audit log.
- A.8.16 Monitoring: every prompt hash, retrieval query, and CRM write logged in an immutable audit table.
Data retention schedule
| Data class | Retention | Trigger to purge |
|---|---|---|
| Intake (deal lost) | 90 days | HubSpot stage → closed_lost |
| Discovery transcripts | 180 days | Engagement closed or 180 days post-intake |
| SOW drafts (not sent) | 30 days | Cron purge of orphan drafts |
| Engagement abstracts (won) | 7 years | Per signed MSA / contract |
| Audit log | 7 years | Per ISO 27001 + tax retention |
Measured Results — Six Months In
Numbers from a real implementation at a 22-partner management consultancy (180 proposals/year, $40M revenue, three practice areas) after six months on the new pipeline. No change in proposal volume during the test period — the lift comes entirely from cycle compression, win-rate quality, and partner time freed for client-facing work.
The headline metric inside the partnership is pricing variance: similar-scope engagements now price within 12% of each other rather than 34%. That’s the number that lets the managing partner sit in front of the board with a defensible margin story. Without it, every quarterly review turns into a hunt for the partner who underpriced again.
Implementation Timeline & Cost
- n8n self-host + queue mode setup: 8–12 hrs
- Intake schema + HMAC verify across sources: 6–8 hrs
- Notion → pgvector embedding pipeline: 14–18 hrs
- Classification + retrieval prompt tuning: 12–16 hrs
- Effort grid + buffer policy + rate card vault: 10–14 hrs
- SOW drafter prompt + voice exemplars per practice: 18–24 hrs
- Slack review queue + multi-approver routing: 10–14 hrs
- DocuSign template wiring + post-sign kickoff: 8–12 hrs
- HubSpot/Salesforce sync + audit log: 6–8 hrs
- ISO 27001 evidence pack + partner training: 8–12 hrs
- Week 1: Voice capture per practice + index past 24 months of engagements
- Week 2: Intake form + classification + retrieval calibration
- Week 3: SOW drafter + effort grid + Slack review
- Week 4: DocuSign + CRM + post-signature kickoff
- Week 5: Soft launch on 5 live proposals + partner feedback loop
- Includes: prompt tuning, ISO 27001 evidence pack, monthly precision report
FAQ
Want this built for your firm?
SEOKRU deploys this exact system in 5 weeks. We capture each practice’s voice from past engagements, index your last 24 months into the retrieval layer, wire intake → classify → retrieve → estimate → draft → review → DocuSign → CRM, and run the precision report monthly. You keep ownership of every component — workflows, prompts, embeddings, Postgres, the lot.
Talk to a consulting automation engineer