AutomationFlowsAI & RAG › Personalized Lead Nurturing with Gpt-4.1 Based on Commitment Scoring via…

Personalized Lead Nurturing with Gpt-4.1 Based on Commitment Scoring via…

Original n8n title: Personalized Lead Nurturing with Gpt-4.1 Based on Commitment Scoring via Google Sheets

ByMatthew @matthew-synteria on n8n.io

This workflow automates sending tailored onboarding and follow-up emails based on lead commitment levels. It's designed for coaches, consultants, and service-based businesses who want to personalize their outreach and nurture prospects more effectively. Triggered by New Data:…

Event trigger★★★★☆ complexityAI-powered11 nodesGoogle Sheets TriggerGmailOpenAIGoogle Sheets
AI & RAG Trigger: Event Nodes: 11 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Gmail → Google Sheets 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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "ec85181a-f877-40cf-8bb6-7d3232d1ce97",
      "name": "Commitment \u2265 8?",
      "type": "n8n-nodes-base.if",
      "position": [
        -448,
        32
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "6dc329ad-685b-4fc1-9cc4-c6b38b058839",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json['1-10 how commited are you to your goals'] }}",
              "rightValue": 8
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "d9e047f3-dd89-4610-a20f-011ad770d59d",
      "name": "Google Sheets Trigger",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -672,
        32
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bDfwrU6m7UmR9b3pYKRh3tkM9Y-g4CAMo7Q_x1Pbx-k/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1bDfwrU6m7UmR9b3pYKRh3tkM9Y-g4CAMo7Q_x1Pbx-k",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bDfwrU6m7UmR9b3pYKRh3tkM9Y-g4CAMo7Q_x1Pbx-k/edit?usp=drivesdk",
          "cachedResultName": "Sheet tt auto"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "da1f1926-1e22-4a70-8ef1-47ecd1e667fd",
      "name": "Send colder email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        224,
        128
      ],
      "parameters": {
        "sendTo": "={{ $('Google Sheets Trigger').item.json.Email }}",
        "message": "={{ $json.message.content.message }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $json.message.content.subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "46b96bba-e021-4f38-b412-80c81efd14a6",
      "name": "Send warmer email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        224,
        -80
      ],
      "parameters": {
        "sendTo": "={{ $('Commitment \u2265 8?').item.json.Email }}",
        "message": "={{ $json.message.content.message }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $json.message.content.subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7c6548ba-23f0-45bd-bed4-14693c90780c",
      "name": "crafting warmer email",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -144,
        -80
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "GPT-4.1"
        },
        "options": {
          "temperature": 0.7
        },
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are a boutique Agency\u2019s highly intelligent automated concierge. Write concise, uplifting emails that sound like a boutique personal-branding firm."
            },
            {
              "content": "=Write a first-touch email to {{ $json['First name '] }} (commitment {{ $json['1-10 how commited are you to your goals'] }}/10, industry: {{ $json.Industry }}\n\nTone \u2192 Aspirational, confident, warm. \n\nMust include:\n\u2022 Line that says \u201cYou are your biggest asset.\u201d\n\u2022 Restate their goals: {{ $json['Three goals you wish to achieve this year'] }} (second person).\n\u2022 Invite to free 30-min discovery call: https://calendly.com/brandied/discovery\n\u2022 Mention up to two flagship offers (Curated Content Shoot, \u201cThe 2.0 You\u201d Rebrand)\n\u2022 Sign off NAME, Founder\n \n\nSubject \u2264 50 characters.\nDo NOT use em-dashes in the message or subject.\n\nOUTPUT FORMAT (single-line JSON array):\n\n[\n{\n\"subject\": \"SUBJECT LINE\",     \n\"message\": \"EMAIL MESSAGE in html format spaced naturally\"\n}\n]"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "5b5633ec-b23f-43ec-b0a4-c1f7f2637267",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        448,
        32
      ],
      "parameters": {
        "columns": {
          "value": {
            "name": "={{ $('Commitment \u2265 8?').item.json['First name '] }} {{ $('Commitment \u2265 8?').item.json['Last name '] }}",
            "email": "={{ $('Commitment \u2265 8?').item.json.Email }}",
            "phone": "={{ $('Commitment \u2265 8?').item.json['Phone number'] }}",
            "title": "={{ $('Commitment \u2265 8?').item.json['Title '] }}",
            "industry": "={{ $('Commitment \u2265 8?').item.json.Industry }}",
            "commitment": "={{ $('Commitment \u2265 8?').item.json['1-10 how commited are you to your goals'] }}/10",
            "three goals": "={{ $('Commitment \u2265 8?').item.json['Three goals you wish to achieve this year'] }}"
          },
          "schema": [
            {
              "id": "name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "phone",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "industry",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "industry",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "three goals",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "three goals",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "commitment",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "commitment",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/YOUR_AWS_SECRET_KEY_HERE_P0NgXdPiGsWgD3t0Do/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1YHA1nfFamFhx2Hid9IYO14Op_P0NgXdPiGsWgD3t0Do",
          "cachedResultUrl": "https://docs.google.com/YOUR_AWS_SECRET_KEY_HERE_P0NgXdPiGsWgD3t0Do/edit?usp=drivesdk",
          "cachedResultName": "Contacts"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "5b46b4fe-cb15-4703-8993-f6cada97c6a3",
      "name": "crafting colder email",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -144,
        128
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "GPT-4.1"
        },
        "options": {
          "temperature": 0.7
        },
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are a boutique Agency\u2019s highly intelligent automated concierge. Write concise, uplifting emails that sound like a boutique personal-branding firm."
            },
            {
              "content": "= Write a gentle nudge email to {{ $json['First name '] }} who scored {{ $json['1-10 how commited are you to your goals'] }}/10 on our form yesterday. working in this industry: \n{{ $json.Industry }}\n\nTone \u2794 Encouraging, non-pushy mentor.  DO NOT USE EM DASHES  \n\nGoals \u2794\n1. Thank them for sharing their goals: {{ $json['Three goals you wish to achieve this year'] }}\n2. Re-inspire them about the ROI of personal branding (brief bullet list).\n3. Ask ONE reflective question to surface obstacles (\u201cWhat would raising that commitment to a 9 look like for you?\u201d). Dont ask this question in the subject line\n4. Offer a no-pressure 15-min Q&A session; include booking link.\n5. Sign off warmly.\n\nKeep it under 200 words. Include a concise subject line that sparks curiosity.\n\nOUTPUT FORMAT (single-line JSON array):\n\n[\n{\n\"subject\": \"SUBJECT LINE\",     \n\"message\": \"EMAIL MESSAGE\"\n}\n]"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "bcbaa16f-c8fb-4d56-b0c3-ee62f804f5e8",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -592
      ],
      "parameters": {
        "color": 5,
        "width": 416,
        "height": 272,
        "content": "## Workflow Overview\n\nThis workflow uses a webhook to trigger the creation of personalized onboarding emails.\n\n### Instructions\n\n1. Modify the **OpenAI** nodes.\n2. Modify the **Gmail** nodes.\n3. Modify the **Google Sheets** nodes.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "af1bb7a0-ef21-4604-8220-2156658805c7",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        -112
      ],
      "parameters": {
        "color": 3,
        "height": 96,
        "content": "### 1. Google sheets trigger and at the end can be replaced with whatever CRM\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a30c1913-5a92-43fb-8874-eca1ae401cfb",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        -256
      ],
      "parameters": {
        "width": 256,
        "height": 112,
        "content": "### 2. If commitment is >/= to 8 then a warm email is crafted and a colder is crafted if commitment is less than 8"
      },
      "typeVersion": 1
    },
    {
      "id": "92b2cc76-f6be-46f7-b02f-be161e0150f4",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -112
      ],
      "parameters": {
        "color": 4,
        "height": 80,
        "content": "### 3. Email drafts are made and CRM/Sheets is updated\n"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Commitment \u2265 8?": {
      "main": [
        [
          {
            "node": "crafting warmer email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "crafting colder email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send colder email": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send warmer email": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Trigger": {
      "main": [
        [
          {
            "node": "Commitment \u2265 8?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "crafting colder email": {
      "main": [
        [
          {
            "node": "Send colder email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "crafting warmer email": {
      "main": [
        [
          {
            "node": "Send warmer email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

This workflow automates sending tailored onboarding and follow-up emails based on lead commitment levels. It's designed for coaches, consultants, and service-based businesses who want to personalize their outreach and nurture prospects more effectively. Triggered by New Data:…

Source: https://n8n.io/workflows/6099/ — 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

An n8n-based automation that generates client proposals from a form, lets you review everything in one place, and sends the proposal only when you approve it.

Form Trigger, Google Sheets Trigger, OpenAI +4
AI & RAG

Consultants, agencies, freelancers, and professional service firms who need to create customized proposals and contracts quickly and efficiently.

Google Sheets Trigger, OpenAI, Google Docs +5
AI & RAG

This template is perfect for YouTube creators, content marketers, and social media managers who want to turn existing videos into fresh, high-performing content ideas—automatically. It’s ideal if you

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

Workflow-Ver1. Uses googleSheetsTrigger, openAi, gmail, googleSheets. Event-driven trigger; 12 nodes.

Google Sheets Trigger, OpenAI, Gmail +2
AI & RAG

This template triggers when a new row appears in Google Sheets (from any intake form that writes to the sheet). It validates key fields, performs light deduplication by email or phone, and sends the d

Google Sheets Trigger, OpenAI, Gmail +2