{
  "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": []
}