The 5-9 Club · Free Resource

The 5 Agents That
Run My Business

full build reference, copy the JSON straight into n8n

Five real n8n workflows, explained node by node, with a working copy button for each one. No PDF wrapping, no broken line breaks. What you copy here is exactly what goes into n8n.

Before you build anything

Setup checklist

Set these up before importing anything, or every workflow shows red errors the moment it opens.

Credentials to connect in n8n

Google Sheets OAuth2 — used across all five
Google Drive OAuth2 — agents 1 and 2
Google Docs OAuth2 — agents 2 and 4
Gmail OAuth2 — agents 1, 2, 4, and 5

Environment variables
OPENROUTER_API_KEY
Agents 2, 3, 4, 5 — your existing OpenRouter key
INVOICE_SHEET_ID
Agent 1 — Google Sheet ID for the Invoices tracker
INVOICE_DRIVE_FOLDER_ID
Agent 1 — Drive folder where invoice PDFs are saved
PDF_GENERATOR_ENDPOINT
Agent 1 — placeholder, swap for Stirling PDF once it's live
TRANSCRIPTS_FOLDER_ID
Agent 2 — Drive folder your transcription tool saves to
PROPOSALS_FOLDER_ID
Agent 2 — Drive folder for proposal drafts
MY_EMAIL
Agents 2, 4 — your inbox, for draft-ready notifications
PROSPECTS_SHEET_ID
Agents 3, 5 — Google Sheet ID for your prospect tracker
SERPER_API_KEY
Agent 3 — search API key for public signal research
CLIENT_PIPELINE_SHEET_ID
Agent 4 — Google Sheet ID tracking client builds
PRD_FOLDER_ID
Agent 4 — Drive folder for PRD drafts
STIRLING_PDF_ENDPOINT
Agent 5 — your self-hosted Stirling PDF URL
COLD_OUTREACH_LABEL_ID
Agent 5 — Gmail label ID on your cold outreach threads
Agent 1 of 5

Invoice Generator & Tracker

Creates and sends invoices from a short form, then checks every morning for anything overdue and reminds the client automatically, logging every reminder so nothing quietly slips through.

Trigger

Two triggers live in this one workflow. A Form Trigger you fill in manually the moment a deal is confirmed, and a Schedule Trigger that runs every day at 9AM on its own.

How it works, step by step
  1. You fill out a short form: client name, email, service, amount, due date.
  2. That gets logged as a new row in your Invoices sheet, with a unique invoice number generated automatically.
  3. The workflow calls a PDF generator to create the actual invoice PDF. This is a placeholder until the Stirling PDF piece is wired in.
  4. The PDF is uploaded to a Drive folder, and the link is saved back into the sheet.
  5. The invoice is emailed to the client automatically, with the PDF attached.
  6. Separately, every day at 9AM: the workflow reads every row in the sheet, filters for anything marked Unpaid with a due date already passed, and sends a reminder.
  7. Every reminder sent gets logged, so you can see who's been nudged multiple times and actually needs a phone call instead of another email.
Setup requirements

Create the Invoices sheet with these columns: Invoice Number, Client Name, Client Email, Service, Amount, Due Date, Date Issued, Status, PDF Link, Reminders Sent. Create a Drive folder for the PDFs. Connect Gmail.

Before you activate it

Run it once manually with a test client and your own email address before pointing it at anyone real.

1_invoice_generator_tracker.json
Agent 2 of 5

Proposal Draft from Meeting Transcript

Watches a Drive folder for new call transcripts, and turns each one into ranked pitch ideas plus a first-draft proposal, without you touching it.

Trigger

A Google Drive trigger that fires the moment a new file appears in a specific folder.

How it works, step by step
  1. Your transcription tool, or you manually, drops a transcript file into the watched Drive folder.
  2. The workflow downloads the file and extracts the raw text.
  3. That transcript is sent to Claude, through OpenRouter, with instructions to pull out stated problems, budget signals, and objections, then generate three ranked pitch angles and a one-page proposal outline.
  4. A new Google Doc is created with that content already written in.
  5. You get an email with a link, so you're reviewing and sharpening a draft instead of starting from a blank page.
Setup requirements

Create the Drive folder your transcription tool saves to, and a separate folder for proposal drafts. Confirm your OpenRouter key is active.

Before you activate it

Drop in one real past transcript first and read the output critically before trusting it on a live prospect.

2_proposal_draft_from_transcript.json
Agent 3 of 5

Prospect Research Agent

The moment you add a new prospect to your tracker, this researches them from public sources and hands you back a brief with one specific, honest personalization hook for your cold email.

Trigger

A Google Sheets trigger that fires when a new row is added to your Prospects sheet.

How it works, step by step
  1. You add a company name and website URL to your Prospects sheet.
  2. Two things happen at the same time: the workflow fetches the raw text of their website, and separately searches the web for recent public signals, news, hiring, launches.
  3. Both results get merged into one dataset.
  4. That's sent to Claude with instructions to write a short company overview, spot their likely GTM constraint, and surface one specific observation you could reference in a cold email, flagging low confidence explicitly if the evidence is thin.
  5. The research brief is written straight back into the same row in your sheet.
Setup requirements

Your Prospects sheet needs a Company Name and Website URL column at minimum. Get a Serper.dev API key, or swap in whichever search API you prefer.

Before you activate it

Add one real prospect and read the brief for accuracy before using its personalization line verbatim. It's a starting point, not a guarantee.

3_prospect_research_agent.json
Agent 4 of 5

PRD Builder Agent

Takes rough notes from a discovery call and turns them into a structured first-draft PRD you can actually work from with the client.

Trigger

A Form Trigger you fill in yourself after a call.

How it works, step by step
  1. You fill in a short form: client name, the problem they described, who'll use the tool, must-have features, any known constraints.
  2. That's sent to Claude with instructions to write a structured PRD: problem statement, target user, prioritized core features, what's explicitly out of scope for v1, a suggested tech stack, a handful of user stories, and open questions to ask the client before building starts.
  3. A new Google Doc is created with that PRD written in.
  4. The build is logged into your Client Builds sheet with a status of 'PRD Drafted, Needs Review.'
  5. You get an email with the link.
Setup requirements

Create a Drive folder for PRDs and a Client Builds tracking sheet.

Before you activate it

Treat the output as a first draft to react to in a working session, not a spec to hand the client untouched. The prompt is written to flag its own assumptions, read those first.

4_prd_builder_agent.json
Agent 5 of 5

Custom Lead Magnet for Cold Replies

Watches for replies to your cold outreach emails, reads what the person actually said, and sends back a one-page resource built for their exact situation instead of a generic pitch deck.

Trigger

A Gmail trigger that watches a specific label you apply to your cold outreach threads.

How it works, step by step
  1. Someone replies to your cold email.
  2. The workflow reads the reply and pulls out the sender's name, email, and message.
  3. That's sent to Claude with instructions to identify their specific problem or interest, then write a tailored one-pager: a title, a two-line intro naming their exact situation, three to four concrete points, one small framework, and a soft call to action.
  4. That content is converted into an actual PDF using Stirling PDF.
  5. The workflow replies directly in the same email thread with the PDF attached.
  6. The reply and the fact that a lead magnet was sent both get logged, so you can track who received what.
Setup requirements

Apply a consistent Gmail label to your cold outreach threads. Get a working Stirling PDF endpoint running.

Before you activate it

This one emails real prospects automatically. Do not activate it until you've tested the output quality on a handful of real replies manually first.

5_custom_lead_magnet_agent.json