Skip to main content

Create and publish LinkedIn posts from URLs with Telegram, Gemini, and Google Sheets

Workflow preview

Workflow preview
100%
Create and publish LinkedIn posts from URLs with Telegram, Gemini, and Google Sheets preview
Open on n8n.io

1. Workflow Overview

Quick overview This workflow uses Telegram to collect or queue article URLs from Google Sheets, then scrapes the page and uses Google Gemini (with Groq fallback) to generate and quality check a Lin...

Best for

  • Content Creation automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.code, n8n-nodes-base.googlesheets, n8n-nodes-base.if, n8n-nodes-base.telegram, @n8n/n8n-nodes-langchain.agent, @n8n/n8n-nodes-langchain.agenttool, n8n-nodes-base.linkedin, n8n-nodes-base.telegramtrigger

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Siddharth Gupta.

Original n8n.io source

1.1 Workflow description

Title
Create and publish LinkedIn posts from URLs with Telegram, Gemini, and Google Sheets
Workflow name
Create and publish LinkedIn posts from URLs with Telegram, Gemini, and Google Sheets

Quick overview

This workflow uses Telegram to collect or queue article URLs from Google Sheets, then scrapes the page and uses Google Gemini (with Groq fallback) to generate and quality-check a LinkedIn post draft, requests approval in Telegram, publishes via LinkedIn, and updates publishing status in Google Sheets.

How it works

  1. Receives Telegram messages and button callbacks, then shows a start menu to choose between using an unpublished URL from Google Sheets, providing your own URL, or adding a new URL to the sheet.
  2. If you add a new URL, it collects the URL via a Telegram form, validates the URL format, checks Google Sheets for duplicates, and appends the URL with a “Published = No” status.
  3. If you pick an unpublished URL from Google Sheets, it fetches the first row where “Published = No” and asks in Telegram whether to proceed or skip.
  4. When proceeding with either a queued URL or your own URL, it scrapes the webpage content via HTTP and uses Google Gemini (with a Groq fallback model) to generate a LinkedIn post draft.
  5. It runs the draft through a QC audit agent (using Google Gemini with Groq fallback) and stops with an error message in Telegram if the output fails validation.
  6. It sends the cleaned draft to Telegram for approval or rejection within a time limit.
  7. If approved, it publishes the post to LinkedIn as an organization update, then marks the URL as published in Google Sheets (and logs new URLs to a separate tab) and sends the LinkedIn post link back in Telegram.

Setup

  1. Connect Telegram Bot credentials, publish the Telegram trigger webhook, and start the bot so you can receive messages and inline-button callbacks.
  2. Connect Google Sheets OAuth2 credentials and update the spreadsheet ID, sheet/tab names, and columns so they include at least “URLs”, “Published”, and (optionally) “Date Published”.
  3. Connect LinkedIn OAuth2 credentials and set the correct organization ID to publish posts as.
  4. Add Google Gemini (PaLM) API credentials for the primary writing/QC models and Groq API credentials for the fallback models.
  5. Review and adjust the Telegram chat/user access checks and any hard-coded IDs, plus the approval timeouts and timezone used for the “Date Published” timestamp.

Requirements

  • Obtain a Telegram bot account and API token.
  • Secure a Google Sheets account with editing permissions.
  • Register an AI language model API provider account.

Customization

  • Modify the AI prompt instructions to enforce specific output parameters.
  • Add an additional Google Sheets node to log the generated text alongside the source URL.
  • Change the Telegram output node to route the draft to a designated group channel.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Check URL Validity

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 2 - Fetch Sheet Record

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 3 - Evaluate Text Input

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 4 - Alert Invalid Text

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 5 - Verify URL Presence

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 6 - Verify Sheet Record

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 7 - Insert Sheet Record

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 8 - Check Start Command

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 9 - Fetch Unpublished Records

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 10 - Request URL Input

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 11 - Validate URL Format

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Check Record Existence

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 13 - Evaluate User Approval

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 14 - Confirm Execution Skipped

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 15 - Generate LinkedIn Draft

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 3.1

Block 16 - Audit Draft Compliance

Type / Role
@n8n/n8n-nodes-langchain.agentTool - agentTool
Config choices
Version 3

Block 17 - Request Publication Approval

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 18 - Evaluate Publish Decision

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 19 - Publish LinkedIn Post

Type / Role
n8n-nodes-base.linkedIn - linkedIn
Config choices
Version 1

Block 20 - Generate Direct LinkedIn Draft

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 3.1

Block 21 - Audit Direct Draft

Type / Role
@n8n/n8n-nodes-langchain.agentTool - agentTool
Config choices
Version 3

Block 22 - Publish Direct LinkedIn Post

Type / Role
n8n-nodes-base.linkedIn - linkedIn
Config choices
Version 1

Block 23 - Alert QC Failure

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 24 - Confirm Publish Rejection

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Showing the first 24 of 69 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Create and publish LinkedIn posts from URLs with Telegram, Gemini, and Google Sheets
Complexity advanced
Nodes 69
Categories Content Creation, Multimodal AI
Author Siddharth Gupta
Published 23 May 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15926/15926.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Create and publish LinkedIn posts from URLs with Telegram, Gemini, and Google Sheets do?

Quick overview This workflow uses Telegram to collect or queue article URLs from Google Sheets, then scrapes the page and uses Google Gemini (with Groq fallback) to generate and quality check a Lin...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Content Creation, Multimodal AI use case.