Gmail + Telegram: approve AI drafted replies fast
Your inbox doesn’t get “handled.” It gets postponed. You skim, you flag, you promise yourself you’ll reply later, then you lose the thread and spend even more time rewriting the same message.
This Gmail Telegram approval automation hits salespeople and support leads hardest, honestly. Founders feel it too, because every delayed reply is a dropped ball. The outcome is simple: faster responses, fewer mental tabs open, and emails that still sound like you.
This workflow drafts replies with OpenAI, routes them to Telegram for a quick approve/reject, and only then sends from Gmail. You’ll see what it does, what you need, and where teams usually tweak it.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Gmail + Telegram: approve AI drafted replies fast
flowchart LR
subgraph sg0["Incoming Email Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Incoming Email Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Inbox Label", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "AI Decision Engine", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Verify Reply Needed", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "AI Draft Reply", 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/>Telegram Approval Prompt"]
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Verify Telegram Approval", pos: "b", h: 48 }
n7@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch Gmail Reply", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Stop: Non-Inbox", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "End: No Reply", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "End: Telegram Rejected", pos: "b", h: 48 }
n11@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Engine", pos: "b", h: 48 }
n12@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Engine 2", pos: "b", h: 48 }
n13@{ icon: "mdi:robot", form: "rounded", label: "Parse Decision JSON", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Structured Parser A", pos: "b", h: 48 }
n11 -.-> n2
n12 -.-> n4
n0 --> n1
n2 --> n3
n4 --> n5
n5 --> n6
n1 --> n2
n1 --> n8
n6 --> n7
n6 --> n10
n14 -.-> n4
n3 --> n4
n3 --> n9
n13 -.-> n2
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 n0 trigger
class n2,n4,n13,n14 ai
class n11,n12 aiModel
class n1,n3,n6 decision
classDef customIcon fill:none,stroke:none
class n5 customIcon
The Problem: Drafting Replies Steals Your Best Hours
Replying to email is deceptively expensive. It’s not just typing. It’s rereading context, deciding if a reply is even needed, matching tone, and checking you didn’t miss a detail buried three paragraphs deep. Do that 30 times a day and you’ve burned a big chunk of focused time on tiny decisions. And when you’re tired, you either send something too short (sounds cold) or too long (creates more back-and-forth). Neither is great.
The friction compounds. Here’s where it breaks down in real life.
- You spend about 5–10 minutes per “simple” reply once you factor in rereading and rewriting.
- Newsletters and promo emails get mixed in with real requests, so you waste attention just sorting.
- When you answer from your phone, tone and formatting often slip, which can look sloppy to clients.
- Delegating drafts to a teammate helps, but it still creates a review queue and delays responses.
The Solution: AI Drafts, You Approve in Telegram, Gmail Sends
This workflow watches your Gmail inbox and acts like a smart first-pass assistant. When a new message arrives, it first checks that the email is actually in the inbox you care about (not some label or automated folder). Then an AI “decision” step reads the email and determines whether a reply is needed at all. If it is, the workflow generates a polished draft response using OpenAI, formatted with a subject and body that match the thread. Finally, it sends you a Telegram message showing the original email plus the draft, so you can approve or reject with one tap. Nothing sends without your explicit approval, and drafts expire after about 5 minutes so you don’t accidentally approve something hours later.
The workflow starts with a Gmail trigger that checks for new inbox emails. OpenAI handles two jobs: deciding “reply or not” and drafting the response when it matters. Telegram becomes your approval gate, and Gmail only sends after that gate is opened.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you get 25 emails a day that might need replies. Manually, if you spend about 6 minutes each to read, decide, and draft, that’s roughly 2.5 hours. With this workflow, the trigger runs automatically, drafting happens in the background, and your “work” is approving in Telegram, maybe 20–30 seconds per email. Even if you approve 15 replies, that’s about 10 minutes of tapping, plus a bit of review time. Big difference.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Gmail for inbox monitoring and sending replies
- Telegram to approve or reject drafts on mobile
- OpenAI API key (get it from your OpenAI dashboard)
Skill level: Intermediate. You’ll connect accounts (OAuth/API keys) and adjust a couple of prompts and filters.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A new email arrives in Gmail. The workflow is triggered by your inbox, checking for new messages on a frequent schedule so you’re not waiting hours.
Only the right mailbox gets processed. A quick filter verifies the email is in the main inbox label you want, then ignores everything else.
AI decides if a reply is required. OpenAI reviews the message and outputs a structured decision (reply needed or not), which keeps the logic predictable and avoids random behavior.
Draft creation + Telegram approval. If a reply is needed, the workflow generates a formatted subject and body, sends you the preview in Telegram, and waits for your approval. Approve and Gmail sends; reject (or time out) and it stops.
You can easily modify the decision criteria to match your world (VIP senders, specific keywords, business hours), so the bot pings you less and gets more accurate. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Incoming Email Trigger
This workflow starts when a new Gmail message arrives. Configure the trigger and connect Gmail credentials.
- Add and open Incoming Email Trigger.
- Set Poll Times to
everyMinute(already configured in the node). - Credential Required: Connect your gmailOAuth2 credentials.
Step 2: Connect Gmail and Telegram Services
Prepare the external services used for approval and sending replies.
- Open Telegram Approval Prompt and set Chat ID to your Telegram user or group ID:
=[YOUR_ID]. - Confirm Operation is
sendAndWaitand Approval Type isdouble. - Credential Required: Connect your telegramApi credentials on Telegram Approval Prompt.
- Open Dispatch Gmail Reply and keep the Gmail fields mapped to the AI output values.
- Credential Required: Connect your gmailOAuth2 credentials on Dispatch Gmail Reply.
=[YOUR_ID] with a real chat ID or approvals will never arrive.Step 3: Set Up the AI Decision Engine
Configure the AI to decide whether an incoming email needs a reply.
- Open Validate Inbox Label and set the condition to check labelIds contains
INBOXusing{{ $json.labelIds }}. - Open AI Decision Engine and confirm the Text field includes the email context:
=todays date:- {{ $now }} mail date:- {{ $json.headers.date }} from :- {{ $json.headers.from }} subject :- {{ $json.headers.subject.toJsonString() }} content :- {{ $json.text }}. - Ensure AI Decision Engine has Output Parser enabled.
- Open Parse Decision JSON and keep the JSON Schema Example as
{ "response": "no" }. - Credential Required: Connect your openAiApi credentials on OpenAI Chat Engine.
- Note: Parse Decision JSON is an AI sub-node connected to AI Decision Engine. Add credentials to OpenAI Chat Engine, not the parser.
Step 4: Set Up the AI Draft Reply
When a reply is required, draft the response using AI and structure the output.
- Open Verify Reply Needed and confirm it checks
{{ $json.output.response }}equalsyes. - Open AI Draft Reply and confirm the Text field is set to:
=todays date:- {{ $now }} mail date:- {{ $('Incoming Email Trigger').item.json.headers.date }} from :- {{ $('Incoming Email Trigger').item.json.headers.from }} subject :- {{ $('Incoming Email Trigger').item.json.headers.subject }} content :- {{ $('Incoming Email Trigger').item.json.text }}. - Ensure AI Draft Reply has Output Parser enabled.
- Open Structured Parser A and keep the JSON Schema Example as
{ "email": "email address", "subject": "subject text", "body": " body text ." }. - Credential Required: Connect your openAiApi credentials on OpenAI Chat Engine 2.
- Note: Structured Parser A is an AI sub-node connected to AI Draft Reply. Add credentials to OpenAI Chat Engine 2, not the parser.
Step 5: Configure Approval Routing and Reply Dispatch
Send the AI draft to Telegram, wait for approval, and conditionally send the Gmail reply.
- Open Telegram Approval Prompt and review the Message template to include incoming email details and AI-generated reply:
=📥 *New Email Received* 👤 *From:* {{ $('Incoming Email Trigger').item.json.headers.from }} 📝 *Subject:* {{ $('Incoming Email Trigger').item.json.headers.subject }} 💬 *Content:* {{ $('Incoming Email Trigger').item.json.text }} 🤖 *AI-Generated Response* 📤 *To:* {{ $('Incoming Email Trigger').item.json.headers.from }} 📝 *Subject:* {{ $json.output.subject }} 💬 *Content:* {{ $json.output.body }}. - Confirm Telegram Approval Prompt uses Limit Wait Time of
5minutes. - Open Verify Telegram Approval and confirm it checks
{{ $json.data.approved }}equalstrue. - Open Dispatch Gmail Reply and keep the fields mapped: Send To
{{ $('AI Draft Reply').item.json.output.email }}, Subject{{ $('AI Draft Reply').item.json.output.subject }}, Message{{ $('AI Draft Reply').item.json.output.body }}, and Email Typetext. - Review the no-op endpoints: End: No Reply for non-reply emails and End: Telegram Rejected when approval is denied.
Step 6: Test and Activate Your Workflow
Run a manual test to verify the full approval loop and email dispatch.
- Click Execute Workflow and send a test email to the monitored Gmail inbox.
- Confirm the email passes Validate Inbox Label and is analyzed by AI Decision Engine.
- When a reply is needed, verify Telegram Approval Prompt sends the draft to Telegram and waits for approval.
- Approve the message in Telegram and confirm Dispatch Gmail Reply sends the response.
- If successful, toggle the workflow to Active to enable continuous monitoring.
Common Gotchas
- Gmail credentials can expire or need specific permissions. If things break, check your n8n credential status and the connected Google account’s OAuth consent first.
- 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.
Frequently Asked Questions
About 30 minutes if your Gmail, Telegram bot, and OpenAI key are ready.
No. You’ll connect accounts and adjust a few prompts and filters inside n8n.
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 (often a few cents per day at low volume) plus any Telegram/Gmail limits on your accounts.
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 one of the best tweaks. Add a sender allowlist check before the AI Decision Engine, or modify the AI Decision prompt to always reply for specific domains. Common customizations include limiting it to business hours, skipping threads you’re CC’d on, and adding a stricter “only when a question is asked” rule.
Usually it’s the bot token or chat ID being wrong, or the bot hasn’t been started by your user in Telegram. Regenerate the token in BotFather if needed, then update the credential in n8n. Also check that your Telegram node is sending to the same chat you’re monitoring, because group chats can behave differently. If it works once and then stops, rate limits or blocked messages are the next suspects.
Plenty for a typical small team: dozens to a few hundred per day is normal, with the real limit being your n8n plan and API quotas.
Often, yes, because this flow needs branching logic (reply needed, approval result, timeouts) and structured AI outputs, which n8n handles without turning it into a fragile maze. n8n also gives you the option to self-host, so high volume doesn’t get pricey just because you ran more automations. Zapier or Make can still be fine if you want a very simple “draft to Slack/Telegram” notification and you never plan to add logic. The approval gate is the real value here, and you want that to be dependable. If you’re torn, Talk to an automation expert and we’ll sanity-check your use case.
You keep control, but you stop paying the “blank page tax” on every email. Set it up once, and your inbox gets a lot less loud.
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.