SOULWIRE STUDIOCONCEPT BUILDBUILT WITH N8N + AIRTABLE + FIREFLIES + CLAUDE + PDF.CO + GMAILFREE TO DOWNLOADSOULWIRE STUDIOCONCEPT BUILDBUILT WITH N8N + AIRTABLE + FIREFLIES + CLAUDE + PDF.CO + GMAILFREE TO DOWNLOAD
AUTOMATIONINTRODUCTION

The Proposal Autopilot

Turns a finished discovery call into a branded PDF proposal in the client's inbox. No re-listening, no manual drafting.

Difficulty
Intermediate
Stack
n8n · Airtable · Fireflies · Claude · PDF.co · Gmail
Cost
n8n + Claude Plan
01

Section One

What You're Building

A system that turns a finished discovery call into a proposal sitting in the client's inbox, with nobody re-listening to anything. The moment a client record is marked ready in Airtable, it finds the matching call in Fireflies, pulls the full transcript, and hands it to Claude.

Claude reads the conversation and drafts four sections: what we discussed, key takeaways, what happens next, and pricing. A code step builds that straight into a branded HTML proposal using the client's name, business, and logo already sitting in Airtable, converts it to a PDF, and emails it from Gmail.

Nobody opens a template. Nobody plays back a recording to remember what was quoted. The proposal reads like someone was paying close attention on the call, because something was.

client-proposal.pdf
Preview

Sections

4 sections

What We Discussed

From transcript

Key Takeaways

From transcript

What Happens Next

From transcript

Pricing

From transcript

Includes

Branded HTML template

Includes

Auto-converts to PDF

Includes

Sends via Gmail

Fig. 1 — system flow

Trigger

Airtable

Client record marked ready

Fetch

Fireflies

Matches the transcript by client email

Draft

Claude

Writes the 4 sections from the transcript

Deliver

PDF.co + Gmail

Converts to PDF, sends to the client's inbox

The rule that makes this work

Claude only writes the words. A code step builds the HTML, not a second AI call. That's the difference between a proposal that renders correctly every time and one you're babysitting for broken tags and hallucinated links.

02

Section Two

What You Need

Prerequisites

  • Claude connected to n8n via the MCP connector
  • Airtable Clients table set up with the required fields
  • Discovery calls already recording, titled or tagged with the client's email
  • PDF.co account created, API key grabbed from settings
  • Gmail OAuth2 credential connected in n8n

The Stack

n8nAutomation engine
AirtableClient database
FirefliesCall transcripts
ClaudeDrafts the sections
PDF.coHTML → PDF
GmailSends the proposal

A note on Claude. You are not going to build a single node by hand. You connect Claude to your n8n account, describe the system in plain language, and Claude builds it, tests it, and fixes its own errors while you watch. Each step below is either a two-minute setup task or a prompt you paste into Claude.

Total stack cost if you're starting from zero: Fireflies and PDF.co both have usable free tiers, so this often runs for close to the price of n8n alone (plus a Claude plan that supports connectors).

III

Section Three

Step-by-Step Build

01

Step One

Connect Claude to n8n

In n8n: Settings, then n8n API, create an API key. In Claude (claude.ai): Settings, Connectors, Add custom connector, name it n8n, and use your instance MCP URL: https://YOUR-INSTANCE.app.n8n.cloud/mcp-server/http with the API key. Once connected, Claude can create, edit, run, and debug workflows in your account.

02

Step Two

Two-minute prerequisites

Airtable: build (or point at) a Clients table with the fields from Section II. Fireflies: confirm your discovery calls are already being recorded and titled or tagged with the client's email. PDF.co: create an account and grab the API key from settings. Gmail: connect the OAuth2 credential in n8n.

03

Step Three

Paste the build prompt

Open a Claude chat with the n8n connector on, paste the prompt below with your base and table IDs filled in, then watch it work. A full build takes a few minutes.

Copy this: the build prompt

Connect to my n8n and build a workflow called Client Proposal Autopilot. My values: Airtable base ID = [YOURS], Clients table ID = [YOURS].

The system, in order:
1. Manual trigger for now (we'll swap this for an Airtable automation once it's tested).
2. Get Client Record: Airtable search on the Clients table for the record I specify. Use .first() everywhere downstream, not .item, which is unreliable on single-record searches.
3. List Fireflies Transcripts: GraphQL request for all transcript titles and ids on the account.
4. Find Matching Transcript: a code node that searches the list for a title containing the client's email, and throws a clear error if nothing matches.
5. Get Full Transcript: GraphQL request for that transcript's full sentence data.
6. Combine Transcript Text: code node, joins the sentences into one string.
7. Generate Proposal Sections: an AI Agent node (Claude) with a Structured Output Parser, given the full transcript, returning a sections array: What We Discussed, Key Takeaways, What Happens Next, Pricing.
8. Build Proposal HTML: a code node that assembles the branded proposal directly from the Airtable fields (name, business, logo) plus the AI sections. Do not use a second AI call for this step.
9. Convert HTML to PDF: HTTP request to PDF.co.
10. Download PDF: pull the binary from PDF.co's returned URL.
11. Send Proposal Email: Gmail node, sends the PDF to the client's email from Airtable.

Use my existing credentials for Airtable, Fireflies, Anthropic, PDF.co, and Gmail. Remember every field read off an Airtable node needs .json.fields, not straight off .json. Build it, then validate it, and tell me what you built before running anything.
OUTPUT: 1 n8n workflow · 11 nodes

04

Step Four

Test it with Claude

Paste the test prompt below. Claude runs the workflow, reads its own execution logs, and repairs whatever breaks. This loop is the entire debugging experience: you never open an error message yourself.

Copy this: the test prompt

Run the workflow manually against one client record. Check the execution: if any node failed, read the error, fix the node, and run it again. Repeat until the proposal PDF lands in the test inbox. Do not wire up the Airtable trigger yet. When it succeeds, summarize what happened at each node.
OUTPUT: Proposal PDF in the test inbox

Why this works

The email landing in the inbox IS the test passing. Everything upstream of Gmail had to work for that PDF to exist, so one visible result verifies eleven invisible steps.

05

Step Five

Turn it on

Confirm the test proposal opened correctly, logo and pricing included. Then swap the manual trigger for an Airtable automation: "when a record's status changes to Ready for Proposal, run this workflow." From there, marking a client ready in Airtable is the only step anyone has to remember.

A few things that trip people up

Why did my Airtable fields come back empty?Airtable data comes back nested under .fields, not flat on the record. Read every field off .json.fields, not straight off .json — it's an easy way to burn a full test run before you catch it.

Why does PDF.co say I'm not authenticated?PDF.co's API key goes in a header named x-api-key, not a Bearer token. Sending it as Authorization: Bearer looks exactly like an auth failure until you know that.

04

Section Four

The Upgrade Path

Run it against a handful of real calls before you trust it unattended. You're not just checking for errors, you're checking whether the four sections actually reflect what got said, and whether pricing pulls the right number from Airtable instead of guessing. Once ten proposals in a row need no edits, it's ready to run on the Airtable trigger without you watching.

From there the same skeleton scales sideways. The same transcript-matching pattern works for onboarding calls, contract renewals, or any other "catch up on what was said and produce a document" task. And nothing here is locked to one vendor: if PDF.co ever changes terms, the HTML-to-PDF step is a single swappable node.

The email landing in the inbox IS the test passing. Everything upstream of Gmail had to work for that PDF to exist, so one visible result verifies eleven invisible steps.

— The Proposal Autopilot, p. 6

Or this

§ Fin.

Rather have it built for you?

This guide is one system from the Soulwire Studio workflow library. We build AI automations for businesses that run on process: intake, scheduling, proposals, compliance-heavy operations. If you'd rather spend your time closing deals than debugging automation, book an audit and we'll find the automation hiding in your business.

Soulwire Studio

Systems with soul: custom websites, AI automation, and the digital ecosystems behind them, built for mission-driven businesses.

© 2026 Soulwire Studio · Veteran-owned · San Antonio, TX