n8n Workflow
Intermediate

Automated Lead Qualification with Typeform, HubSpot, and Gmail

Automate your lead qualification process by connecting Typeform submissions to HubSpot. This workflow creates new contacts, updates their lifecycle stage based on interest, and sends a personalized follow-up email via Gmail.

Overview

Automates lead nurturing by capturing Typeform leads, creating HubSpot contacts, and sending targeted Gmail follow-ups based on user interest.

🧠 Description & Use Case

This workflow automates the process of capturing and qualifying new leads from a Typeform submission. It creates a contact in HubSpot, checks if the lead is interested in your services, and if so, updates their status and sends a personalized follow-up email via Gmail.

🔄 How It Works:

  1. Trigger: Capture Lead from Typeform

    • The workflow starts automatically whenever a new response is submitted to your specified Typeform form.
  2. Format Data

    • The Set node cleans up the incoming data from Typeform, assigning the answers to clear, usable variables like form_firstname, form_email, and form_interest.
  3. Create Contact in HubSpot

    • The create new contact HubSpot node takes the formatted data and creates a new contact record in your CRM.
  4. Qualify the Lead

    • The lead interested IF node checks the lead's answer to the qualification question (e.g., "Are you currently looking to scale your visual content?").
  5. Nurture Interested Leads (True Path)

    • If the lead expressed interest, the workflow:
      • Updates the contact's lifecycle stage in HubSpot to "Opportunity" using the update lead stage node.
      • Sends a personalized follow-up email via the send information Gmail node, providing more details and a link to schedule a call.
  6. End for Unqualified Leads (False Path)

    • If the lead did not express interest, the workflow simply stops, ensuring your sales team only focuses on qualified prospects.

✅ Real-World Use Cases:

  • Sales Automation: Automatically populate your CRM with new leads and kick off the sales process for those who are a good fit, saving your sales team valuable time.
  • Marketing Campaign Follow-up: Use this workflow to manage leads from a specific marketing campaign form, ensuring swift and relevant communication.
  • Onboarding Funnel: Tailor the initial onboarding experience by sending different resources based on a new user's stated interests or needs.
  • Event Registration: Process sign-ups from an event registration form and send targeted information to attendees based on their responses.

Instructions

Basic steps

  1. Download workflow JSON
  2. Import into n8n
  3. Configure node parameters as needed
  4. Test and enable the workflow

💡 Tips

After importing, verify all connectors and credentials match your environment.

Preview

Workflow Visualization

7 nodes
100%
create new contacthubspotupdate lead stagehubspotNoOpnoOpSet valuessetTypeform TriggertypeformTriggerlead interestedifsend informationgmail

Nodes

1

create new contact

hubspot

v1
2

update lead stage

hubspot

v1
3

NoOp

noOp

v1
4

Set values

set

v1
5

Typeform Trigger

typeformTrigger

v1
6

lead interested

if

v1
7

send information

gmail

v1

Statistics

Total nodes:7
Disabled nodes:0
Node types:6
Connections:5
View full JSON structure
{
  "nodes": [
    {
      "name": "create new contact",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        -300,
        1200
      ],
      "parameters": {
        "email": "={{$json[\"form_email\"]}}",
        "resource": "contact",
        "additionalFields": {
          "industry": "={{$json[\"form_department\"]}}",
          "lastName": "={{$json[\"form_lastname\"]}}",
          "firstName": "={{$json[\"form_firstname\"]}}",
          "companyName": "={{$json[\"form_companyname\"]}}"
        }
      },
      "credentials": {
        "hubspotApi": "hubspot_nodeqa"
      },
      "typeVersion": 1
    },
    {
      "name": "update lead stage",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        100,
        1100
      ],
      "parameters": {
        "email": "={{$node[\"create new contact\"].json[\"properties\"][\"email\"][\"value\"]}}",
        "resource": "contact",
        "additionalFields": {
          "lifeCycleStage": "opportunity"
        }
      },
      "credentials": {
        "hubspotApi": "hubspot_nodeqa"
      },
      "typeVersion": 1
    },
    {
      "name": "NoOp",
      "type": "n8n-nodes-base.noOp",
      "position": [
        100,
        1300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "name": "Set values",
      "type": "n8n-nodes-base.set",
      "position": [
        -500,
        1200
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "form_firstname",
              "value": "={{$json[\"First up, what's your name?\"]}}"
            },
            {
              "name": "form_lastname",
              "value": "={{$json[\"And your surname, [field:fda1954c-f7a3-4fd3-a8dc-dcad5160bab5]?\"]}}"
            },
            {
              "name": "form_department",
              "value": "={{$json[\"And in which department do you work, [field:fda1954c-f7a3-4fd3-a8dc-dcad5160bab5]?\"]}}"
            },
            {
              "name": "form_companyname",
              "value": "={{$json[\"Great! Now what company are you from?\"]}}"
            },
            {
              "name": "form_email",
              "value": "={{$json[\"Just a couple more questions left! What's your email address?\"]}}"
            }
          ],
          "boolean": [
            {
              "name": "form_interest",
              "value": "={{$json[\"And are you currently looking to scale your visual content?\"]}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Typeform Trigger",
      "type": "n8n-nodes-base.typeformTrigger",
      "position": [
        -700,
        1200
      ],
      "webhookId": "97eb74c8-156c-4329-8679-37b69533f709",
      "parameters": {
        "formId": "RPueloJC"
      },
      "credentials": {
        "typeformApi": "typeform"
      },
      "typeVersion": 1
    },
    {
      "name": "lead interested",
      "type": "n8n-nodes-base.if",
      "position": [
        -100,
        1200
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$node[\"Set values\"].json[\"form_interest\"]}}",
              "value2": true
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "send information",
      "type": "n8n-nodes-base.gmail",
      "position": [
        300,
        1100
      ],
      "parameters": {
        "toList": [
          "={{$json[\"properties\"][\"email\"][\"value\"]}}"
        ],
        "message": "=Hello {{$json[\"properties\"][\"firstname\"][\"value\"]}},\n\nI'm glad to hear you're interested in our services. You can schedule a call with me here: [calendly_link].\nUntil then, check out this presentation about how we can help your business: [presentation_link].\nLooking forward to talking to you!\n\nBest,\nTeam",
        "subject": "So you're interested in growing your business",
        "resource": "message",
        "additionalFields": {}
      },
      "credentials": {
        "gmailOAuth2": "gmail"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Set values": {
      "main": [
        [
          {
            "node": "create new contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "lead interested": {
      "main": [
        [
          {
            "node": "update lead stage",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "NoOp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Typeform Trigger": {
      "main": [
        [
          {
            "node": "Set values",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "update lead stage": {
      "main": [
        [
          {
            "node": "send information",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "create new contact": {
      "main": [
        [
          {
            "node": "lead interested",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Actions

Share
Categories:
Tags:
ifhubspotnoopsettypeformtriggergmail

Technical Specs

Complexity:
Intermediate
Node Count:
7 nodes
Published:11 months ago
Updated:3 months ago

Compatibility

Platform:
N8N Cloud & Self-hosted
Min Version:
N8N v1.0.0+
Supports cloud and self-hosted deployment

License

This workflow template follows MIT license, you can freely use, modify and distribute.

Please comply with relevant third-party service terms when using.

Related Workflows