Overview
In this tutorial, you will learn how to build a practical n8n workflow that automates lead management by connecting multiple apps including Google Forms, Google Sheets, Airtable, Notion, Slack, and Amazon SES. This workflow demonstrates how n8n acts as an integration platform, enabling seamless data flow across diverse applications without writing any code. By the end, you will understand how to receive form submissions, process and qualify leads, notify your sales team, create tasks in Notion, update Airtable CRM, and send email notifications.
Understanding the Role of n8n in App Integrations
Many business applications like Google Sheets, Airtable, Slack, and Notion do not natively communicate with each other. Traditionally, integrating them requires custom code or manual data entry. n8n acts as a universal translator and automation engine that connects these apps through triggers and actions:
- Trigger: n8n listens for events such as form submissions.
- Actions: It then processes data, updates CRM records, sends notifications, and creates tasks.
- Fallback: When native nodes are unavailable, n8n’s HTTP Request node can call APIs directly.
This approach saves time and reduces errors by automating complex workflows that span multiple tools. For more on how to make API calls within n8n, see the HTTP Node in n8n.
Step-by-Step Workflow: Automate Lead Management
You will create a workflow that automates the following business process:
- Collect lead data from multiple Google Forms via a webhook.
- Append all new leads into a common Google Sheet.
- Evaluate if a lead is qualified based on company name and email domain.
- Send a Slack notification for qualified leads.
- Create a task in Notion for follow-up.
- Add the lead to Airtable CRM.
- Optionally, send an email using Amazon SES (covered in advanced lessons).
Step 1: Setup Webhook Trigger to Receive Google Form Submissions
1. Create a New Workflow and Add a Webhook Node
- In your n8n workspace, create a new workflow.
- Add a
Webhooknode. - Set the HTTP Method to
POST(since form submissions send data). - Copy the unique webhook URL generated by n8n.
2. Configure Google Form to Send Data to the Webhook
- Open your Google Form, add fields for First Name, Last Name, Email, Company Name, and Role.
- To integrate Google Forms with n8n webhook, use Google Apps Script:
- Click the three-dot menu → Script editor.
- Paste the webhook URL as the destination for form responses.
- If you encounter a "Bad Request" error, try opening Google Forms in an incognito/private browser window to avoid session conflicts.
- Submit a test response on the form to trigger the webhook.
3. Verify Webhook Execution in n8n
- In n8n, enable “Listen for Webhook” mode.
- Submit the form again.
- Confirm that the Webhook node receives the data.
Step 2: Append Lead Data to a Google Sheet
1. Prepare a Google Sheet for Lead Storage
- Create or open a Google Sheet named something like
Corporate Signups Followup. - Add columns:
First Name,Last Name,Email,Company Name, andRole. - Make sure the column order matches your form fields for easy mapping.
2. Add a Google Sheets Node
- Add a
Google Sheetsnode to your workflow. - Set the operation to
Append Row(important to avoid update conflicts). - Connect your Google account credentials.
- Select the spreadsheet and worksheet.
- Map incoming webhook data fields to the corresponding sheet columns.
[
{
"json": {
"firstName": "={{$json[\"firstName\"]}}",
"lastName": "={{$json[\"lastName\"]}}",
"email": "={{$json[\"email\"]}}",
"companyName": "={{$json[\"companyName\"]}}",
"role": "={{$json[\"role\"]}}"
}
}
]
- Run a test to confirm the row is appended successfully.
Step 3: Add Conditional Logic to Qualify Leads
1. Add an If Node
- Add an
Ifnode to evaluate whether the lead is qualified. - Set conditions:
companyNameis not emptyemaildoes not end withgmail.comemaildoes not end withhotmail.com
2. Configure Conditions
- Use the “All” condition type to ensure all criteria must be true.
- This filters out generic personal emails and ensures the company name is provided.
3. Test the Condition
- Run the node with sample data.
- Confirm that leads with company names and business emails pass the condition (true branch).
For a simpler alternative to complex conditions, consider using Expressions in n8n to dynamically evaluate data.
Step 4: Send Slack Notification for Qualified Leads
1. Add a Slack Node
- Add the
Slacknode, set resource toMessageand operation toSend. - Connect your Slack workspace credentials.
- Select the channel where notifications should be sent (e.g.,
#user-registration-events). - Compose the message text with n8n expressions:
New Lead Alert: {{$json["firstName"]}} {{$json["lastName"]}} has signed up.
2. Test Slack Notification
- Execute the node.
- Verify the message appears in the selected Slack channel.
Step 5: Create a Task in Notion for Lead Follow-up
1. Setup Notion Integration Credentials
- Go to your Notion workspace.
- Navigate to Settings & Members > Integrations > Develop your own integrations.
- Create a new integration:
- Name it (e.g.,
n8n Lead Automation). - Choose Internal Integration.
- Copy the Internal Integration Token (API key).
- Name it (e.g.,
- Share your Notion database (task tracker) with this integration by inviting it as a member.
2. Add Notion Node in n8n
- Add a
Notionnode. - Select the resource
Database Pageand operationCreate. - Connect your Notion credentials using the API key.
- Select your task tracker database.
- Set the page title and content blocks with lead details:
Example JSON for the content block:
{
"parent": { "database_id": "your_database_id" },
"properties": {
"Name": {
"title": [
{
"text": {
"content": "New Lead Alert: {{$json[\"firstName\"]}} {{$json[\"lastName\"]}}"
}
}
]
}
},
"children": [
{
"object": "block",
"type": "paragraph",
"paragraph": {
"text": [
{
"type": "text",
"text": {
"content": "Email: {{$json[\"email\"]}}\nCompany: {{$json[\"companyName\"]}}"
}
}
]
}
}
]
}
- Run the node and verify that the task is created in your Notion task tracker.
Step 6: Add Lead to Airtable CRM
1. Setup Airtable Base and Table
- Create a base in Airtable for leads.
- Add columns matching your lead data (First Name, Last Name, Email, Company, Role).
2. Add Airtable Node in n8n
- Add an
Airtablenode. - Select operation
CreateorUpsertdepending on your use case. - Connect your Airtable API key.
- Select the base and table.
- Map the incoming data fields to Airtable fields.
3. Test Airtable Integration
- Run the node.
- Confirm new records are created or updated in Airtable.
Optional Step 7: Send Email Notification Using Amazon SES
- Add an
Amazon SESnode. - Configure AWS credentials.
- Set up the email content using lead data.
- This step is optional and can be added for notifying leads or internal teams.
For detailed configuration options, refer to the n8n Merge node documentation which also covers advanced node usage patterns.
Common Mistakes and Troubleshooting
- Webhook URL mismatch: Always copy the latest webhook URL from n8n and update your Google Form script accordingly.
- Google Apps Script errors: Use incognito/private browsing to avoid cookie/session issues.
- Google Sheets append/update confusion: Use
Append Rowto add new data;Update Rowrequires an ID to match existing rows. - Notion integration missing permissions: Make sure to invite your integration to the relevant pages or databases.
- Slack message errors: Verify Slack credentials and channel permissions.
- Airtable API limits: Monitor usage to avoid rate limiting.
- Conditional logic misconfiguration: Test your
Ifnode thoroughly with various inputs to ensure correct branching.
For a deeper understanding of how data flows through nodes, review Understanding Data in n8n.
Useful n8n Documentation Links
Quick Reference Cheat Sheet
| Step | Node Type | Key Settings/Notes |
|---|---|---|
| Receive Form Submission | Webhook | HTTP Method: POST, Copy URL to Google Apps Script |
| Append to Google Sheet | Google Sheets | Operation: Append Row, Map fields correctly |
| Qualify Lead | If | Conditions on companyName and email domains |
| Notify Sales Team | Slack | Resource: Message, Operation: Send, Channel selection |
| Create Notion Task | Notion | Resource: Database Page, Operation: Create, API Key setup |
| Add to Airtable CRM | Airtable | Operation: Create/Upsert, Map lead data |
| (Optional) Email Notify | Amazon SES | Configure AWS creds, Compose email |
By following this tutorial, you will create a robust lead management automation that minimizes manual effort and enhances team productivity. As shown in the video above, integrating multiple business apps through n8n makes complex workflows easy to build and maintain.