AutomationFlowsCRM & Sales › Salesforce Lead Capture with Gpt-4 Personalized Email & SMS Follow-up

Salesforce Lead Capture with Gpt-4 Personalized Email & SMS Follow-up

ByLe Nguyen @leeseifer on n8n.io

This workflow transforms n8n into a smart Web Lead Form alternative to Salesforce's traditional Web-to-Lead, capturing leads, creating Salesforce records, and sending AI-personalized responses via email or SMS. Capture Submission: User submits form data (name, email, phone,…

Event trigger★★★★☆ complexityAI-powered7 nodesSalesforceForm TriggerOpenAITwilioEmail Send
CRM & Sales Trigger: Event Nodes: 7 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Emailsend → Form Trigger 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": "ec1d0463-087c-41e4-a4c9-e1672c1bee61",
      "name": "Create Salesforce Lead",
      "type": "n8n-nodes-base.salesforce",
      "position": [
        -380,
        -200
      ],
      "parameters": {
        "company": "=Web Lead {{ $json[\"Last Name\"] }}",
        "lastname": "={{ $json[\"Last Name\"] }}",
        "additionalFields": {
          "email": "={{ $json.Email }}",
          "firstname": "={{ $json[\"First Name\"] }}",
          "description": "={{ $json[\"Tell Us About Yourself (Description)\"] }}",
          "mobilePhone": "={{ $json[\"Phone (SMS)\"] }}"
        }
      },
      "credentials": {
        "salesforceOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3595d4f3-b3c3-4aa7-ba99-398ff7ab6fad",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -580,
        -200
      ],
      "parameters": {
        "options": {
          "buttonLabel": "Submit"
        },
        "formTitle": "Contact Us",
        "formFields": {
          "values": [
            {
              "fieldLabel": "First Name",
              "requiredField": true
            },
            {
              "fieldLabel": "Last Name",
              "requiredField": true
            },
            {
              "fieldType": "email",
              "fieldLabel": "Email"
            },
            {
              "fieldLabel": "Phone (SMS)"
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Tell Us About Yourself (Description)"
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Contact Preference:",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Email"
                  },
                  {
                    "option": "Phone"
                  }
                ]
              },
              "requiredField": true
            },
            {}
          ]
        },
        "formDescription": "We'll get back to you soon"
      },
      "typeVersion": 2.2
    },
    {
      "id": "4349f4a7-98a1-4805-a7b1-fcc475274eea",
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -160,
        -200
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "GPT-4.1"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Create a personalized welcome message for this lead:\n{{ JSON.stringify($('On form submission').item.json)}}\n\nTailor the message to their interest in booking an n8n form creation. Make it warm and helpful."
            },
            {
              "role": "system",
              "content": "You are a friendly, professional sales assistant for an automation and software development service specializing in n8n workflows, Salesforce integrations, and custom forms. Your goal is to create engaging, personalized welcome messages that respond directly to the user's description, encouraging them to proceed with booking or next steps. \n\nAdapt the message format based on the contact preference:\n- If preference is \"Email\": Make it detailed, positive, and action-oriented (under 200 words). Include a greeting, body with personalization, call-to-action (e.g., reply or schedule), and end with your company signature: \"Best regards, [Your Company Name] Team\" and  without the Subject.\n- If preference is \"Phone (SMS)\": Keep it very concise (under 160 characters), friendly, and direct. Include a short greeting, key offer, and simple call-to-action. No signature or links; focus on quick engagement; without the Subject.\n\nAlways personalize using the user's first name, last name, and description. If the description mentions booking or creating something (e.g., an n8n form), offer specific help and suggest packages."
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "cac8625a-bd57-48b1-b98f-70daa4561c7c",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        200,
        -200
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "72c22b5b-16f6-424f-b3eb-e93da457e797",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('On form submission').item.json[\"Contact Preference:\"] }}",
                    "rightValue": "Phone (SMS)"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "8d42ed48-0064-4a5f-b924-a7968a91c919",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('On form submission').item.json[\"Contact Preference:\"] }}",
                    "rightValue": "Email"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "05b99b9d-a6ce-44a1-9269-508b7afce052",
      "name": "Send SMS",
      "type": "n8n-nodes-base.twilio",
      "notes": "Send SMS using Twilio",
      "position": [
        520,
        -300
      ],
      "parameters": {
        "to": "={{ $('On form submission').item.json[\"Phone (SMS)\"] }}",
        "from": "phoneNumber",
        "message": "={{ $('OpenAI').item.json.message.content }}",
        "options": {}
      },
      "credentials": {
        "twilioApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5d392311-853e-4e97-a436-874cc891bc6b",
      "name": "Send Email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        520,
        -80
      ],
      "parameters": {
        "text": "={{ $('OpenAI').item.json.message.content }}",
        "options": {},
        "subject": "=Welcome {{ $('On form submission').item.json[\"First Name\"] }}",
        "toEmail": "={{ $('On form submission').item.json.Email }}",
        "fromEmail": "emailPlaceholder",
        "emailFormat": "text"
      },
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "10d1bb22-1c6e-4762-937a-f4d1cbba7259",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -960,
        -480
      ],
      "parameters": {
        "width": 320,
        "height": 460,
        "content": "## n8n Web Lead Form Alternative to Salesforce Web-to-Lead\n \nThis workflow captures leads via n8n's form trigger, creates Salesforce records, personalizes responses with OpenAI, and sends via email/SMS based on preference. Avoids rigid Salesforce Web-to-Lead by adding logic, AI, and extensibility. Add file upload fields for AI processing (e.g., document analysis) to unlock potentials like lead scoring or content insights."
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "OpenAI": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Send SMS",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Create Salesforce Lead",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Salesforce Lead": {
      "main": [
        [
          {
            "node": "OpenAI",
            "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 transforms n8n into a smart Web Lead Form alternative to Salesforce's traditional Web-to-Lead, capturing leads, creating Salesforce records, and sending AI-personalized responses via email or SMS. Capture Submission: User submits form data (name, email, phone,…

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

More CRM & Sales workflows → · Browse all categories →

Related workflows

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

CRM & Sales

This template is perfect for: Marketing Teams looking to automatically qualify inbound leads from campaigns Sales Teams wanting to prioritize high-value prospects instantly Agencies offering lead qual

Form Trigger, Slack, OpenAI +5
CRM & Sales

It extracts key business information using AI, scores the lead based on your ideal customer profile, creates CRM records, notifies your team on Slack, and logs all activity—including failures—to Googl

Gmail Trigger, HubSpot, Salesforce +3
CRM & Sales

Who is this for? Event sales teams & conference organizers processing 100+ sponsor/partner emails weekly who need instant lead qualification, Salesforce automation, & pipeline analytics. _

Sentiment Analysis, Gmail, Gmail Trigger +8
CRM & Sales

Email Sentiment Router for Event Sales Leads

Sentiment Analysis, Gmail, Gmail Trigger +8
CRM & Sales

This n8n workflow automates end-to-end lead generation, from scraping local businesses to qualifying and sending high-quality prospects directly into your CRM.

HTTP Request, Google Sheets, HubSpot +2