🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Sheets + Telegram: lead SLA alerts that stick

Lisa Granqvist Partner Workflow Automation Expert

Leads don’t usually get “lost.” They get buried under tabs, inboxes, and a dozen tiny distractions, then nobody notices the clock ran out.

Sales managers feel this when pipeline reviews get awkward. Ops leads see it as a broken handoff. And if you run a small team, you’re probably the one doing the chasing. This Sheets SLA alerts automation pings you in Telegram when a lead sits “Un-replied” too long.

You’ll see what the workflow checks, how the alert message gets built (with a row link), and what you can tweak so it fits your SLA instead of fighting it.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + Telegram: lead SLA alerts that stick

The Problem: Lead follow-ups miss the SLA (quietly)

Google Sheets is great for lightweight lead tracking, until it becomes your “CRM” by accident. Someone updates a row. Another person assumes someone else replied. A third person is in meetings and doesn’t look at the sheet for two hours. Meanwhile the lead you just paid for is waiting, and the first reply window (often the only window that matters) closes. It’s not just the time cost. It’s the mental load of constantly checking, plus the revenue hit from slower responses and messy handoffs.

It adds up fast. Here’s where it breaks down in real teams:

  • People forget to refresh the sheet, so “Un-replied” rows sit there all afternoon.
  • Manual checking turns into a recurring task that steals about 30 minutes a day.
  • Follow-ups happen, but nobody updates the status column, which means duplicate outreach and a sloppy customer experience.
  • Without a clear alert, the handoff is vague and nobody owns the next action.

The Solution: Telegram alerts triggered by Google Sheets SLA checks

This n8n workflow runs on a schedule and acts like a quiet watchdog for your lead sheet. Every few minutes, it pulls the latest rows from Google Sheets and looks for leads marked “Un-replied” that have been sitting longer than your SLA (the template uses 15 minutes). When it finds one, it builds a clean Telegram message with the lead’s key details and a direct link back to the exact row in the sheet. That link matters more than it sounds, because it removes the “Which lead was that again?” back-and-forth and gets your team to action immediately.

The workflow starts with a Cron trigger set to run every 5 minutes. Google Sheets data is fetched, filtered by an IF condition (status plus time-since-timestamp), then a small code step formats the payload and generates the sheet row link. Finally, Telegram sends the alert to the right chat so the right person sees it while it still counts.

What You Get: Automation vs. Results

Example: What This Looks Like

Say your sheet gets 20 inbound leads a day, and a manager checks the “Un-replied” column roughly every 30 minutes. That’s maybe 10 checks a day, and each check takes about 3 minutes once you open the sheet, sort/filter, and ping someone. Call it 30 minutes daily, plus missed breaches when nobody checks at the right time. With this workflow, the “check” is automatic every 5 minutes, and the human time becomes reacting to the 1–3 alerts that matter, usually under 2 minutes each.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store leads and SLA timestamps.
  • Telegram to deliver fast team alerts.
  • Telegram bot token (create via @BotFather in Telegram)

Skill level: Beginner. You’ll connect accounts, point to your sheet, and adjust one condition for your SLA.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

Scheduled check runs every 5 minutes. A Cron trigger kicks off the workflow on a timer, so you don’t rely on someone remembering to look at the sheet.

Lead rows are pulled from Google Sheets. n8n reads your sheet data (lead name, contact fields, status, and timestamp) so it can evaluate what’s overdue and what’s fine.

SLA logic filters to only the breaches. An IF condition checks “Status = Un-replied” and compares the timestamp to your SLA window (15 minutes in this template). No breach, no noise. Good.

Telegram gets a message with a row link. A small transformation step formats the alert message and generates a direct Google Sheets link, then the Telegram node posts it to your team chat for quick action.

You can easily modify the SLA window to match your process, or include extra fields like Owner and Company so alerts land with the right context. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Scheduled Interval Trigger

Set the workflow’s timing so it checks for SLA breaches on your chosen schedule.

  1. Add and open Scheduled Interval Trigger.
  2. Configure the schedule to your desired interval (for example, every 15 minutes or hourly) based on how quickly you need SLA alerts.
  3. Connect Scheduled Interval Trigger to Retrieve Sheet Rows.

Step 2: Connect Google Sheets

Retrieve lead records from your Google Sheet so the workflow can evaluate SLA status.

  1. Open Retrieve Sheet Rows.
  2. Credential Required: Connect your googleSheetsOAuth2Api credentials.
  3. Set Document ID to [YOUR_ID].
  4. Set Sheet Name to [YOUR_ID].
  5. Connect Retrieve Sheet Rows to SLA Threshold Validation.

Ensure your sheet includes the fields referenced later (e.g., Status, Company Name, Booking Status, and row_number).

Step 3: Set Up SLA Threshold Validation and Transform Payload

Filter records to only SLA breaches, then enrich the payload with a direct sheet link.

  1. Open SLA Threshold Validation and configure the conditions:
  2. Set the string condition Value 1 to {{ $json.Status }} and Value 2 to unreplied.
  3. Set the date condition Value 1 to {{ new Date(Date.now() - 15 * 60 * 1000) }} and Value 2 to {{ Date.now() }} with Operation set to before.
  4. Connect SLA Threshold Validation to Transform Payload.
  5. Open Transform Payload and paste the JavaScript Code exactly as provided:
  6. const inputData = $input.all();
  7. const outputData = [];
  8. for (const item of inputData) {
  9. const data = item.json;
  10. const passedData = {
  11. ...data,
  12. link: "https://docs.google.com/spreadsheets/d/[YOUR_ID]/edit#gid=[YOUR_ID]"
  13. };
  14. outputData.push({ json: passedData });
  15. }
  16. return outputData;
  17. Update the sheet link placeholders in the code to your real [YOUR_ID] values.

⚠️ Common Pitfall: If Status or Booking Status values differ from the expected strings, the filter may exclude valid SLA breaches.

Step 4: Configure Dispatch Telegram Alert

Send formatted SLA breach alerts to your Telegram channel or user.

  1. Open Dispatch Telegram Alert.
  2. Credential Required: Connect your telegramApi credentials.
  3. Set Chat ID to [YOUR_ID].
  4. Set Text to the full message template:
  5. 🚨 SLA BREACH ALERT
  6. Company: {{ $json['Company Name'] }}
  7. Contact: {{ $json['Contact Person'] }}
  8. Position: {{ $json['Job Title'] }}
  9. Industry: {{ $json.Industry }}
  10. Location: {{ $json.Location }}
  11. Email: {{ $json.Email }}
  12. Phone: {{ $json.Phone }}
  13. Source: {{ $json['Lead Source'] }}
  14. Status: {{ $json.Status === 'unreplied' ? 'UNREPLIED ❌' : $json.Status.toUpperCase() + ' ✅' }}
  15. Booking: {{ $json['Booking Status'] === 'Unbooked' ? 'UNBOOKED 🔴' : $json['Booking Status'].toUpperCase() + ' 🟢' }}
  16. Lead ID: #{{ $json.row_number }}
  17. View Details: {{ $json.link }}
  18. In Additional Fields, set Parse Mode to HTML.
  19. Ensure Transform Payload connects to Dispatch Telegram Alert.

Step 5: Test and Activate Your Workflow

Verify the full SLA breach flow and turn on automation.

  1. Click Execute Workflow to run a manual test.
  2. Confirm Retrieve Sheet Rows returns lead data and SLA Threshold Validation outputs only unreplied leads within the 15-minute threshold.
  3. Check that Dispatch Telegram Alert posts a formatted message in your Telegram chat with a working View Details link.
  4. When the test is successful, toggle the workflow to Active to enable scheduled SLA notifications.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the connected Google account in n8n’s Credentials section first, then verify the sheet is shared 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.
  • Telegram bot tokens get rotated (and chat IDs get mixed up) more often than people admit. If alerts stop, confirm the bot token is correct and the bot is actually in the target group chat.

Frequently Asked Questions

How long does it take to set up this Sheets SLA alerts automation?

About 30 minutes if your sheet and Telegram bot are ready.

Do I need coding skills to automate Sheets SLA alerts?

No. You will mostly connect accounts and edit one SLA condition. The only “code” piece is already included and you can leave it as-is.

Is n8n free to use for this Sheets SLA alerts workflow?

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 and Google usage (usually $0 for typical volumes).

Where can I host n8n to run this automation?

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.

Can I customize this Sheets SLA alerts workflow for a 30-minute SLA instead of 15?

Yes, and it’s a one-change tweak in the “SLA Threshold Validation” IF node. Update the time comparison from 15 minutes to 30 minutes, then test with a row whose timestamp is safely in the past. Common customizations include adding an Owner column to the alert, changing the message format in the “Transform Payload” code step, and swapping Telegram alerts for Gmail or Slack if that’s where your team reacts fastest.

Why is my Telegram connection failing in this workflow?

Most of the time it’s a bot token issue or the bot isn’t actually in the group you’re posting to. Regenerate the token with BotFather if needed, then update the n8n Telegram credentials and confirm the chat ID matches the target chat. Also check basic stuff: the bot must be allowed to post messages, and your workflow may be hitting the wrong environment if you have multiple n8n instances.

How many leads can this Sheets SLA alerts automation handle?

Practically, hundreds to a few thousand rows in a sheet is fine for most teams running checks every 5 minutes, but the limit depends on how fast your Google Sheets read step runs. On n8n Cloud, your cap is mostly your monthly executions (Starter gives you a set allowance, and higher tiers give you more). If you self-host, there’s no execution limit, so the bottleneck becomes your server size and Google API responsiveness. If your sheet is huge, a common fix is to only scan “recent” rows or split leads by month into separate tabs.

Is this Sheets SLA alerts automation better than using Zapier or Make?

Often, yes. Scheduled checks every 5 minutes plus conditional logic is where n8n tends to feel calmer and more flexible, especially if you want branching rules later (different alerts by owner, priority, or time of day). Zapier or Make can still do it, but costs can rise as you increase polling frequency and add steps. If you only need a simple “new row → send message” setup, those tools might be quicker. Talk to an automation expert if you want help choosing.

This is the kind of workflow you set up once and quietly benefit from every day. The sheet stays simple, the team stays responsive, and overdue follow-ups stop slipping through the cracks.

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.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal