{
  "name": "Automate outbound lead follow-up & qualification",
  "nodes": [
    {
      "id": "48285051-bb2e-4e5a-97c0-674ba9b2369e",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        400,
        592
      ]
    },
    {
      "id": "72e333c6-0dfb-41d1-934f-39d04036b8ba",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -176,
        592
      ]
    },
    {
      "id": "e54d6c06-c209-4eb5-a781-968c798c65b6",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -208,
        768
      ]
    },
    {
      "id": "2a54ff42-75d8-43ae-84f5-6a26a5a379b9",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -16,
        768
      ]
    },
    {
      "id": "864c8f4c-03c8-4977-98de-aefadde6c3d7",
      "name": "Generates Tracking ID",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        176,
        592
      ]
    },
    {
      "id": "07ba0db0-7fc0-414f-98dc-517b03fdeaaa",
      "name": "Fetches Email Data",
      "type": "n8n-nodes-base.gmail",
      "position": [
        624,
        592
      ]
    },
    {
      "id": "9c988b5b-4738-417f-bf3f-825e201fee53",
      "name": "Starts Sequence",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        848,
        592
      ]
    },
    {
      "id": "2f5a0944-ca13-4f48-b12f-b64803bd65d2",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        320
      ],
      "parameters": {
        "width": 976,
        "height": 688,
        "content": "## Step 1: Get rows & Loop  \nReads rows with Status = \"Pending\" from Google Sheets and splits them into individual items to process one-by-one.\n"
      }
    },
    {
      "id": "fe760d82-411c-420f-8ff5-da37f280537a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        320
      ],
      "parameters": {
        "width": 432,
        "height": 688,
        "content": "## Step 2: AI Email & Tracking ID  \nAI Agent (with OpenAI + parser) creates the subject and HTML body. A tracking ID is generated via InboxPlus and attached to the outgoing message.\n"
      }
    },
    {
      "id": "1a6f5342-a253-46ca-acc5-c0c05d1eb9fb",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        576,
        320
      ],
      "parameters": {
        "width": 656,
        "height": 688,
        "content": "## Step 3: Send, Fetch & Start Tracking  \nSends email with Gmail, fetches the sent message details, then calls InboxPlus to start the tracking sequence and updates the sheet row to \"Done\".\n"
      }
    },
    {
      "id": "10b3ba26-0766-46ac-a435-40ff8d13e1c9",
      "name": "Append or update row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1072,
        720
      ]
    },
    {
      "id": "2b1ccf41-1faa-4468-9a53-da4d351553cc",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -848,
        720
      ]
    },
    {
      "id": "e6bc0e8e-8c29-4a46-9570-b3f71b875c2f",
      "name": "Get row(s) in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -624,
        720
      ]
    },
    {
      "id": "fca10c07-0b47-40ea-95f9-150a3932b724",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -400,
        720
      ]
    },
    {
      "id": "5d162142-cd21-4be5-8853-dc2e59904662",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1456,
        320
      ],
      "parameters": {
        "width": 496,
        "height": 688,
        "content": "## Automated Outreach & Email Tracking – Overview  \nThis workflow runs daily and sends friendly outreach emails from your spreadsheet. It picks up rows marked \"Pending\", loops through each contact, us"
      }
    }
  ],
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Generates Tracking ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a message": {
      "main": [
        [
          {
            "node": "Fetches Email Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Starts Sequence": {
      "main": [
        [
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Fetches Email Data": {
      "main": [
        [
          {
            "node": "Starts Sequence",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generates Tracking ID": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}