A complete n8n CRM workflow that automates lead capture, qualification, assignment, follow-ups, proposal tracking, and deal closure for digital agencies.
- Dual Lead Sources: Captures leads from Gmail and Google Sheets automatically
- AI Lead Validation: GPT-4 determines if emails are genuine leads
- Smart Data Extraction: AI extracts company name and service requirements
- Round-Robin Assignment: Assigns leads to account manager with lowest workload
- Auto-Reply System: Instant confirmation emails to leads
- Daily Follow-Up Reminders: 8 AM consolidated email with today's tasks
- Proposal Workflow: Automates client confirmation and finance alerts
- Deal Won Process: Creates projects and sends congratulations emails
- Manager Load Balancing: Tracks and distributes workload automatically
Before setting up this workflow, you'll need:
- n8n instance (self-hosted or cloud)
- Airtable account with CRM base
- Google account for Gmail and Sheets
- API Keys for:
- OpenAI API (GPT-4 access)
Fields:
Lead Order (Auto-number)
Name (Single line text)
Email (Email)
Phone number (Phone)
Service Needed (Single select)
Source (Single select)
Date Received (Date & time)
Follow-up Date (Date & time)
Status (Single select: New, Contacted, Won)
Account Manager (Linked record)
Fields:
Account Manager (Single line text)
Email (Email)
Phone (Phone)
Active (Single select: Active, Inactive)
Current Load (Number)
Fields:
Name, Phone, Email, Company
Service Interested (Single select)
Budget Range, Timeline, Status
Assigned To (Linked record)
Follow-up Date (Date & time)
Proposal Amount (Currency)
Proposal Workflow Triggered (Single select)
Proposal Won Triggered (Single select)
Fields:
Project Name, Client, Service
Start Date, Duration, Budget
Status (Single select)
- Open your n8n instance
- Click on Workflows → Import from File
- Select the
CRM-Workflow.jsonfile - Click Import
You'll need to set up the following credentials in n8n:
- Go to Credentials → Add Credential → Gmail OAuth2
- Authenticate and grant email permissions
- Add Google Sheets Trigger OAuth2 credential
- Authenticate your Google account
- Create token in Airtable Developer Hub
- Grant scopes:
data.records:read,data.records:write
- Add OpenAI credential with your API key
Replace the following in the workflow:
- Airtable Base ID: Update
app1Bq7PpPmCrHRlIwith your base ID - Google Sheet ID: Update
1Jrxu61CbV09dtw52iPqQnfkLCZ4hbUf2PAKeflS7KhIwith yours - Email addresses: Update finance and PM email addresses
- Services list: Update to match your agency offerings
- Lead Capture → Gmail/Sheets trigger receives lead
- AI Validation → Confirms if email is a real lead (Gmail only)
- Data Extraction → AI extracts company name and services needed
- Airtable Creation → Creates lead record
- Assignment → Finds manager with lowest load and assigns
- Notifications → Sends auto-reply to lead + alert to manager
- Daily Follow-Ups → 8 AM reminder email with today's tasks
- Proposal Tracking → Monitors status changes and sends confirmations
- Deal Won → Creates project record and onboards client
- Searches for managers with status = "Active"
- Sorts by "Current Load" (ascending)
- Assigns lead to manager with lowest load
- Increments manager's load by 1
- Marks manager as "Inactive" when at capacity
Send an email to your Gmail: Subject: Website Development Inquiry
Hi, I'm interested in web development services for my company, TechStart. Can you send pricing?
Best, John Doe john@techstart.com
Add a row:
| Name | Service Interested | Source | |
|---|---|---|---|
| Jane Smith | jane@company.com | Social Media | Website Form |
- Change lead status to "Proposal Sent" in Airtable
- Wait 1 hour or manually trigger workflow
- Verify emails sent to client and finance team
- Change lead status to "Won" in Airtable
- Fill in Actual Deal Value and Duration
- Verify project created and emails sent
In "Update Manager Status" node, modify capacity threshold:
"Active": $json['Current Load'] >= 10 ? "Inactive" : "Active"
Change Follow-Up Time
In "8 AM Daily Trigger" node, adjust trigger hour or frequency.
Modify Services
Update service list in "Validate Lead Email" and "Extract Lead Data" nodes to match your offerings.
📈 Monitoring
Track performance in Airtable:
Total leads captured by source
Manager workload distribution
Average assignment time
Proposal-to-won conversion rate
Monitor n8n execution logs for:
Workflow success rate
AI validation accuracy
Email delivery status
🐛 Troubleshooting
Issue: Leads not captured from Gmail
Solution: Check Gmail credentials and permissions
Issue: AI not extracting data correctly
Solution: Review and refine OpenAI prompts with examples
Issue: Manager assignment failing
Solution: Ensure Account Managers table has Active managers
Issue: Duplicate emails sent
Solution: Verify "Workflow Triggered" fields are updating correctly
Issue: Follow-ups not sent
Solution: Check Follow-up Date format matches Airtable date format
📝 License
MIT License - feel free to modify and use for your needs
🤝 Contributing
Contributions welcome! Please open an issue or PR.