Telegram + Gmail: qualify leads and reply with confidence
Your inbox fills up with “new lead” emails, and somehow the fastest reply is still the one you didn’t send. You copy details out of a form, try to judge if the budget is real, draft a polite response, second-guess the tone, then forget to log it anywhere. That’s how good leads go cold.
This Telegram Gmail automation hits studio owners first because every inquiry feels urgent. But marketing managers trying to prove ROI and agency operators juggling multiple pipelines get the same chaos. The outcome is simple: you reply faster with consistent messaging, while keeping a human approval step so nothing sketchy gets sent.
Below, you’ll see how the workflow qualifies leads (HOT/WARM/COLD), drafts tailored emails, asks for approval in Telegram, sends via Gmail, and logs everything in Notion for tracking.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Telegram + Gmail: qualify leads and reply with confidence
flowchart LR
subgraph sg0["Form 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/form.svg' width='40' height='40' /></div><br/>Form Trigger"]
n1@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model1", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser1", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser2", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "set email", pos: "b", h: 48 }
n7@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Classification Agent", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Email Revision Agent", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Classification Router", pos: "b", h: 48 }
n11@{ icon: "mdi:message-outline", form: "rounded", label: "Email Notifier", pos: "b", h: 48 }
n12@{ icon: "mdi:robot", form: "rounded", label: "Outreach Email Generator", pos: "b", h: 48 }
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/telegram.svg' width='40' height='40' /></div><br/>Human approval"]
n14@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Decision Router", 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/notion.dark.svg' width='40' height='40' /></div><br/>Store in notion database"]
n16@{ icon: "mdi:message-outline", form: "rounded", label: "Send to Client", pos: "b", h: 48 }
n6 --> n13
n0 --> n8
n11 --> n12
n13 --> n14
n16 --> n15
n14 --> n16
n14 --> n9
n7 -.-> n8
n7 -.-> n12
n7 -.-> n9
n8 --> n10
n9 --> n6
n10 --> n11
n10 --> n12
n1 -.-> n8
n12 --> n6
n2 -.-> n8
n3 -.-> n12
n3 -.-> n9
n4 -.-> n12
n5 -.-> 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 n0 trigger
class n2,n4,n5,n8,n9,n12 ai
class n1,n3,n7 aiModel
class n10,n14 decision
class n15 database
classDef customIcon fill:none,stroke:none
class n0,n13,n15 customIcon
The Problem: Lead replies are slow, inconsistent, and hard to track
Most lead pipelines break in boring places. You get the form submission, then you start a mini project: read messy notes, interpret budget ranges, count rooms, check the timeline, and decide if it’s worth a call. Then you write an email that sounds confident but not pushy. On busy days, “I’ll reply after this meeting” turns into tomorrow, and tomorrow turns into a lost opportunity. Even when you do reply, the details often don’t get logged, so you can’t see what’s working or follow up cleanly.
The friction compounds. Here’s where it usually breaks down.
- Leads get answered in batches, which means the best inquiries wait the longest.
- Qualification happens in someone’s head, so “HOT” means something different each time.
- Email drafts vary wildly in tone and structure, so your brand feels inconsistent.
- Details land in scattered places (inbox, notes app, DMs), making follow-up a guessing game.
The Solution: AI qualification + Telegram approval + Gmail sending
This workflow turns every new intake submission into a structured, approved, trackable reply. It starts when a lead submits your website form (or an n8n form/webhook). Their details get analyzed by an AI scoring agent using the same criteria every time, pulling from 12+ signals like budget (AED), number of spaces, timeline, and commitment indicators. Based on that outcome, the workflow routes the lead down the right path and drafts a personalized email that references their specifics (style preferences, scope, inspiration links) so it doesn’t feel templated. Before anything goes out, the draft is sent to Telegram for review, so a human can approve or reject it. Approved drafts go out via Gmail. Rejected ones loop back through a revision agent, then return to Telegram for another look. Finally, the lead and classification are logged in Notion so your pipeline stays real.
The workflow starts with a form/webhook trigger, then AI handles scoring and drafting. Telegram becomes the checkpoint for quality control. Gmail sends only what you approve, and Notion records the full story for later reporting.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you get 10 leads a week from your site. Manually, a realistic flow is 10 minutes to read and judge the inquiry, 15 minutes to draft a decent email, and another 5 minutes to log it somewhere, which is about 30 minutes per lead (around 5 hours a week). With this workflow, you still review the email in Telegram, but the AI handles scoring and drafting in about 30–45 seconds total per lead. Your “work” becomes a quick approve/reject tap and an occasional edit, so you get most of those 5 hours back.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Telegram for human approval and revisions.
- Gmail to send the approved client email.
- Notion to store leads and classification results.
- Anthropic Claude API key (get it from the Anthropic Console) for scoring and drafting.
Skill level: Intermediate. You’ll connect accounts, set up credentials, and match your form fields to the workflow.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A lead submits your intake form. The workflow is triggered by an n8n Form node or a webhook connected to your website form, pulling in fields like name, email, budget range, timeline, and style preferences.
The lead gets scored and routed. An AI agent evaluates the details and returns a HOT/WARM/COLD classification plus a confidence signal. A switch router then sends the lead into the right branch so high-fit inquiries get prioritized.
A personalized email draft is created. Another AI agent writes the outreach email using the lead’s specifics, then n8n maps the output into clean email fields. If your workflow uses different AI engines (OpenAI Chat Model or Gemini nodes are included), you can swap them without changing the overall logic.
Telegram approves, Gmail sends, Notion logs. The draft shows up in Telegram for a simple approve/reject decision. Approval triggers Gmail sending. Rejection routes to a revision agent and returns to Telegram. Once sent, the workflow writes the full lead record into Notion for pipeline tracking.
You can easily modify the scoring thresholds to match your market, or swap Notion for a CRM based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Trigger
Set up the intake form that kicks off the lead qualification pipeline and captures all required client details.
- Add the Intake Form Trigger node as your workflow trigger.
- Set the Path to
interior-design-form. - Set the Form Title to
Interior Design Client Intake Questionnaire. - Set the Form Description to
Please fill out this form to help us evaluate your project's scope, budget, and aesthetic fit before our initial consultation. - Confirm the form fields match the provided labels such as First Name, Second Name, Contact Number, and Email Address.
{{$json['First Name']}} resolve correctly downstream.Step 2: Set Up Lead Scoring and Routing
Use AI to classify leads and route them based on the AI output.
- Open Lead Scoring Agent and keep the Text field mapping intact, including
{{$json['First Name']}},{{$json['Project Type'][0]}}, and{{$json.submittedAt}}. - Confirm Structured JSON Parser is attached as the output parser for Lead Scoring Agent; the schema should match the configured JSON example.
- Ensure Gemini Chat Engine and OpenAI Chat Engine are connected as language models for Lead Scoring Agent (these are set on the AI connections panel).
- Configure Lead Routing Switch rules to match the classification output using
{{$json.output.lead_classification}}with outputsHOT,WARM, andCOLD.
Credential Required: Connect your googlePalmApi credentials in Gemini Chat Engine.
Credential Required: Connect your openAiApi credentials in OpenAI Chat Engine.
Step 3: Configure Sales Alerts and Outreach Composition
Send internal alerts and generate the client email draft based on lead classification and form data.
- In Sales Alert Emailer, set Send To to
{{ $('Intake Form Trigger').item.json['Email Address'] }}. - Set Subject to
POTENTIAL {{ $json.output.lead_classification }} CLIENTand keep the full Message template intact. - Open Outreach Email Composer and keep the Text input mapped to the intake fields, using expressions like
{{ $('Intake Form Trigger').item.json['Spaces Included'] }}. - Ensure Email JSON Parser is attached as the output parser for Outreach Email Composer to return
subjectandemail_body. - Verify execution flow: Lead Routing Switch → Sales Alert Emailer → Outreach Email Composer.
Credential Required: Connect your gmailOAuth2 credentials in Sales Alert Emailer.
Credential Required: Connect your googlePalmApi credentials in Gemini Chat Engine B, which provides the language model for Outreach Email Composer.
Step 4: Map Email Fields and Reviewer Approval Loop
Map the AI-generated email JSON into fields, then send it to a human reviewer via Telegram for approval.
- In Map Email Fields, set Email Subject to
{{ $json.output.subject }}and Email body to{{ $json.output.email_body }}. - Configure Reviewer Approval Step with Chat ID set to
[YOUR_ID]. - Keep the Message template intact, including
{{ $json['Email Subject'] }}and{{ $json['Email body'] }}. - Set Operation to
sendAndWaitand Response Type tofreeText. - Confirm flow: Map Email Fields → Reviewer Approval Step → Approval Decision Gate.
Credential Required: Connect your telegramApi credentials in Reviewer Approval Step.
Step 5: Configure Approval Logic and Revision Loop
Approve the email if the reviewer responds with “Approved,” otherwise route to revision and re-map the email fields.
- In Approval Decision Gate, keep all three conditions checking
{{ $json.data.text }}equalsApproved,APPROVED, orapproved. - Use the “true” branch to send approved messages to Client Email Dispatch.
- Route the “false” branch to Revision Email Agent.
- In Revision Email Agent, keep the Text structure with human notes and original JSON mapping, including
{{ $json.data.text }}and{{ $('Outreach Email Composer').item.json.output.subject }}. - Ensure Revised JSON Parser is connected as the output parser for Revision Email Agent, then route back to Map Email Fields.
Credential Required: Connect your googlePalmApi credentials in Gemini Chat Engine B, which powers Revision Email Agent.
Credential Required: Connect your openAiApi credentials in OpenAI Chat Engine, which also supports Revision Email Agent.
Step 6: Configure Client Email and Notion Logging
Send the approved email to the client and write the lead data to Notion.
- In Client Email Dispatch, set Send To to
{{ $('Intake Form Trigger').item.json['Email Address'] }}. - Set Subject to
{{ $('Map Email Fields').item.json['Email Subject'] }}and Message to{{ $('Map Email Fields').item.json['Email body'] }}. - Configure Notion Lead Record with Resource set to
databasePageand Database ID set to your Notion database (replace[YOUR_ID]). - Map Notion properties using expressions like
{{ $('Intake Form Trigger').item.json['First Name'] }}and{{ $('Lead Scoring Agent').item.json.output.lead_classification }}. - Confirm flow: Client Email Dispatch → Notion Lead Record.
Credential Required: Connect your gmailOAuth2 credentials in Client Email Dispatch.
Credential Required: Connect your notionApi credentials in Notion Lead Record.
Step 7: Test and Activate Your Workflow
Validate the full flow from form submission to approval, client email, and Notion record creation.
- Click Test workflow and submit a sample entry through Intake Form Trigger.
- Verify Lead Scoring Agent produces a JSON output with
lead_classification,confidence, and other fields. - Check that Reviewer Approval Step sends a Telegram message and waits for response.
- Reply with
Approvedto trigger Client Email Dispatch and confirm the email sends successfully. - Confirm a new page appears in Notion via Notion Lead Record with mapped properties filled.
- Once testing passes, switch the workflow to Active for production use.
Common Gotchas
- Notion credentials can expire or need specific permissions. If things break, check your Notion integration access (and database sharing) 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 60–90 minutes if your form fields and accounts are ready.
No. You’ll mostly connect credentials and paste in IDs (like your Telegram chat ID and Notion database ID).
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 Anthropic Claude API costs (roughly $0.05–0.15 per lead for this workflow).
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 a common tweak. You can replace the Notion Lead Record step with HubSpot, Salesforce, or Airtable by swapping that node and mapping the same fields (name, email, budget, classification, confidence). Many teams also customize the scoring prompt so “HOT/WARM/COLD” matches their real thresholds, not the default AED examples.
Most of the time it’s an auth issue: the Gmail node is using a normal password instead of an app password, or OAuth access has been revoked. Check the Gmail credential inside n8n, re-authenticate, then confirm you haven’t hit Gmail daily sending limits. If it fails only on certain leads, look at the mapped “To” field and make sure the email address is valid and not blank.
Practically, a lot. The workflow runs in about 30–45 seconds per lead, so a typical small business pipeline won’t stress it. On n8n Cloud, capacity depends on your plan’s monthly executions; if you self-host, there’s no execution cap (your server resources become the limit). The main constraint is usually your AI API rate limits when you suddenly process a big batch.
For human-approved, multi-branch lead handling like this, n8n is often the cleaner fit because you can build complex routing and revision loops without paying per “path.” Self-hosting is also a big deal if you get a lot of leads. Zapier or Make can still work if you only want a simple “form → draft → send” flow, and you don’t care about deep logic or storing structured lead data. Frankly, the Telegram approval loop is where many simpler builders get awkward. Talk to an automation expert if you want help choosing the right stack.
You get faster replies, cleaner qualification, and a pipeline you can trust. Set it up once, and let the workflow handle the repetitive parts while you focus on the conversations that actually close.
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.