Google Sheets to Gmail, fast lead replies + Telegram
Leads don’t disappear because you’re “bad at sales.” They disappear because the first reply is slow, inconsistent, or forgotten in a tab you meant to check.
If you run a sales inbox, manage marketing ops, or you’re the owner doing everything yourself, lead reply automation is the quickest way to stop bleeding warm inquiries. You get an instant, on-brand Gmail response plus a Telegram alert so your team can follow up while the lead still cares.
This guide breaks down what the workflow does, what you need, and how the pieces fit together so you can launch it without getting buried in setup details.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: Google Sheets to Gmail, fast lead replies + Telegram
flowchart LR
subgraph sg0["Google Sheets Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Wait 5 Minutes", pos: "b", h: 48 }
n1@{ icon: "mdi:code-braces", form: "rounded", label: "Check Business Hours", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "IF Business Hours?", pos: "b", h: 48 }
n3@{ icon: "mdi:message-outline", form: "rounded", label: "Send Gmail (Business Hours)", pos: "b", h: 48 }
n4@{ icon: "mdi:message-outline", form: "rounded", label: "Send Gmail (After Hours)", 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/telegram.svg' width='40' height='40' /></div><br/>Notify Telegram"]
n6@{ icon: "mdi:play-circle", form: "rounded", label: "Google Sheets Trigger1", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n7 --> n4
n0 --> n1
n2 --> n3
n2 --> n7
n1 --> n2
n6 --> n0
n4 --> n5
n3 --> n5
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 n6 trigger
class n2 decision
class n1 code
classDef customIcon fill:none,stroke:none
class n5 customIcon
Why This Matters: Slow first responses kill good leads
When a new inquiry hits your form, the clock starts. If it lands in Google Sheets and nobody notices for an hour (or overnight), you’re not just “late,” you’re competing against whoever replied first. Then come the messy follow-ups: someone replies from the wrong address, someone forgets to include the right next step, and the lead gets a generic “we’ll get back to you” that feels cold. It’s mentally draining too, because you can’t relax. You’re always wondering what you missed.
The friction compounds. Here’s where it breaks down in real life:
- You notice new rows in the sheet too late, especially during busy mornings and end-of-day rushes.
- Replies vary by who answers, so your “first impression” changes from lead to lead.
- After-hours inquiries sit until tomorrow, even though a simple acknowledgment would keep the conversation warm.
- Teams don’t get alerted with the right details, which means follow-up is slower and less confident.
What You’ll Build: Instant Gmail replies + Telegram alerts from Sheets
This workflow watches your lead-tracking Google Sheet for new (or updated) form responses. When a fresh lead appears, it waits about five minutes so the row has time to finish populating cleanly (names, email, message, timestamp). Then it checks the submission time against your business hours (9 AM–6 PM, Monday to Friday). If it’s in hours, the lead gets a professional “we’ll get back to you shortly” Gmail reply. If it’s after hours, they still get a polite acknowledgment so they’re not left hanging. Either way, your team gets a Telegram notification with the lead details so someone can take action fast.
The workflow starts from Google Sheets, adds a short buffer, and makes one simple decision based on time. Gmail handles the outbound reply, and Telegram handles the internal alert so your follow-up does not depend on someone remembering to check the sheet.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you get 15 inbound leads a week through a form that writes to Google Sheets. Manually, it’s easy to spend about 10 minutes per lead just noticing it, reading it, drafting a reply, and then telling the team, which is roughly 2–3 hours a week. With this workflow, the lead gets an email automatically after a five-minute buffer, and your team gets the Telegram alert right away. You still do the human follow-up, but the “don’t let it sit” part is handled.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets for storing incoming form responses.
- Gmail to send your business-hours and after-hours replies.
- Telegram bot token (get it from Telegram’s @BotFather).
Skill level: Beginner. You’ll connect accounts, paste a bot token, and edit two email templates.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A new row appears in Google Sheets. The workflow uses a Sheets trigger to watch for new or updated form responses in your lead sheet.
The workflow waits for the data to “settle.” A five-minute pause reduces half-filled rows (common with form connectors) so you don’t email someone using missing or incorrect fields.
Business hours get evaluated. A small logic step checks the timestamp against your schedule, then routes the lead down the “in hours” or “after hours” path.
Gmail replies and Telegram alerts go out. The lead receives the appropriate email template, and your team receives a Telegram message with the key fields mapped into a readable format.
You can easily modify business hours to weekends, or swap Telegram for Slack based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Google Sheets Trigger
This workflow starts when a lead row is updated in Google Sheets and then pauses before evaluating office hours.
- Add and open Sheet Update Trigger.
- Set Event to
rowUpdate. - Set Document to your sheet by selecting the document ID (currently
[YOUR_ID]). - Set Sheet Name to the tab that stores leads (currently
[YOUR_ID], cached nameForm Responses 1). - Keep polling set to everyMinute as configured.
- Credential Required: Connect your
googleSheetsTriggerOAuth2Apicredentials.
Execution Flow: Sheet Update Trigger → Pause Five Minutes → Evaluate Office Hours → Business Hours Gate.
Step 2: Connect Google Sheets Data Mapping
Map lead fields for the after-hours branch so email personalization works correctly.
- Open Map Lead Fields.
- Set First name to
={{ $('Sheet Update Trigger').item.json['First name'] }}. - Set Last name to
={{ $('Sheet Update Trigger').item.json['Last name'] }}. - Set Email address to
={{ $('Sheet Update Trigger').item.json['Email address'] }}.
Execution Flow: The Business Hours Gate false path routes to Map Lead Fields → Dispatch Email (After Hours).
Step 3: Set Up Office Hours Evaluation & Routing
Configure the timing pause, office-hours logic, and the decision gate that splits in-hours vs after-hours responses.
- Open Pause Five Minutes and set Unit to
minuteswith Amount5. - Open Evaluate Office Hours and paste the provided Function Code that converts the Excel timestamp, computes
isBusinessHours, and setsexactDateTimeandonlyTime. - Open Business Hours Gate and set the date/time condition with Value 1
={{ $json.exactDateTime }}, Operationbefore, and Value 22025-09-02T18:00:00.
Execution Flow: Evaluate Office Hours → Business Hours Gate. True path → Dispatch Email (In Hours); False path → Map Lead Fields.
Step 4: Configure Email & Telegram Notifications
Set up the in-hours and after-hours email responses and send a Telegram alert for every lead.
- Open Dispatch Email (In Hours) and set To to
={{ $json["Email Address"] }}. - Set Subject to
Thanks for reaching out!and Message to=Hii {{ $json["First Name"] }}{{ $json["Last name"] }} Thanks for connecting, Our team will get back to you soon. - Credential Required: Connect your
gmailOAuth2credentials for Dispatch Email (In Hours). - Open Dispatch Email (After Hours) and set To to
={{ $json["Email address"] }}. - Set Subject to
Thanks for contacting us (After Hours)and Message to=Hii {{ $json["First name"] }}{{ $json["Last name"] }} Thanks for connecting in after hours Our team will get back to you tomorrow. - Credential Required: Connect your
gmailOAuth2credentials for Dispatch Email (After Hours). - Open Post Telegram Alert and set Chat ID to your Telegram ID (currently
[YOUR_ID]). - Set Text to
=📩 New lead received! Name:{{ $('Sheet Update Trigger').item.json['First Name'] }} {{ $('Sheet Update Trigger').item.json['Last name'] }} Email: {{ $('Sheet Update Trigger').item.json['Email Address'] }} Connect with the lead tomorrow. - Credential Required: Connect your
telegramApicredentials.
⚠️ Common Pitfall: Replace all [YOUR_ID] placeholders in Sheet Update Trigger and Post Telegram Alert with real IDs or the workflow will fail at runtime.
Execution Flow: Dispatch Email (In Hours) → Post Telegram Alert and Dispatch Email (After Hours) → Post Telegram Alert.
Step 5: Test and Activate Your Workflow
Run a manual test to verify lead timing logic, email routing, and Telegram notification delivery before activating.
- Click Execute Workflow and update a row in your Google Sheet to trigger Sheet Update Trigger.
- Verify Pause Five Minutes waits for
5minutes, then Evaluate Office Hours setsisBusinessHoursandexactDateTime. - Confirm Business Hours Gate routes in-hours to Dispatch Email (In Hours) and after-hours to Map Lead Fields → Dispatch Email (After Hours).
- Check that Post Telegram Alert posts the formatted message to your specified chat.
- When everything works, toggle the workflow Active to enable continuous monitoring.
Troubleshooting Tips
- Google Sheets credentials can expire or lack access to the right spreadsheet. If things break, check the connected Google account permissions and the sheet sharing settings first.
- If you’re using Wait nodes or external processing, timing can be the silent culprit. Bump up the five-minute delay if the Gmail node runs before the row has a real email address.
- Telegram bot tokens and chat IDs are easy to paste wrong. Confirm the bot is added to the target chat/group, then verify the chatId value in your Telegram node settings.
Quick Answers
About 30 minutes if your Google, Gmail, and Telegram accounts are ready.
No coding required. You’ll mostly connect accounts and edit the two Gmail templates.
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 Telegram costs (free for bots) and any optional AI usage if you extend the workflow later.
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.
Yes, and it’s straightforward. You can change the “Evaluate Office Hours” logic to match your schedule, adjust the “Pause Five Minutes” wait time, and edit “Map Lead Fields” to include extra columns like UTM source or product interest. Common tweaks include swapping Telegram for Slack, adding a second internal alert for “high intent” keywords, or changing the reply copy by lead type.
Usually it’s expired or revoked Gmail permissions in n8n credentials, so reconnecting the Gmail account fixes it. Also check that you’re sending to a valid “Email Address” field after the five-minute wait, because blank emails can look like a Gmail failure when it’s really missing data.
Most small teams can run hundreds of leads a month on a basic setup without issues.
Sometimes, yes. This workflow has a time buffer, business-hours routing, and clean field mapping, which are all doable in Zapier or Make but can get fiddly (and more expensive) as soon as you add branches. n8n is also nicer when you want to self-host and run as many executions as your server can handle. If you only need a simple “new row → send email” with no routing, Zapier can be faster to set up. The best choice depends on how strict you want the rules to be and how much volume you expect. Talk to an automation expert if you want a quick recommendation.
Fast replies win deals, honestly. Set this up once, and your leads get a real response and your team gets a clear signal to act.
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.