AutomationFlowsSocial Media › Send New YouTube Videos to Telegram

Send New YouTube Videos to Telegram

Original n8n title: Send New Youtube Channel Videos to Telegram

Send New Youtube Channel Videos To Telegram. Uses interval, youTube, telegram. Manual trigger; 5 nodes.

Manual trigger★★★★☆ complexity5 nodesYouTubeTelegram
Social Media Trigger: Manual Nodes: 5 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "position": [
        500,
        510
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "id",
              "value": "={{$node[\"GetVideosYT\"].json[\"id\"][\"videoId\"]}}"
            },
            {
              "name": "url",
              "value": "=https://youtu.be/{{$node[\"GetVideosYT\"].json[\"id\"][\"videoId\"]}}"
            },
            {
              "name": "title",
              "value": "={{$node[\"GetVideosYT\"].json[\"snippet\"][\"title\"]}}"
            }
          ],
          "boolean": []
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Function",
      "type": "n8n-nodes-base.function",
      "position": [
        640,
        510
      ],
      "parameters": {
        "functionCode": "const new_items = [];\nconst data = this.getWorkflowStaticData('node');\n\ndata.ids = data.ids || [];\n\nfor (var i=0; i<items.length; i++) {\n  if (data.ids.includes(items[i].json.id)) {\n    break;\n  } else {\n    new_items.push({json: {id: items[i].json.id, url: items[i].json.url, title: items[i].json.title}});\n  }\n}\n\ndata.ids = items.map(item => item.json.id)\nreturn new_items;\n"
      },
      "typeVersion": 1
    },
    {
      "name": "CheckTime",
      "type": "n8n-nodes-base.interval",
      "position": [
        210,
        510
      ],
      "parameters": {
        "unit": "minutes",
        "interval": 30
      },
      "typeVersion": 1
    },
    {
      "name": "GetVideosYT",
      "type": "n8n-nodes-base.youTube",
      "position": [
        370,
        510
      ],
      "parameters": {
        "limit": 4,
        "filters": {
          "channelId": "UCTe5YtigJdZZ3i-za6IkbGQ"
        },
        "options": {
          "order": "date"
        },
        "resource": "video"
      },
      "credentials": {
        "youTubeOAuth2Api": "<your credential>"
      },
      "typeVersion": 1
    },
    {
      "name": "SendVideo",
      "type": "n8n-nodes-base.telegram",
      "position": [
        790,
        510
      ],
      "parameters": {
        "text": "=Nuovo video di almi su YouTube!\n<b>{{$node[\"Function\"].json[\"title\"]}}</b>\n\n{{$node[\"Function\"].json[\"url\"]}}",
        "chatId": "-1001178002763",
        "additionalFields": {
          "parse_mode": "HTML"
        }
      },
      "credentials": {
        "telegramApi": "<your credential>"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Set": {
      "main": [
        [
          {
            "node": "Function",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Function": {
      "main": [
        [
          {
            "node": "SendVideo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CheckTime": {
      "main": [
        [
          {
            "node": "GetVideosYT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GetVideosYT": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Send New Youtube Channel Videos To Telegram. Uses interval, youTube, telegram. Manual trigger; 5 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More Social Media workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Social Media

A simple node to send new YouTube videos from a channel to a Telegram chat (private, group or channel). CheckTime: set how often videos should be fetched from YouTube. Default is 30 minutes. GetVideos

YouTube, Telegram
Social Media

Youtube:Channel:get getAll update:Playlist:create update getAll get delete:PlaylistItem:add getAll get delete:videoCategory:getAll:Video:rate get upload update delete. Uses start, youTube, httpRequest

Start, YouTube, HTTP Request +1
Social Media

Are you a cord-cutter? Do you find yourself looking through the many titles of videos uploaded to Youtube, just to find the ones you want to watch? Even when you subscribe to the channels you like, do

Google Sheets, HTTP Request, YouTube +1
Social Media

Automated n8n workflow: Receives videos via form, dubs/translates them to the selected languages, and—upon completion—uploads them to multiple social media channels and cloud drives, including Box, Dr

HTTP Request, Telegram, Box +3
Social Media

Track Playlist. Uses start, readBinaryFile, spreadsheetFile, youTube. Manual trigger; 6 nodes.

Start, Read Binary File, Spreadsheet File +1