AutomationFlowsAI & RAG › Telegram Intelligence Agent — Daily Digest

Telegram Intelligence Agent — Daily Digest

Telegram Intelligence Agent — Daily Digest. Uses dataTable, telegram. Scheduled trigger; 6 nodes.

Cron / scheduled trigger★★★★☆ complexity6 nodesData TableTelegram
AI & RAG Trigger: Cron / scheduled Nodes: 6 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
{
  "name": "Telegram Intelligence Agent \u2014 Daily Digest",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "days",
              "daysInterval": 1,
              "triggerAtHour": 8
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -800,
        0
      ],
      "id": "00000000-0000-4000-8000-000000003001",
      "name": "Daily at 08:00"
    },
    {
      "parameters": {
        "resource": "row",
        "operation": "get",
        "dataTableId": {
          "__rl": true,
          "value": "subscriptions",
          "mode": "name"
        },
        "matchType": "allConditions",
        "filters": {
          "conditions": [
            {
              "keyName": "status",
              "condition": "eq",
              "keyValue": "active"
            }
          ]
        },
        "returnAll": true
      },
      "type": "n8n-nodes-base.dataTable",
      "typeVersion": 1.1,
      "position": [
        -560,
        0
      ],
      "id": "00000000-0000-4000-8000-000000003002",
      "name": "Get Active Subscriptions"
    },
    {
      "parameters": {
        "resource": "row",
        "operation": "get",
        "dataTableId": {
          "__rl": true,
          "value": "messages",
          "mode": "name"
        },
        "matchType": "allConditions",
        "filters": {
          "conditions": [
            {
              "keyName": "channel_username",
              "condition": "eq",
              "keyValue": "={{ $json.channel_username }}"
            }
          ]
        },
        "returnAll": true,
        "orderBy": true,
        "orderByColumn": "published_at",
        "orderByDirection": "DESC"
      },
      "type": "n8n-nodes-base.dataTable",
      "typeVersion": 1.1,
      "position": [
        -320,
        0
      ],
      "id": "00000000-0000-4000-8000-000000003003",
      "name": "Get Subscription Messages",
      "alwaysOutputData": true
    },
    {
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "const sub=$('Get Active Subscriptions').item.json; return {json:{...$json,chat_id:String(sub.chat_id),sub_channel:sub.channel_username}};"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -80,
        0
      ],
      "id": "00000000-0000-4000-8000-000000003004",
      "name": "Attach Subscriber"
    },
    {
      "parameters": {
        "jsCode": "const cutoff=Date.now()-24*3600000;const groups={};for(const i of $input.all()){const x=i.json;(groups[x.chat_id]||=[]).push(x);}const out=[];for(const [chat_id,rows0] of Object.entries(groups)){const rows=rows0.filter(r=>r.message_id&&new Date(r.published_at).getTime()>=cutoff).sort((a,b)=>Number(b.importance_score||0)-Number(a.importance_score||0)).slice(0,10);const reply=rows.length?'Daily digest\\n\\n'+rows.map(r=>'- ['+(r.topic||'General')+'] '+(r.summary||r.text||'[Post without text]').slice(0,250)+'\\n'+r.message_url).join('\\n\\n'):'No new posts were stored for your channels in the last 24 hours.';out.push({json:{chat_id,reply}});}return out;"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        160,
        0
      ],
      "id": "00000000-0000-4000-8000-000000003005",
      "name": "Build Daily Digests"
    },
    {
      "parameters": {
        "resource": "message",
        "operation": "sendMessage",
        "chatId": "={{ $json.chat_id }}",
        "text": "={{ String($json.reply || \"Internal error\").slice(0, 4000) }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        400,
        0
      ],
      "id": "00000000-0000-4000-8000-000000003006",
      "name": "Send Daily Digest",
      "onError": "continueRegularOutput"
    }
  ],
  "connections": {
    "Daily at 08:00": {
      "main": [
        [
          {
            "node": "Get Active Subscriptions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Active Subscriptions": {
      "main": [
        [
          {
            "node": "Get Subscription Messages",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Subscription Messages": {
      "main": [
        [
          {
            "node": "Attach Subscriber",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Attach Subscriber": {
      "main": [
        [
          {
            "node": "Build Daily Digests",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Daily Digests": {
      "main": [
        [
          {
            "node": "Send Daily Digest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "timezone": "Asia/Tehran",
    "saveDataErrorExecution": "all",
    "saveDataSuccessExecution": "none"
  },
  "versionId": "00000000-0000-4000-8000-000000003007",
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": []
}
Pro

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

About this workflow

Telegram Intelligence Agent — Daily Digest. Uses dataTable, telegram. Scheduled trigger; 6 nodes.

Source: https://github.com/amir-9473/telegram-intelligence-agent/blob/main/n8n/workflows/04_daily_digest.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

Telegram Intelligence Agent — AI Enrichment and Alerts. Uses dataTable, httpRequest, telegram. Scheduled trigger; 13 nodes.

Data Table, HTTP Request, Telegram
AI & RAG

Telegram Intelligence Agent — Channel Collector. Uses dataTable, httpRequest, telegram. Scheduled trigger; 12 nodes.

Data Table, HTTP Request, Telegram
AI & RAG

Staying up to date with fast-moving topics like AI, machine learning, or your specific industry can be overwhelming. You either drown in daily noise or miss important developments between weekly diges

HTTP Request, Data Table, OpenAI Chat +5
AI & RAG

Workflow Name: Geopolitics Breaking News Alert System Author: Devjothi Dutta Category: Productivity, News & Media, AI/Machine Learning Complexity: Medium Setup Time: 45-60 minutes

RSS Feed Read, Telegram, Agent +4
AI & RAG

Tags: EU News, RSS, AI Classifier, Data Table, Email Digest, Automation, n8n

RSS Feed Read, Gmail, Data Table +5