Johnny n8n Workflow Blueprints
(3)
For: James (AgentsOPS / FreshFlip / Listings)
Date: 2026-02-05 Status: DRAFT v0
(blueprints; not final builds)
Each blueprint includes: goal, trigger, data, node plan, error
handling, and “what to approve”.
Blueprint
1 — FreshFlip: Lead Magnet Autopilot (Free Turnover System)
Business goal
Turn the “Free Turnover System” into an automated acquisition loop: -
Capture lead → deliver PDF + Notion template instantly - Segment
(units/market) → follow-up sequence - Push qualified operators into
FreshFlip beta or a call
Option A (recommended): Webhook from landing page
form - n8n node: Webhook Trigger - Payload:
first_name, last_name, email,
phone?, units_count?,
market_city?, utm_*
Option B: Supabase row insert/update trigger -
Trigger: beta_signups insert (Form 1) and update (Form
2)
Data model (minimum)
Lead object (canonical): - email_lower
(primary key) - full_name - phone -
units_count - market_city -
source (e.g., free-turnover-system) -
utm_source, utm_medium,
utm_campaign - status (new/contacted/etc)
Workflow outline (nodes)
- Webhook Trigger
- Set / Function: normalize fields
email_lower = lower(trim(email))
- parse
full_name
- default
source
- IF: missing required fields?
- If missing → respond 400 + log
- Supabase (HTTP Request): Upsert lead
- Table:
beta_signups or a dedicated leads
table
- Idempotency: upsert on
email_lower
- Send Email (Gmail or SendGrid)
- Subject: “Your Free Turnover System (PDF + Notion Template)”
- Body includes:
PDF_LINK
NOTION_TEMPLATE_LINK
BETA_LINK
- Wait (e.g., 1 day)
- Follow-up Email #1: “Want this automated?”
- Wait (2 days)
- Follow-up Email #2: case study / “why proof
photos”
- Wait (4 days)
- Follow-up Email #3: “Join the beta” + short survey
link
- Router / IF segmentation:
- If
units_count >= 3 → “high-intent” branch
- Send “book a call” email + Calendly link
- Create task in CRM
- Else → keep nurture only
- Log audit event (Sheet/DB)
- Webhook Response: success
Recommended nodes (concrete)
- Triggers: Webhook, Schedule (for
batch follow-ups), Supabase (via HTTP)
- Data: Postgres, Supabase,
Google Sheets
- Messaging: Gmail, SendGrid,
Twilio (optional), WhatsApp
(later)
- AI: OpenAI (optional; classify pain points)
Error handling / edge cases
- Duplicate submissions: upsert + short-circuit (“already sent within
24h?”)
- Email failures: retry (exponential backoff), then dead-letter
row
- Rate limits: backoff on 429
- Deliverability: use a dedicated sender domain ASAP (week 2)
What needs James approval
- Final email copy + cadence
- Links: PDF hosting location + Notion template URL
- Segmentation rules (“high-intent” definition)
Blueprint
2 — AgentsOPS: Content Engine (Idea → Draft → Approval → Publish →
Repurpose)
Business goal
A weekly “content factory” for agent attraction + coaching: - Turn
5–10 ideas into drafts automatically - Require James approval before
anything posts - Output ready-to-publish packs (FB group post + IG
caption + email draft)
- Schedule Trigger: weekly batch (e.g., Monday 08:00
ET)
- Manual trigger: “Add idea” form (Webhook) or Notion
database
Systems (recommended)
- Notion as content calendar + approval queue (fast +
flexible)
- Google Drive as asset store (scripts, thumbnails,
exports)
Data model (Notion DB fields)
Title
Pillar (Agent attraction / AI coaching / Tech stack /
eXp mentorship)
Target (new agent, mid-career agent, top producer)
Format (FB post, Reel script, Email)
Status (Idea → Drafted → Needs Approval → Approved →
Published)
Publish date
Draft copy
Approved copy
Asset links (Drive URLs)
Workflow outline (nodes)
- Schedule Trigger
- Notion: fetch “Idea” items for the week
- Loop (Split In Batches)
- LLM node (OpenAI/Claude): generate
- 3 hooks
- main post (FB group style)
- short-form script (30–45s)
- CTA (lead magnet, consult, AgentsOPS)
- Notion: write back
Draft copy, set
status = Needs Approval
- Notify James (Slack/Email)
- includes a summary + link to Notion item
Approval step (human-in-the-loop): 7)
Trigger: Notion status changes to Approved
8) Branch by format - If Email → create Gmail draft -
If Social → create “publish pack” doc in Drive + optional scheduler
(Buffer/Metricool) 9) Repurpose (optional, Phase 2): -
If a long video transcript exists → generate: - 5 short clips outline -
10 quote cards copy - 1 blog post 10) Log published
outputs
Recommended nodes (concrete)
- Notion: Notion Trigger, Notion
(CRUD)
- AI: OpenAI node, or HTTP Request
to Claude API
- Docs: Google Docs, Google Drive,
Gmail
- Notifications: Slack or Discord or
Gmail
Error handling / edge cases
- Avoid hallucinated claims: add an approval checklist + “no stats
unless sourced” rule.
- Keep prompt templates versioned (store prompt text in a Notion page
or n8n static data).
- Token/cost control: cap batch size and output length; retry with
smaller outputs.
What needs James approval
- Content pillars + voice guidelines
- Approval UI (Notion vs Slack buttons vs email “approve” reply)
- What “published” means (manual posting vs scheduled tool)
Business goal
When a new listing is created, automatically generate: - A clean
Drive folder structure - Listing description + social copy pack - A task
checklist (photography, staging, open house) - Follow-up sequences for
inquiries + open house attendees
- Google Sheets Trigger: new row in “Listings”
sheet
- Notion Trigger: new “Listing” database item
- CRM trigger (later): Follow Up Boss / KVCore / etc
via webhook
Minimum listing fields
address
city
price
beds, baths, sqft
highlights (free text)
school_district?
mls_id?
photo_link? (or “pending”)
status (coming soon/active/under contract)
Workflow outline (nodes)
- Trigger (Sheets/Notion)
- Google Drive: create folder
/Listings/YYYY/MM - {address}
- subfolders:
/Photos, /Video,
/Copy, /Social, /Docs
- LLM: generate copy pack
- MLS description (compliant tone)
- FB post (local buyer angle)
- Investor version (cashflow/STR potential if relevant)
- 5 IG captions
- 10 headline variations
- Google Docs: create “Listing Copy Pack” doc in
/Copy
- Task system (choose one):
- Trello/Asana/Notion tasks created from template
- Notify James with links
- Lead inquiry follow-up (separate workflow)
- Trigger: new inquiry lead (email parse/webhook)
- Route: tag listing + send first-touch email/SMS + create call
task
Recommended nodes (concrete)
- Triggers: Google Sheets Trigger, Email
Trigger (IMAP), Webhook
- Assets: Google Drive, Google
Docs
- Copy: OpenAI/Claude
- Tasks: Notion or Trello
- Messaging: Gmail, Twilio
(optional)
Error handling / edge cases
- Address normalization (avoid duplicate folder creation).
- Compliance: maintain a “no fair housing violations” prompt
guard.
- If photos aren’t ready: create placeholders and re-run copy pack
after photo link added.
What needs James approval
- Folder naming convention
- Copy style + compliance rules
- Preferred follow-up scripts (email/SMS) and timing
Shared
implementation notes (applies to all 3)
- Central UTIL workflows (reusable):
UTIL - Normalize Email
UTIL - Upsert Lead
UTIL - Send Email Template
UTIL - Log Audit Event
UTIL - Notify James
- Testing pattern:
- Use a “Test mode” flag to route messages to James only.
- Versioning:
- Keep a changelog in each workflow description:
v1,
v1.1.