Gmail + Slack: qualify leads and reply consistently
New leads show up at the worst times. You see the email, you mean to reply, then Slack pings, a meeting starts, and that “hot” prospect quietly goes cold.
This Gmail Slack leads automation hits marketing managers first, but agency owners and sales-leaning founders feel it too. You get qualified leads, consistent follow-ups, and a Slack alert with context so nobody is guessing what to say next.
Below, you’ll see how the workflow captures a lead, scores it with AI, sends the right reply, and logs everything so your pipeline stops living in people’s heads.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Gmail + Slack: qualify leads and reply consistently
flowchart LR
subgraph sg0["AI Qualification & S Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>New Lead Captured"]
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract & Clean Lead Data", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "AI Qualification & Summary", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Parse AI Qualification", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is Lead Qualified?", pos: "b", h: 48 }
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Craft Personalized Audio Text"]
n6@{ icon: "mdi:cog", form: "rounded", label: "Generate Personalized Audio", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Upload Personalized Audio", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Store Personalized Audio Link", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Check CRM for Duplicate Lead"]
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is Lead a Duplicate?", pos: "b", h: 48 }
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Create Lead in CRM"]
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Update Lead in CRM"]
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>CRM Result"]
n14@{ icon: "mdi:message-outline", form: "rounded", label: "Send Personalized Follow-up", pos: "b", h: 48 }
n15["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Notify Sales Team"]
n16@{ icon: "mdi:database", form: "rounded", label: "Log Lead Data", pos: "b", h: 48 }
n17@{ icon: "mdi:swap-vertical", form: "rounded", label: "Mark Lead as Unqualified", pos: "b", h: 48 }
n13 --> n14
n0 --> n1
n15 --> n16
n11 --> n13
n4 --> n5
n4 --> n17
n12 --> n13
n10 --> n12
n10 --> n11
n3 --> n4
n17 --> n16
n1 --> n2
n7 --> n8
n2 --> n3
n6 --> n7
n14 --> n15
n9 --> n10
n5 --> n6
n8 --> n9
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n2 ai
class n4,n10 decision
class n16 database
class n0,n9,n11,n12 api
class n5 code
classDef customIcon fill:none,stroke:none
class n0,n5,n9,n11,n12,n13,n15 customIcon
The Challenge: fast follow-up without sloppy replies
Lead response is a weird kind of work. It’s simple, but it’s never “just” simple. You’re reading a messy form submission, trying to understand intent, deciding if it’s sales, support, or spam, then crafting a reply that doesn’t sound rushed. Meanwhile, you’re also trying not to lose the thread across Gmail, Slack, and whatever you use as a CRM. And if two people reply at once, it looks unprofessional. If nobody replies, you lose deals.
It adds up fast. Here’s where it breaks down.
- You spend about 10 minutes per lead just interpreting the message and deciding what to do next.
- Replies get inconsistent because everyone writes their own version, especially under pressure.
- Hot leads sit too long in Gmail, and the only “tracking” is someone saying “I’ll handle it.”
- Logging leads in a sheet or CRM happens later (or never), which means your reporting is always behind reality.
The Fix: AI-qualified leads with instant Gmail replies and Slack alerts
This workflow turns every new lead into a clean, scored, trackable conversation. A webhook receives the form submission, then n8n normalizes the details (name, email, message, phone) so downstream steps don’t choke on missing fields. Next, OpenAI summarizes what the person wants and classifies intent (for example: “High Potential” vs. “Information Seeking”). If the lead looks qualified, the workflow generates a short personalized audio script, converts it to an MP3 with ElevenLabs, uploads it to Google Drive, and creates a shareable link. Then it checks your CRM for duplicates via HTTP, creates or updates the record, sends a polished Gmail follow-up containing the audio link, and notifies your team in Slack with the same context. Qualified or not, everything gets logged to Google Sheets, with error alerts routed to Slack if something fails.
The workflow starts with a lead submission via webhook. AI evaluates and enriches it, then the qualified path sends the email and pings Slack, while the unqualified path still logs the lead cleanly. Either way, you end up with a reliable lead log and a team that reacts faster.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you get 15 new leads a week. Manually, you might spend about 10 minutes reading and qualifying each one, plus another 5 minutes to write a decent reply and log it somewhere, which is roughly 4 hours weekly. With this workflow, you spend maybe 5 minutes a week checking edge cases while the webhook, OpenAI, Gmail, Slack, and Google Sheets do the rest. The follow-up goes out immediately for qualified leads, and your team sees the same context in Slack without asking you for it.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Gmail to send the automated follow-up email.
- Slack to notify your team in real time.
- OpenAI API key (get it from your OpenAI dashboard).
- ElevenLabs API key (get it from your ElevenLabs account).
- Google Drive + Google Sheets for audio storage and lead logging.
- CRM API access to check duplicates and upsert leads.
Skill level: Intermediate. You’ll mostly connect accounts, then paste a few IDs/keys and map your lead fields once.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
A new lead hits your webhook. Your form (or lead tool) sends name, email, phone, and message into n8n the moment someone clicks submit.
The lead gets cleaned and evaluated. n8n normalizes the incoming fields, then OpenAI returns a short summary and a qualification decision in a consistent JSON format so you can trust the next steps.
Qualified leads get a standout follow-up. The workflow creates a quick personalized audio script, generates an MP3 with ElevenLabs, uploads it to Google Drive, and produces a shareable link. Then it checks your CRM via HTTP, updating an existing contact or creating a new one.
Gmail sends, Slack informs, Sheets records. A polished email goes out from Gmail (including the audio link), your Slack channel receives the full context, and Google Sheets logs the lead so reporting stays accurate.
You can easily modify the qualification rules to match your sales process based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Webhook Trigger
This workflow starts when a new lead hits your inbound webhook.
- Add the Incoming Lead Webhook node as your trigger.
- Open Incoming Lead Webhook and copy the Webhook URL that n8n generates for incoming lead submissions.
- Connect your lead source (form, landing page, or ad platform) to send POST data to the webhook URL.
- Keep the Normalize Lead Details node connected as the next step in the flow.
Step 2: Connect CRM API and Storage Services
Leads are checked, created, or updated in your CRM, and audio files are stored externally.
- Configure Search CRM Duplicate with your CRM search endpoint and authentication.
- Configure Create CRM Record with the CRM create endpoint and payload mapping.
- Configure Modify CRM Record with the CRM update endpoint and payload mapping.
- In Upload Audio File, set your target Google Drive folder for storing voice message files.
Credential Required: Connect your Google Drive credentials in Upload Audio File.
Step 3: Set Up AI Lead Scoring Summary
The AI model scores and summarizes the lead before routing.
- Open Normalize Lead Details and map incoming fields into a consistent lead schema (name, email, company, etc.).
- Configure AI Lead Scoring Summary with your prompt to score lead quality and produce a summary.
- In Parse AI Evaluation, extract the AI score and recommendation into dedicated fields for routing.
Credential Required: Connect your OpenAI credentials in AI Lead Scoring Summary.
Step 4: Configure Qualification Logic and Follow-up Actions
Qualified leads receive a personalized voice message, CRM update, email, Slack alert, and log entry.
- Set conditions in Qualified Lead Check to decide if the lead is qualified based on parsed AI fields.
- For the “true” path, keep Compose Audio Script → Synthesize Voice Message → Upload Audio File → Save Audio URL connected to generate and store the voice message.
- Configure Duplicate Lead Decision to route duplicates to Modify CRM Record and new leads to Create CRM Record.
- Ensure both CRM outcomes feed into CRM Outcome Merge before proceeding to Send Follow-up Email.
- Configure Send Follow-up Email with your email template and include the audio URL if needed.
- Set Alert Sales Channel to post the summary in your Slack sales channel.
- For unqualified leads, route Qualified Lead Check to Flag Lead Unqualified and then to Record Lead Log for tracking.
Credential Required: Connect your ElevenLabs credentials in Synthesize Voice Message.
Credential Required: Connect your Gmail credentials in Send Follow-up Email.
Credential Required: Connect your Slack credentials in Alert Sales Channel.
Credential Required: Connect your Google Sheets credentials in Record Lead Log.
Step 5: Test and Activate Your Workflow
Validate end-to-end lead intake before switching to production.
- Click Execute Workflow and send a sample lead to the Incoming Lead Webhook test URL.
- Confirm that AI Lead Scoring Summary returns a score and Qualified Lead Check routes as expected.
- Verify the voice message is generated through Synthesize Voice Message and stored by Upload Audio File.
- Check that the CRM record is created or updated via Create CRM Record or Modify CRM Record, then merged in CRM Outcome Merge.
- Confirm the email in Send Follow-up Email, the Slack alert in Alert Sales Channel, and the log entry in Record Lead Log.
- Once satisfied, toggle the workflow to Active to begin processing real leads.
Watch Out For
- Slack credentials can expire or need specific permissions. If things break, check the n8n Credentials screen and confirm the bot is still in the right channel.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Common Questions
About an hour if your accounts and API keys are ready.
Yes. No coding is required for the core setup, and the only “technical” part is pasting credentials and mapping a few fields.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API usage and ElevenLabs audio generation costs.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
You can. Most teams start by changing the OpenAI qualification prompt so “qualified” matches their real criteria, then update the Gmail email template to match their offer and tone. If you don’t want audio, you can skip the ElevenLabs and Google Drive steps and still keep the AI summary, CRM upsert, Slack alert, and Google Sheets log. You can also swap the CRM HTTP Request nodes to match HubSpot, Pipedrive, Salesforce, or a custom backend.
Usually it’s expired credentials or the Slack app not being added to the target channel. Reconnect the Slack credential in n8n, confirm the channel ID is correct, and check Slack admin permissions if posting is blocked. If it fails only during high volume, rate limiting can also be the culprit.
On a typical n8n Cloud plan, this can handle hundreds of leads a month comfortably, and self-hosting scales based on your server.
Often, yes, because this flow has branching (qualified vs. unqualified), CRM dedupe logic, and multi-step enrichment, which gets expensive or awkward in simpler builders. n8n also gives you a self-hosting option, which means you’re not paying per tiny action the same way. That said, if all you need is “form submission → Slack message,” Zapier or Make will feel faster to set up. If you’re unsure, Talk to an automation expert and describe your volume and tools.
Once this is live, leads stop slipping through the cracks. The workflow handles the repetitive triage and follow-up, and your team can focus on real conversations.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.