AutomationFlowsAI & RAG › Run a Full Lead-to-meeting Pipeline with Google Sheets, Gmail, Gemini and Openai

Run a Full Lead-to-meeting Pipeline with Google Sheets, Gmail, Gemini and Openai

ByAyaan Sheikh @ayaansheikh77 on n8n.io

This workflow captures new leads via webhook, enriches and scores them with Apollo and Google Gemini, logs everything in Google Sheets, and automates outreach, reply handling, follow-ups, meeting prep, weekly reporting, and no-show re-engagement using Gmail, OpenAI, and Slack.…

Webhook trigger★★★★★ complexityAI-powered84 nodesHTTP RequestGoogle GeminiGoogle SheetsGmailOpenAISlack
AI & RAG Trigger: Webhook Nodes: 84 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #17383 — we link there as the canonical source.

This workflow follows the Gmail → Googlegemini recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "Xk6Rl8ss10ITcbO4",
  "name": "Automated Lead Lifecycle & Meeting Orchestration System (6 Steps Workflow))",
  "tags": [],
  "nodes": [
    {
      "id": "9d350835-37ee-4bd3-b375-3a1e5ef80679",
      "name": "New Lead Webhook",
      "type": "n8n-nodes-base.webhook",
      "notes": "Fires the instant a lead form is submitted (Meta Lead Ads, Typeform, or any form tool with a webhook). Speed here is the #1 driver of conversion.",
      "position": [
        864,
        576
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "5ab4198d-261b-4521-8305-b968bf832919",
      "name": "Normalize Lead Data",
      "type": "n8n-nodes-base.set",
      "position": [
        1104,
        576
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "884b3810-d3ad-4c9d-8c95-3d14219ab3a9",
      "name": "Enrich Lead (Clearbit/Apollo)",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Enriches the lead's company from their email domain. Swap for Apollo.io or skip this node entirely if no enrichment API is available \u2014 the workflow degrades gracefully without it.",
      "position": [
        1360,
        576
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "2a2dac74-42e2-4b55-9b69-9029f45a53f6",
      "name": "Merge Enrichment Into Lead",
      "type": "n8n-nodes-base.set",
      "position": [
        1584,
        576
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "269b1800-a415-4c7b-8e4b-cec3c05741f4",
      "name": "AI: Qualify & Score Lead",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        1776,
        576
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "71fbfa74-45e6-4054-afb9-5ea117315ac5",
      "name": "Parse Lead Score",
      "type": "n8n-nodes-base.code",
      "position": [
        2096,
        576
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "38ed8840-4859-4ac8-94c6-740e9660c15f",
      "name": "Log Lead to CRM Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2304,
        576
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "c409898d-88db-41c9-8e2a-8bf6206d1265",
      "name": "AI: Write Personalized Outreach",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        2752,
        432
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f28512ce-7438-4a72-a0a0-a803f2e43b94",
      "name": "Parse Outreach Message",
      "type": "n8n-nodes-base.code",
      "position": [
        3056,
        432
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "37fe4884-78a3-46e2-9b50-25a54c786945",
      "name": "Send Outreach Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3280,
        352
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "c462b4bc-6575-4c7d-8d2c-243c7192c065",
      "name": "Send Outreach SMS (Twilio)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3280,
        512
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "625ceae9-e222-45cc-b598-2b1e9d9e86a3",
      "name": "Log Outreach Sent",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3552,
        416
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "2091a28c-5419-49d5-8682-3bafb9b525ce",
      "name": "AI: Write Polite Decline",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        2752,
        736
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "932f1d98-6b4d-4eb9-9f3f-ca4e15950926",
      "name": "Send Decline Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3136,
        736
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "85e7cd2d-4435-4e09-8a47-aa27352ef4f7",
      "name": "Log Declined Lead",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3568,
        736
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "2b0ad1b3-2e22-4a1e-b403-9d3ffed489df",
      "name": "Route by Tier",
      "type": "n8n-nodes-base.switch",
      "position": [
        2544,
        560
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "b6f30590-7e80-4ece-8f6b-811ca4543a1d",
      "name": "Update row in sheet (Decline)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3344,
        736
      ],
      "parameters": {},
      "typeVersion": 4.7
    },
    {
      "id": "cb8beb32-5bf5-4678-b56f-ffb81426847d",
      "name": "Inbound Reply Webhook",
      "type": "n8n-nodes-base.webhook",
      "notes": "Connect this to your email/SMS provider's inbound-reply webhook (e.g. Twilio inbound SMS, or an email parsing service like Mailparser/SendGrid Inbound Parse).",
      "position": [
        864,
        1472
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "b3efede9-0103-4b0d-8e49-f99c45199c2c",
      "name": "Lookup Lead by Contact",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1088,
        1472
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "e25b4bc1-d944-402b-bdd8-c776ae749bc9",
      "name": "Parse Reply Intent",
      "type": "n8n-nodes-base.code",
      "position": [
        1616,
        1472
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "c892c7e1-4005-4322-a3ca-c7478dc00e26",
      "name": "Route by Intent",
      "type": "n8n-nodes-base.switch",
      "position": [
        1808,
        1456
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "6dfe1ae3-8cf6-42d8-bddb-194d8000716a",
      "name": "Send Booking Link Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2032,
        1296
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "6c32053d-e96f-4168-ba8e-1e744af17afa",
      "name": "Mark Status: Booking Sent",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2320,
        1296
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "07763011-ef1c-43db-9d55-3241c90b8c9b",
      "name": "Send Objection Response",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2416,
        1472
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "c5ed7bf2-0127-4357-9021-04e7aab6742d",
      "name": "Mark Status: Closed Lost",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2032,
        1632
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "d862c4d0-d872-41d5-9485-f49137427f04",
      "name": "AI: Classify Reply Intent",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1296,
        1472
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "6fa00635-9b2d-45b0-83f0-5fced1b71990",
      "name": "AI: Draft Objection Response",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2016,
        1472
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "716e1baa-3677-4468-a936-b76936f4d225",
      "name": "Update row in sheet (Objection)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2624,
        1472
      ],
      "parameters": {},
      "typeVersion": 4.7
    },
    {
      "id": "23a9a3e8-afce-41ff-a6ad-c7c661c33189",
      "name": "Follow-Up Check (Every 6h)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        864,
        2192
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "11df8023-e37e-4f33-9719-dbd86e8a60a0",
      "name": "Read Leads Awaiting Reply",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1120,
        2192
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "7c4fcd57-97ad-46b5-9b23-061c5a4f4416",
      "name": "Filter: No Reply, Under 3 Follow-Ups",
      "type": "n8n-nodes-base.filter",
      "notes": "Add a date-diff condition here comparing last_contacted_at to now (e.g. >48h) once you set your exact cadence.",
      "position": [
        1360,
        2192
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "648c1d36-c950-4713-ac53-d8e5325a2329",
      "name": "Parse Follow-Up",
      "type": "n8n-nodes-base.code",
      "position": [
        1920,
        2192
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "184526da-dce0-4651-892e-43651351ebda",
      "name": "Send Follow-Up Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2160,
        2192
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "07bf2610-81f5-4bf3-a0ee-0276cfe9a2ec",
      "name": "Increment Follow-Up Count",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2384,
        2192
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "5cb5f1cf-5cfb-44be-abb8-1640f010563b",
      "name": "Message a model",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1584,
        2192
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "ac9fd346-46da-4114-99d3-d0c439b41451",
      "name": "Meeting Booked Webhook",
      "type": "n8n-nodes-base.webhook",
      "notes": "Connect to your booking tool's webhook (Calendly, Cal.com, etc.) fired when a lead books a slot.",
      "position": [
        864,
        2896
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "96c2113c-7fb6-493c-891e-8a1920cb5c05",
      "name": "Mark Status: Meeting Booked",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1088,
        2896
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "2d9b7ebd-29f8-46d6-9b9c-600ee995e921",
      "name": "Get Full Lead History",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1312,
        2896
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "a9bae68b-1d9c-4f4b-85fa-0b994469f1c7",
      "name": "Wait Until 30 Min Before Meeting",
      "type": "n8n-nodes-base.wait",
      "notes": "Configure this to resume 30 minutes before meeting_time \u2014 subtract 30 min from the timestamp in an upstream Set/Code node before this Wait node.",
      "position": [
        1536,
        2896
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "a0acbd41-285a-42a9-9617-4e8001d75e3c",
      "name": "Send Brief to Salesperson",
      "type": "n8n-nodes-base.slack",
      "position": [
        2112,
        2896
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "6fe070b5-1cd1-47a3-8288-b3528be89a68",
      "name": "AI: Generate Pre-Call Brief",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1744,
        2896
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "ecb0f01f-7078-4360-81e6-eb12fc52b130",
      "name": "Weekly Report Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        864,
        3600
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "74cd9ab6-f7ca-482b-8f51-a9859cbbfe6c",
      "name": "Read All CRM Rows",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1088,
        3600
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "f2dd2d15-1601-49cf-a2ac-a324c83abb8f",
      "name": "Aggregate Conversion Metrics",
      "type": "n8n-nodes-base.code",
      "position": [
        1312,
        3600
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "4c3954db-2e60-41bf-8ee9-7b0d1b31cdaf",
      "name": "Write Weekly Report",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1536,
        3600
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "494c6efc-12ba-435a-8d4a-f1ed99aa016a",
      "name": "Send Weekly Summary to Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1744,
        3600
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "f44ed0b7-fc9f-46bb-a6a5-4e0b305b7d9c",
      "name": "No-Show Check (Hourly)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        864,
        4304
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "26fdc546-cb20-48b0-b643-01a9ade253d1",
      "name": "Read Today's Meetings",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1088,
        4304
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "7c75e26f-90c9-4552-8d4b-4eb7c70387d5",
      "name": "Filter: Meeting Time Passed",
      "type": "n8n-nodes-base.filter",
      "notes": "In production, cross-check against your calendar tool's 'attended' status before assuming no-show \u2014 this simplified version assumes any booked meeting whose time has passed without a status update is a no-show.",
      "position": [
        1312,
        4304
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "3bfc9acf-daa5-4b26-bdf9-44a2575a3e03",
      "name": "Mark Status: No-Show",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1536,
        4304
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "b2dfd195-8e2d-4765-aa6b-ff4472220fb3",
      "name": "Send Re-Engagement Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2080,
        4304
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "e27c8f0a-c2af-4624-9c7b-22b2b31030a8",
      "name": "AI: Write Re-Engagement Message",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1744,
        4304
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "b25eca78-26d4-49cb-97b6-83dba492ba49",
      "name": "Sticky Note - Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        -16
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ffdb724b-9622-4083-b48f-fd9420b7a944",
      "name": "Sticky Note - Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        2272
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "47497014-ef87-477d-ab20-23338ab55053",
      "name": "Label - STEP 1 \u2014 New Lead Intake, Qualification & Outreach",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        16
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0e0432d8-60c4-49ad-b6b2-e35fe1b30f87",
      "name": "Sticky - STEP 1 \u2014 New Lead Intake, Qualification & Outreach - Trigger & normalize",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        112
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "70097860-79d9-46e4-9c6b-519f742fef2c",
      "name": "Sticky - STEP 1 \u2014 New Lead Intake, Qualification & Outreach - Enrich company data",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1328,
        112
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a1e77655-6897-47f4-8968-f2dbce753bad",
      "name": "Sticky - STEP 1 \u2014 New Lead Intake, Qualification & Outreach - AI qualify & score",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1744,
        112
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "226e4470-91d9-447d-97ed-0d9c9b36a6e4",
      "name": "Sticky - STEP 1 \u2014 New Lead Intake, Qualification & Outreach - Log & route by tier",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2272,
        112
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "17ddcb5a-7a4b-4879-9f35-d4ec9a308bf3",
      "name": "Sticky - STEP 1 \u2014 New Lead Intake, Qualification & Outreach - AI draft outreach/decline",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2720,
        112
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "f4e50f24-592d-4e84-a296-0a83c111f098",
      "name": "Sticky - STEP 1 \u2014 New Lead Intake, Qualification & Outreach - Send & log outcome",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3104,
        112
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "1bfb7cda-754b-4e74-a241-6ac2c7122fc5",
      "name": "Label - STEP 2 \u2014 Inbound Reply Intent Handling & Routing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        960
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "121ec279-e121-4b93-b3f8-69124c0ee8a7",
      "name": "Sticky - STEP 2 \u2014 Inbound Reply Intent Handling & Routing - Trigger & lookup lead",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        1056
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "6fd41925-6095-4220-bd4b-b1fb5ec21b7e",
      "name": "Sticky - STEP 2 \u2014 Inbound Reply Intent Handling & Routing - AI classify intent",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        1056
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ebe4ad4e-7197-4530-a287-71c83740966d",
      "name": "Sticky - STEP 2 \u2014 Inbound Reply Intent Handling & Routing - Route by intent",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1776,
        1056
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "9a7c01f0-2244-4564-832c-cc9e047df662",
      "name": "Sticky - STEP 2 \u2014 Inbound Reply Intent Handling & Routing - Respond & update status",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1984,
        1056
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "c05866fe-6cb0-4f6c-bafe-1fc578ee7b5d",
      "name": "Label - STEP 3 \u2014 Automated Follow-Up Sequence",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        1904
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "46e686f0-cda7-43f1-bdbf-8a7902be48e3",
      "name": "Sticky - STEP 3 \u2014 Automated Follow-Up Sequence - Trigger & read pending leads",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        1952
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "fa631509-d059-4ebd-ae01-6f8dcb89986c",
      "name": "Sticky - STEP 3 \u2014 Automated Follow-Up Sequence - AI draft follow-up",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1552,
        1952
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "35b3e499-3275-4503-b0b6-689c65d9d997",
      "name": "Sticky - STEP 3 \u2014 Automated Follow-Up Sequence - Send & increment count",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2128,
        1952
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d73c1dc6-56d2-404a-a022-f03c4142ba37",
      "name": "Label - STEP 4 \u2014 Pre-Meeting Brief Generator",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        2544
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "471a511a-782f-423d-8289-4000b6020b7f",
      "name": "Sticky - STEP 4 \u2014 Pre-Meeting Brief Generator - Trigger & mark booked",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        2656
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d620dcc8-2a84-4812-a1aa-3858c8ca2f81",
      "name": "Sticky - STEP 4 \u2014 Pre-Meeting Brief Generator - Fetch history & wait",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        2656
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d57a725a-9118-44c0-99ec-ab24fc301d11",
      "name": "Sticky - STEP 4 \u2014 Pre-Meeting Brief Generator - AI generate brief",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1712,
        2656
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "99008915-0e22-4bf8-b79e-75c294fdee86",
      "name": "Sticky - STEP 4 \u2014 Pre-Meeting Brief Generator - Send to salesperson",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        2656
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "7536cc5d-d397-4107-92dc-7d93a9d7adc1",
      "name": "Label - STEP 5 \u2014 Weekly Conversion Report",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        3248
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "00175282-95cb-4f3f-9fbe-865dff4e4b7d",
      "name": "Sticky - STEP 5 \u2014 Weekly Conversion Report - Trigger & read all rows",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        3360
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "f92b94b1-57ae-4eea-9ba4-2a44cc41d2fd",
      "name": "Sticky - STEP 5 \u2014 Weekly Conversion Report - Aggregate metrics",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1328,
        3360
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "9593ff47-894b-4095-a961-5103cc8750cc",
      "name": "Sticky - STEP 5 \u2014 Weekly Conversion Report - Write & send report",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1584,
        3360
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "526522b9-b5fb-4134-9796-e57263dce18e",
      "name": "Label - STEP 6 \u2014 No-Show Detection & Re-Engagement",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        3952
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "28b18da5-0ca1-4b33-b037-e5ec6eb0077b",
      "name": "Sticky - STEP 6 \u2014 No-Show Detection & Re-Engagement - Trigger & read meetings",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        4064
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "7729ab5e-cf5e-437b-9086-2d279e6a590b",
      "name": "Sticky - STEP 6 \u2014 No-Show Detection & Re-Engagement - Mark as no-show",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1536,
        4064
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "691bad97-723e-47c0-8818-2957d550a149",
      "name": "Sticky - STEP 6 \u2014 No-Show Detection & Re-Engagement - AI write re-engagement",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1776,
        4064
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "766aa09d-112b-49a6-869c-5d4b5ab85e0a",
      "name": "Sticky - STEP 6 \u2014 No-Show Detection & Re-Engagement - Send email",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        4064
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "executionOrder": "v1"
  },
  "versionId": "2714c029-a795-4640-91ca-3d3c817218b5",
  "nodeGroups": [],
  "connections": {
    "Route by Tier": {
      "main": [
        [
          {
            "node": "AI: Write Personalized Outreach",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI: Write Personalized Outreach",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI: Write Polite Decline",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model": {
      "main": [
        [
          {
            "node": "Parse Follow-Up",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Follow-Up": {
      "main": [
        [
          {
            "node": "Send Follow-Up Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Intent": {
      "main": [
        [
          {
            "node": "Send Booking Link Email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI: Draft Objection Response",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Mark Status: Closed Lost",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New Lead Webhook": {
      "main": [
        [
          {
            "node": "Normalize Lead Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Lead Score": {
      "main": [
        [
          {
            "node": "Log Lead to CRM Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read All CRM Rows": {
      "main": [
        [
          {
            "node": "Aggregate Conversion Metrics",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Reply Intent": {
      "main": [
        [
          {
            "node": "Route by Intent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Decline Email": {
      "main": [
        [
          {
            "node": "Update row in sheet (Decline)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Normalize Lead Data": {
      "main": [
        [
          {
            "node": "Enrich Lead (Clearbit/Apollo)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Outreach Email": {
      "main": [
        [
          {
            "node": "Log Outreach Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Write Weekly Report": {
      "main": [
        [
          {
            "node": "Send Weekly Summary to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mark Status: No-Show": {
      "main": [
        [
          {
            "node": "AI: Write Re-Engagement Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Follow-Up Email": {
      "main": [
        [
          {
            "node": "Increment Follow-Up Count",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Full Lead History": {
      "main": [
        [
          {
            "node": "Wait Until 30 Min Before Meeting",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Inbound Reply Webhook": {
      "main": [
        [
          {
            "node": "Lookup Lead by Contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Lead to CRM Sheet": {
      "main": [
        [
          {
            "node": "Route by Tier",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Today's Meetings": {
      "main": [
        [
          {
            "node": "Filter: Meeting Time Passed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Weekly Report Trigger": {
      "main": [
        [
          {
            "node": "Read All CRM Rows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Lookup Lead by Contact": {
      "main": [
        [
          {
            "node": "AI: Classify Reply Intent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Meeting Booked Webhook": {
      "main": [
        [
          {
            "node": "Mark Status: Meeting Booked",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No-Show Check (Hourly)": {
      "main": [
        [
          {
            "node": "Read Today's Meetings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Outreach Message": {
      "main": [
        [
          {
            "node": "Send Outreach Email",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Outreach SMS (Twilio)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Booking Link Email": {
      "main": [
        [
          {
            "node": "Mark Status: Booking Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Objection Response": {
      "main": [
        [
          {
            "node": "Update row in sheet (Objection)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Qualify & Score Lead": {
      "main": [
        [
          {
            "node": "Parse Lead Score",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Write Polite Decline": {
      "main": [
        [
          {
            "node": "Send Decline Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Classify Reply Intent": {
      "main": [
        [
          {
            "node": "Parse Reply Intent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Leads Awaiting Reply": {
      "main": [
        [
          {
            "node": "Filter: No Reply, Under 3 Follow-Ups",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Follow-Up Check (Every 6h)": {
      "main": [
        [
          {
            "node": "Read Leads Awaiting Reply",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Enrichment Into Lead": {
      "main": [
        [
          {
            "node": "AI: Qualify & Score Lead",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Outreach SMS (Twilio)": {
      "main": [
        [
          {
            "node": "Log Outreach Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Generate Pre-Call Brief": {
      "main": [
        [
          {
            "node": "Send Brief to Salesperson",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter: Meeting Time Passed": {
      "main": [
        [
          {
            "node": "Mark Status: No-Show",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mark Status: Meeting Booked": {
      "main": [
        [
          {
            "node": "Get Full Lead History",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Draft Objection Response": {
      "main": [
        [
          {
            "node": "Send Objection Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate Conversion Metrics": {
      "main": [
        [
          {
            "node": "Write Weekly Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enrich Lead (Clearbit/Apollo)": {
      "main": [
        [
          {
            "node": "Merge Enrichment Into Lead",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update row in sheet (Decline)": {
      "main": [
        [
          {
            "node": "Log Declined Lead",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Write Personalized Outreach": {
      "main": [
        [
          {
            "node": "Parse Outreach Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Write Re-Engagement Message": {
      "main": [
        [
          {
            "node": "Send Re-Engagement Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait Until 30 Min Before Meeting": {
      "main": [
        [
          {
            "node": "AI: Generate Pre-Call Brief",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter: No Reply, Under 3 Follow-Ups": {
      "main": [
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow captures new leads via webhook, enriches and scores them with Apollo and Google Gemini, logs everything in Google Sheets, and automates outreach, reply handling, follow-ups, meeting prep, weekly reporting, and no-show re-engagement using Gmail, OpenAI, and Slack.…

Source: https://n8n.io/workflows/17383/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow automates the initial screening process for new job applications, freeing up your recruitment team to focus on qualified candidates. It receives applications from a webhook, uses OpenAI

HTTP Request, OpenAI, Google Sheets +2
AI & RAG

This system meticulously guides each lead through a fully automated journey, from initial contact to a personalized follow-up and CRM integration.

OpenAI, @Elevenlabs/N8N Nodes Elevenlabs, Google Drive +4
AI & RAG

This workflow receives shipment requests via webhook, pulls carrier rate data from Google Sheets, uses OpenAI GPT-4o to generate a ranked HTML freight quote, converts it to a PDF with PDFShift, and em

Google Sheets, OpenAI, HTTP Request +3
AI & RAG

Analyze website SEO issues and generate optimization actions with AI

HTTP Request, OpenAI, Google Sheets +2
AI & RAG

Email Drafter. Uses gmail, slack, openAi, httpRequest. Webhook trigger; 15 nodes.

Gmail, Slack, OpenAI +3