Google Drive to Slack, route hot leads instantly
You finally get the call recording… and then it sits. Someone has to download it, listen, take notes, guess the budget, update the CRM, and tell the team what happened. That lag quietly kills deals.
This Drive Slack automation hits sales teams first, honestly. But marketing managers trying to track lead quality and agency owners juggling multiple pipelines feel the same post-call mess. The outcome is simple: hot leads get flagged and routed fast, and every call turns into clean, searchable data.
Below, you’ll see how the workflow turns a Google Drive upload into a Slack alert, a structured Airtable entry, and a task for the right next step.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Google Drive to Slack, route hot leads instantly
flowchart LR
subgraph sg0["On new sales call upload Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Transcribe a recording", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Download file", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Message a model", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n4["<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/>LLM Error"]
n5@{ icon: "mdi:message-outline", form: "rounded", label: "'Downsell' prospect", pos: "b", h: 48 }
n6["<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/>Error in sending mail"]
n7["<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 Slack channel"]
n8["<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/airtable.svg' width='40' height='40' /></div><br/>Log in DB"]
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Hot Status", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Warm Status", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", pos: "b", h: 48 }
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/airtable.svg' width='40' height='40' /></div><br/>Create warm lead"]
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/trello.svg' width='40' height='40' /></div><br/>Create high priority card"]
n14["<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/trello.svg' width='40' height='40' /></div><br/>Create low priority card"]
n15@{ icon: "mdi:play-circle", form: "rounded", label: "On new sales call upload", pos: "b", h: 48 }
n16["<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/airtable.svg' width='40' height='40' /></div><br/>Create hot lead"]
n3 --> n16
n3 --> n5
n11 --> n8
n1 --> n0
n9 --> n11
n16 --> n13
n2 --> n3
n2 --> n4
n10 --> n11
n12 --> n14
n5 --> n12
n5 --> n6
n7 --> n9
n0 --> n2
n14 --> n10
n15 --> n1
n13 --> n7
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 n15 trigger
class n0,n2 ai
class n3 decision
class n8,n12,n16 database
classDef customIcon fill:none,stroke:none
class n4,n6,n7,n8,n12,n13,n14,n16 customIcon
The Challenge: Post-call follow-up is slow and inconsistent
After a sales call, the “real work” starts. Someone has to find the recording, listen through the whole thing, pull out the budget and timeline, write a summary that’s actually useful, then copy it into your CRM. And then, because nothing is centralized, they still have to ping the team in Slack, create a task, and hope it doesn’t get lost in the scroll. It’s not just time. It’s mental load, context switching, and the kind of tedious work that invites mistakes.
It adds up fast. Here’s where it breaks down in real life.
- Call summaries vary wildly depending on who listened, so follow-ups feel inconsistent and “off-brand.”
- Budget and intent get missed, which means hot leads wait in the same queue as everyone else.
- CRM updates happen in batches at the end of the day (or week), so your pipeline view is always behind.
- Slack notifications are manual and often late, so the right person doesn’t jump in while interest is still high.
The Fix: Turn call recordings into routed leads automatically
This workflow starts the moment a call recording lands in a specific Google Drive folder. n8n pulls the file, sends it to OpenAI for transcription, then asks a second model pass to analyze the transcript like a careful sales analyst would. It extracts the details you usually hunt for: who the client is, their budget, timeline, sentiment, and a clean summary you can act on. Then it checks one thing that matters for routing, the budget threshold (the template uses $5,000, but you can set your own). Hot leads get logged to Airtable, a high-priority task is created in Trello, and your team gets an instant Slack alert. Warm leads still get logged and tasked, but also receive a downsell email via Gmail so they don’t fall into a black hole.
The workflow begins with a Drive upload trigger. OpenAI handles the heavy lifting (transcribe, then analyze). Finally, Airtable becomes the single source of truth while Slack and Trello push the next action to the surface.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you handle 10 recorded calls a week. Manually, even a “quick” process looks like this: about 30 minutes to listen or scan, 10 minutes to write a usable summary, and another 10 minutes to update Airtable, create a task, and notify Slack. That’s roughly 50 minutes per call, or about 8 hours a week. With this workflow, the only human step is uploading the recording (or letting it sync to Drive). Transcription and analysis run in the background, then Slack, Airtable, and Trello update automatically, which usually turns the admin work into a 2-minute check.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Drive to store call recordings in a folder.
- Slack to alert the team on hot leads.
- Airtable for CRM fields and system logging.
- Trello to create high/low priority tasks.
- Gmail to send automated downsell emails.
- OpenAI API Key (get it from the OpenAI API dashboard).
Skill level: Intermediate. You’ll connect accounts, map a few Airtable fields, and adjust the budget threshold to match your offer.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
A recording hits a Google Drive folder. The Google Drive Trigger watches one location, so only the calls you care about enter the workflow.
The audio is retrieved and transcribed. n8n pulls the file, then OpenAI generates a transcript so you can work with text instead of scrubbing through audio.
The transcript is analyzed and classified. An AI Agent extracts fields like budget, timeline, sentiment, and a clear summary. Then an If check compares the budget to your threshold to decide “hot” versus “warm.”
Actions happen in the tools your team already uses. Hot leads create an Airtable entry, a high-priority Trello card, and a Slack notification. Warm leads still get logged and tasked, plus a Gmail message offering a lower-cost option.
You can easily modify the budget threshold to match your own qualification rules based on deal size or service tier. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Drive Upload Trigger
Set the workflow to start when a new file is created in a specific Google Drive folder.
- Add Drive Upload Trigger and set Event to
fileCreated. - Set Trigger On to
specificFolderand choose the Folder To Watch with ID[YOUR_ID]. - Set Poll Times to
everyMinutefor near-real-time processing. - Credential Required: Connect your
googleDriveOAuth2Apicredentials for Drive Upload Trigger.
Step 2: Connect Google Drive and Retrieve the File
Download the uploaded audio file so it can be transcribed.
- Add Retrieve Drive File and set Operation to
download. - Set File ID to
={{ $json.id }}to fetch the uploaded file. - Credential Required: Connect your
googleDriveOAuth2Apicredentials for Retrieve Drive File.
Step 3: Set Up Audio Transcription and AI Analysis
Transcribe the audio and extract structured lead data with AI.
- In Audio Transcription, set Resource to
audioand Operation totranscribe. - Set Binary Property Name to
=datato use the downloaded file. - Credential Required: Connect your
openAiApicredentials for Audio Transcription. - In Analyze Transcript, set Model to
chatgpt-4o-latestand keep JSON Output enabled. - Use the user prompt content
=<transcript>{{ $json.text }}</transcript>to pass the transcript to the model. - Credential Required: Connect your
openAiApicredentials for Analyze Transcript.
budget in the JSON output.Step 4: Configure Lead Qualification and Routing
Route hot leads to high-priority actions and warm leads to downsell follow-up.
- In Budget Threshold Check, set the condition to
={{ $json.choices[0].message.content.budget }}greater than5000. - Connect the true output of Budget Threshold Check to Create Hot Lead Entry.
- Connect the false output of Budget Threshold Check to Send Downsell Email.
Step 5: Configure Output Actions for Hot and Warm Leads
Write lead data to Airtable, create Trello cards, and notify Slack based on the lead outcome.
- In Create Hot Lead Entry, map fields like Budget to
={{ $('Analyze Transcript').item.json.choices[0].message.content.budget }}and Client Name to={{ $('Analyze Transcript').item.json.choices[0].message.content.name }}. - Credential Required: Connect your
airtableTokenApicredentials for Create Hot Lead Entry. - In Create High Priority Card, set List ID to
[YOUR_ID]and Description to={{ $json.fields.Summary }}. - Credential Required: Connect your
trelloApicredentials for Create High Priority Card. - In Slack Lead Notification, keep the message template referencing
{{ $('Create Hot Lead Entry').item.json.fields["Client Name"] }}for accurate details. - Credential Required: Connect your
slackOAuth2Apicredentials for Slack Lead Notification. - In Send Downsell Email, set Send To to
={{ $('Drive Upload Trigger').item.json.lastModifyingUser.emailAddress }}and keep Subject as=A different approach. - Credential Required: Connect your
gmailOAuth2credentials for Send Downsell Email. - In Create Warm Lead Entry, map fields like Budget to
={{ $('Budget Threshold Check').item.json.choices[0].message.content.budget }}. - Credential Required: Connect your
airtableTokenApicredentials for Create Warm Lead Entry. - In Create Low Priority Card, set List ID to
[YOUR_ID]and Description to={{ $json.fields.Summary }}. - Credential Required: Connect your
trelloApicredentials for Create Low Priority Card.
Step 6: Add Logging and Outcome Tracking
Capture outcomes and execution metadata for auditing.
- In Mark Hot Outcome, set log_message to
Processed Hot Lead - Sent to Slack. - In Mark Warm Outcome, set log_message to
Processed Warm Lead - Sent Downsell Email. - In Gather Results, set Aggregate to
aggregateAllItemData. - In Record System Log, map Outcome to
={{ $json.data[0].log_message }}and Execution_Id to={{ $execution.id }}. - Credential Required: Connect your
airtableTokenApicredentials for Record System Log.
Step 7: Add Error Handling Alerts
Notify your team when AI analysis or email delivery fails.
- Ensure Analyze Transcript has On Error set to continue and connected to Model Error Alert.
- In Model Error Alert, keep the message
=Error in workflow. Date: {{ $now }} Workflow: {{ $workflow.name }} Node: Analyze Transcript. - Credential Required: Connect your
slackOAuth2Apicredentials for Model Error Alert. - Ensure Send Downsell Email has On Error set to continue and connected to Email Failure Alert.
- In Email Failure Alert, keep the message
=Error in workflow {{ $workflow.name }}: Failed to send mail to {{ $('Analyze Transcript').item.json.choices[0].message.content.name }} Send manually ASAP. - Credential Required: Connect your
slackOAuth2Apicredentials for Email Failure Alert.
Step 8: Test and Activate Your Workflow
Run a full end-to-end test before turning the workflow on.
- Upload a test audio file into the watched folder configured in Drive Upload Trigger.
- Verify that Retrieve Drive File downloads the file and Audio Transcription produces text.
- Confirm Analyze Transcript outputs JSON and Budget Threshold Check routes correctly.
- Check that hot leads create Airtable entries, Trello cards, and a Slack alert, while warm leads send a downsell email and create low-priority records.
- When everything looks correct, toggle the workflow to Active for production use.
Watch Out For
- Google Drive permissions can be sneaky. If the workflow can’t retrieve files, check the Drive connection in n8n and confirm the trigger folder is accessible to that account.
- 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 Drive, Airtable, Slack, and OpenAI accounts are ready.
Yes, but you will need someone comfortable mapping fields in Airtable and testing a few sample calls. No coding, just careful setup and a couple of retries.
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 costs, which for transcription + analysis is usually cents per call for most teams.
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. Change the budget rule in the Budget Threshold Check node to match your offer, and adjust what gets written into Airtable in the Create Hot Lead Entry / Create Warm Lead Entry nodes. Many teams also tweak the Analyze Transcript prompt to extract their own fields (lead source, competitors mentioned, next meeting date). If you don’t use Trello, swap the card nodes for your task tool and keep the Slack alert the same.
Usually it’s permissions on the watched folder or an expired Google auth token in n8n. Reconnect Google Drive credentials, confirm the trigger folder is still the same folder, and test by uploading a fresh file. If it pulls the file but fails later, check the “Retrieve Drive File” node output to make sure it’s actually downloading the audio.
For most small teams, it’s effectively “as many calls as you can upload,” since the flow processes each recording and logs the result. On n8n Cloud, your execution limit depends on plan, and self-hosting has no hard cap (your server and OpenAI rate limits become the constraint). Practically, if you’re doing dozens of calls a day, you’ll want to watch concurrency and add basic queueing so Slack and Airtable don’t get hammered all at once.
Often, yes. This workflow has branching logic (hot vs. warm), multi-step AI processing, and structured logging, which is where Zapier and Make can get pricey or awkward. n8n also gives you a self-hosted option, which matters if you’re processing a lot of recordings. That said, if you only want “Drive upload → Slack message” without transcription or CRM updates, Zapier or Make is totally fine. Talk to an automation expert if you want help choosing.
Once this is running, every call recording turns into action, not backlog. The workflow handles the repetitive follow-up machinery so your team can focus on closing.
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.