Discovery Call to Proposal (n8n template)
An n8n template for agencies and freelancers who write a proposal after every discovery call.
You paste the call transcript into a form (or send it by webhook). Then:
1. Google Gemini reads the call and picks the work from your rate card, with the words from the call that justify each line.
2. Every price comes from your rate card, worked out in code. The AI never sees your prices and never writes one.
3. Gemini writes the intro, approach and timeline. Any money amount or unknown number it writes is rejected, and it tries again or falls back to a plain template.
4. Verify Pricing recomputes every line, subtotal, tax, deposit and monthly figure before the PDF is made. If anything is off, nothing is sent.
5. A branded PDF with your logo and color: scope, investment table, payment terms, assumptions and an acceptance page.
6. You get it by email with Approve and Reject buttons, next to the budget the prospect mentioned, the open questions and anything they asked for that is not on your rate card.
7. Approve sends it to the prospect through Resend or Gmail. One short follow-up goes out a few days later unless you click Stop or mark the deal as replied.
Details that save you trouble
- Your rate card is a simple list in n8n: code, name, unit, price, min and max quantity, weeks, one-time or monthly.
- Any currency and number format, with tax, discount and deposit.
- Paste a transcript or upload a .txt, .vtt or .srt file. Speaker labels and timestamps are cleaned up.
- The same call is not turned into two proposals by accident.
- Sample mode with a made-up call, so you can see the whole flow before you use real data. Sample proposals only ever go to you.
- Every setting and rate card line is checked before the run. A typo stops the run with a list of what to fix.
- An error workflow emails you what failed and what to do next.
- Every proposal is logged in an n8n Data Table with totals, tokens, cost and status.
- No API keys inside the workflow files. They stay in n8n credentials.
- The PDF is made inside n8n. No paid PDF service, no Docker.
What I tested and what I didn't
Tested on self-hosted n8n 2.44.6:
- 19 unit checks on the pricing, the number guard, Verify Pricing and the PDF.
- An automated suite of 27 scenarios with 75 checks, all passing. It runs the real workflows inside n8n with Gemini and email replaced by mocks. It covers approve and follow-up, reject, an edited approval link, expiry, duplicates, unknown rate card codes, an invented price in the AI text, bad settings, a bad rate card, the webhook and its key, file uploads, the Form in a real browser, the Stop link, other currencies with tax and deposit, and email and Gemini errors.
- Live runs with real Gemini and real Resend on the sample call. The approval email arrived in a Gmail inbox with the PDF, Approve sent the proposal, and the follow-up arrived. Prices and the number check passed.
Not tested yet:
- Fathom, Fireflies and the Google Drive folder trigger. They are included switched off and labeled untested.
- The Gmail sending option.
- The follow-up showing in the same Gmail thread. With a sending-only Resend key it arrives as a separate email (seen in our test). With a Full access key the template reads the real Message-ID back from Resend; that path is tested against a mock only.
- Approving from a phone or another computer. This needs your n8n on a public HTTPS address. Our tests ran on a local instance.
- Company email security tools that open links automatically. These could use up an approval link.
- n8n Cloud, other n8n versions and queue mode with several workers.
- Transcripts in languages other than English.
Requirements
- n8n with Data Tables, self-hosted. Built and tested on 2.44.6. n8n Cloud has not been tested.
- A Gemini API key from Google AI Studio. In our live tests one proposal came to about two US cents in Gemini usage. Google bills you directly.
- Resend with a verified domain, or a Gmail account.
- For approval links that work from your phone or inbox: n8n reachable at a public HTTPS address.
Included files
- proposal-intake.json
- proposal-per-proposal.json
- proposal-error-handler.json
- README.md setup guide with every setting explained
- TESTING.md: a 5 minute check, what was tested and known limits
- TEST-REPORT.md: every test case and the live runs, with what was not tested
- LICENSE.txt
- Screenshots
Good to know
- Setup takes about 15 minutes.
- The number guard covers numbers written with digits. You still read each proposal before approving it.
- Transcripts are sent to Google Gemini. Tell prospects you record calls and check your contracts allow AI processing.
License, refunds and support
This is a downloadable, self-serve software template, not a service. You import it into your own n8n and run it on your own accounts. VNCNT Labs does not host it and has no access to your data.
License: single account. Use it in your own n8n instances and in instances you run for your clients. Do not resell or redistribute the template files. Full terms are in LICENSE.txt.
Refunds within 14 days of purchase, see vncntlabs.com/refund.
Questions: hello@vncntlabs.com
Sold by FAMVII LLC dba VNCNT Labs. Gemini, Resend, Gmail, Fathom, Fireflies, Google Drive and n8n are trademarks of their owners. VNCNT Labs is not affiliated with them.