Export Telegram channel posts to Google Sheets with Apify
Quick overview This workflow runs manually or daily at 09:00 to scrape public Telegram channel posts using Apify and upsert them into Google Sheets as one clean row per post, including links, timestamps, and engagement metrics.
How it works Runs manually or on a daily schedule at 09:00. Reads the list of public Telegram channel handles and the maximum post limits per channel and per run. Validates and normalizes the channel handles, then builds one batch input for FetchCat Telegram Channel Posts Scraper. Starts the Apify Actor run and waits for it to finish, then downloads the resulting dataset items. Deduplicates posts and formats each item into spreadsheet-ready fields such as hyperlinks, dates, subscriber counts, and engagement metrics. Appends or updates rows in Google Sheets using a stable “Post key” so reruns refresh existing posts instead of creating duplicates.
Setup Add FetchCat Telegram Channel Posts Scraper to your Apify account and create an API token. In n8n, create an HTTP Header Auth credential with header Authorization and value Bearer YOUR_APIFY_TOKEN, then select it in both Apify HTTP Request steps. Make a copy of the Telegram Posts spreadsheet template. Connect Google Sheets OAuth2 in n8n, select your copied spreadsheet and its Telegram Posts tab in the final Sheets node, and keep the tab name and row-one headers unchanged. Replace the example public channel handles and choose Maximum Posts Per Channel and Maximum Posts Per Run. Run manually first, verify that links and date-time values work in your copied sheet, then publish the workflow only when you want the daily 09:00 schedule to start.
Requirements n8n Cloud or self-hosted n8n; an Apify account with FetchCat Telegram Channel Posts Scraper; an Apify API token; Google Sheets OAuth2 access; public Telegram channel handles; and your own copy of the Telegram Posts spreadsheet.
Customization Change the public channel handles, Maximum Posts Per Channel (1-100), Maximum Posts Per Run (1-500), daily schedule time, destination spreadsheet, or mapped output columns. Defaults are 10 posts per channel, 20 posts per run, and one run daily at 09:00.
Additional info Make your own copy of the Telegram Posts spreadsheet template before running the workflow. Rows are updated by a stable channel-and-post key, so reruns refresh public metrics without creating duplicates. The workflow uses FetchCat Telegram Channel Posts Scraper, requires no OpenAI model, and reads public content only; it never joins channels, sends messages, or accesses private posts. Low result limits can miss posts published between runs, and Telegram may omit some counters. At the pricing used when this template was prepared, 20 posts once daily cost about USD 0.18 per month and hourly runs about USD 4.21; verify current Actor and n8n pricing before activation.
Related Templates
Send structured logs to BetterStack from any workflow using HTTP Request
Send structured logs to BetterStack from any workflow using HTTP Request Who is this for? This workflow is perfect for...
Verify Linkedin Company Page by Domain with Airtop
Automating LinkedIn Company URL Verification Use Case This automation verifies that a given LinkedIn URL actually belo...
Create a Speech-to-Text API with OpenAI GPT4o-mini Transcribe
Description This template provides a simple and powerful backend for adding speech-to-text capabilities to any applicat...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments