🔓 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 21, 2026

Telegram to Google Sheets, business cards captured

Lisa Granqvist Partner Workflow Automation Expert

You get back from an event with a pocket full of business cards. Then Monday hits. Cards go missing, handwriting is questionable, and the “I’ll add them later” pile quietly turns into lost revenue. Telegram Sheets leads automation fixes that mess.

Founders feel it when follow-up slips a few days. Marketing managers hate the spreadsheet copy-paste. And if you run sales for a small team, you’ve probably chased “that person from the booth” more than once. This workflow turns a photo into a clean lead row, plus a ready-to-send follow-up message.

You’ll see how the automation captures the card via Telegram, extracts the details with OCR, uses AI to structure and qualify the lead, then logs everything to Google Sheets (and even drafts email copy).

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Telegram to Google Sheets, business cards captured

The Problem: Business cards die in the follow-up gap

Capturing leads at events should be the easy part. The painful part is what happens after. You have cards in your bag, photos in your camera roll, and half-remembered conversations in your head. By the time you finally sit down to type everything into Google Sheets (or a CRM), you’re guessing at job titles, mistyping emails, and losing context like “they asked about pricing” or “they’re evaluating vendors next month.” That’s where good leads quietly go stale.

It adds up fast. And it’s not just time, it’s accuracy and speed.

  • Manual entry turns into about 5 minutes per card, and that’s on a good day.
  • One wrong character in an email address can kill the entire follow-up thread.
  • Teams forget the “why” behind the lead because notes live nowhere consistent.
  • Even when you do log the lead, writing a decent first message takes longer than it should.

The Solution: Telegram photo → AI-extracted lead → Google Sheets log

This workflow starts with something you already do: you take a photo of a business card. Instead of letting that photo disappear into your phone, you send it to a Telegram bot. n8n grabs the image, converts it into a format the OCR service can read, and sends it to Google Vision to pull out the raw text. Then an AI agent (using an OpenAI chat model) turns that messy text into structured fields like name, company, role, email, and phone. It also infers a bit of context and drafts follow-up messaging, so you don’t stare at a blank email later. Finally, the lead is appended to Google Sheets and, when an email address is present, the workflow can generate email copy via Gmail.

The workflow begins when Telegram receives the card photo. OCR extracts the text, AI cleans and qualifies it, then Google Sheets becomes your single source of truth. If the lead has an email, you also get follow-up copy ready to send.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you come home with 20 business cards from a meetup. If you type them into a sheet at roughly 5 minutes each, that’s about 100 minutes, plus time rewriting emails when you spot typos. With this workflow, you forward 20 photos to Telegram in maybe 20 minutes total, then let OCR + AI process them in the background. You end up with a populated Google Sheet and draft outreach text, without sacrificing your evening.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Telegram Bot for sending business card photos.
  • Google Cloud Vision API to OCR the card image.
  • OpenAI API key (get it from the OpenAI API dashboard).

Skill level: Intermediate. You’ll be pasting API keys, testing a couple runs, and matching fields to your Google Sheet columns.

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

How It Works

Telegram photo intake. You send a business card photo to your Telegram bot, which triggers the workflow immediately. No app switching, no “upload later” step.

Image and text extraction. n8n encodes the image and sends it to Google Vision via an HTTP request. The response comes back as raw extracted text, which is useful, but messy.

AI turns text into a lead. The AI agent and OpenAI chat model interpret the OCR output, pull out name/company/role/email/phone, and generate outreach guidance like a suggested next step and a draft message. Honestly, this is the part that saves the most mental energy.

Sheets logging and optional email copy. If the workflow detects an email address, it appends the structured data to Google Sheets and prepares a Gmail draft/output so you can follow up quickly. If there’s no email, it still logs what it can, so the lead doesn’t vanish.

You can easily modify the Google Sheets columns to match your CRM-style fields based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Telegram Trigger

Set up the entry point so Telegram messages with images can be received and downloaded.

  1. Add and open Telegram Intake Trigger.
  2. Set Updates to message.
  3. Enable Download in Additional Fields so images are captured as binary.
  4. Credential Required: Connect your Telegram credentials (required for Telegram Intake Trigger).

Tip: Send a test message with an image attachment to confirm binary data is included in the trigger output.

Step 2: Prepare Image Data and Call Vision API

Convert the incoming image to Base64 and send it to Google Vision for OCR.

  1. In Encode Image as Base64, keep the provided JavaScript Code as-is to set items[0].json.base64.
  2. Open Vision API Request and set URL to https://vision.googleapis.com/v1/images:annotate?key=[CONFIGURE_YOUR_API_KEY].
  3. Set Method to POST and JSON Body to the expression: ={ "requests": [ { "image": { "content": "{{ $json.base64 }}" }, "features": [ { "type": "TEXT_DETECTION" } ] } ] }.
  4. Set JSON Headers to { "Content-Type": "application/json" }.

⚠️ Common Pitfall: The Vision API call requires a valid API key in the URL. Replace [CONFIGURE_YOUR_API_KEY] before testing.

Step 3: Extract OCR Text and Configure AI Planning

Transform the OCR output and generate structured outreach content using the AI agent.

  1. In Parse OCR Text, keep the JavaScript that maps OCR to raw_text.
  2. Open AI Outreach Planner and confirm the Text prompt includes {{ $json.raw_text }} and {{ $('Telegram Intake Trigger').item.json.message.caption }}.
  3. Replace the placeholders in the prompt (e.g., [YOUR_NAME], [YOUR_EMAIL]) with your real details.
  4. Ensure OpenAI Chat Engine is connected as the language model for AI Outreach Planner.
  5. Credential Required: Connect your OpenAI credentials in OpenAI Chat Engine (credentials are added on the parent model node, not the agent node).

Tip: Keep the prompt’s JSON schema unchanged to avoid parsing errors in downstream steps.

Step 4: Normalize AI Output and Check Email Presence

Clean the AI response into a stable JSON structure and verify an email exists before saving.

  1. In Normalize AI Output, keep the JavaScript code that parses and normalizes the AI JSON.
  2. Open Email Presence Check and set the condition Left Value to ={{ $json.emails[0] }} with the notEmpty operator.
  3. Verify the execution flow: AI Outreach PlannerNormalize AI OutputEmail Presence Check.

⚠️ Common Pitfall: If the AI returns non-JSON output, Normalize AI Output will throw an error. Ensure the prompt demands strict JSON.

Step 5: Connect Google Sheets and Append Lead Data

Store structured lead information in a spreadsheet before sending the email copy.

  1. Open Append to Spreadsheet and set Operation to append.
  2. Set Document ID to [YOUR_ID] and Sheet Name to gid=0.
  3. Confirm column mappings use expressions such as ={{ $json.name }}, ={{ $json.emails[0] }}, ={{ $json.htmlBody }}, and ={{ $json.subject }}.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials in Append to Spreadsheet.

Tip: Ensure your Google Sheet has matching column headers like “Email Body”, “Email Subject”, and “Next Actions” to prevent mapping errors.

Step 6: Configure Email Dispatch

Send the generated email copy to your internal address for review or follow-up.

  1. Open Dispatch Email Copy and set Send To to =[YOUR_EMAIL].
  2. Set Subject to ={{ $json['Email Subject'] }}.
  3. Set Message to ={{ $json['Email Body'] }}.
  4. Credential Required: Connect your Gmail credentials in Dispatch Email Copy.

Step 7: Test and Activate Your Workflow

Run a full test to confirm OCR, AI processing, data storage, and email dispatch are working end-to-end.

  1. Click Execute Workflow and send a Telegram message with a business card image and caption.
  2. Verify that Vision API Request returns OCR text and AI Outreach Planner produces JSON output.
  3. Confirm a new row is appended in Append to Spreadsheet with fields like Email Body and Email Subject.
  4. Check your inbox for the email sent by Dispatch Email Copy.
  5. Toggle the workflow to Active to run it in production.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Cloud Vision credentials can expire or have billing/permission restrictions. If OCR suddenly fails, check your Google Cloud API key settings and project billing 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

How long does it take to set up this Telegram Sheets leads automation?

About 30 minutes once you have your API keys.

Do I need coding skills to automate Telegram Sheets leads capture?

No. You’ll connect Telegram, Google, and OpenAI, then map a few fields into your sheet.

Is n8n free to use for this Telegram Sheets leads 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 Google Vision OCR charges and OpenAI API usage (often just a few cents per lead).

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 Telegram Sheets leads workflow for HubSpot instead of Google Sheets?

Yes, but you’ll swap the “Append to Spreadsheet” step for a HubSpot (or CRM) create-contact step. Many people also tweak the “Normalize AI Output” code so the field names match their CRM properties. Common customizations include writing the AI fit score into a lead status, tagging the event name, and saving the WhatsApp draft in a notes field.

Why is my Google Sheets connection failing in this workflow?

Usually it’s an expired Google authorization or the sheet permissions changed. Reconnect the Google Sheets credential in n8n and confirm the target spreadsheet is shared with the same Google account. Also check that your sheet columns still match what the workflow is trying to append, because renamed headers can cause silent mapping failures.

How many leads can this Telegram Sheets leads automation handle?

A lot.

Is this Telegram Sheets leads automation better than using Zapier or Make?

It depends on what you value. Zapier and Make can be quicker for basic “photo in, row out” zaps, but OCR + AI parsing often gets awkward once you need branching, retries, and data cleanup. n8n is strong when you want control over the logic, and self-hosting is a big deal if you’re processing many cards after a conference. Also, this workflow already includes the qualification and message drafting layer, not just a spreadsheet write. If you want help picking the right stack, Talk to an automation expert.

Set it up once, then treat every business card like it matters, because it does. Your sheet stays clean, your follow-ups go out faster, and the “lost leads” problem stops being a thing.

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