8
n8n 中文网amn8n.com

使用 GPT-4.1 的 Telegram-Google Sheets 自动化

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 16 个节点。主要使用 If, Set, Filter, Telegram, Aggregate 等节点。 使用 GPT-4.1 的 Telegram/Google Sheets 自动化

前置要求
  • Telegram Bot Token
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "40f29e455b10b3ef07629363459d0fa6954887d44ddad18e74a5539a487f2eee",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "df2d582a-6922-40a5-a37f-4e986b59fc20",
      "name": "Fetch Freelancer.com RSS",
      "type": "n8n-nodes-base.rssFeedRead",
      "notes": "🌐 RSS FETCH — Setup\nFetches the latest jobs from Freelancer.com.\n\nCUSTOMIZE URL:\n• ?keyword=wordpress\n• &min_price=500\n• &max_price=5000\n\nExample:\nhttps://www.freelancer.com/rss.xml?keyword=wordpress&min_price=500\n\n💡 Use multiple RSS nodes for multiple keywords.",
      "position": [
        96,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.2
    },
    {
      "id": "d4650966-00dc-4f5f-9cdc-eecb0e8622d1",
      "name": "Filter Job Quality",
      "type": "n8n-nodes-base.filter",
      "notes": "✅ QUALITY FILTER — Customize\nCurrent rules:\n• Description > 100 chars\n• Posted within last 2 hours\n\nOPTIONAL:\n• Budget thresholds (if present in feed)\n• Required/excluded keywords\n\nTIP: Start loose, tighten after 1–2 days.",
      "position": [
        544,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "4efcab46-f278-401e-9161-78eda3c4c5b6",
      "name": "AI Job Analyzer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "notes": "🧠 AI ANALYZER — Setup\nScores the job 1–10, explains reasoning, flags risks, and classifies client type.\n\nTIP: Keep wishlist specific to reduce noise.",
      "position": [
        768,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 2.2
    },
    {
      "id": "3b3698b9-f690-4d8e-981d-ead12a0e3061",
      "name": "结构化输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "notes": "🧩 OUTPUT PARSER — Stability\nForces strict JSON so downstream filters/logging never break.",
      "position": [
        928,
        1008
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.3
    },
    {
      "id": "ec090484-ec95-4880-a441-42a8707af572",
      "name": "AI Proposal Generator",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "✍️ PROPOSAL WRITER — Customize\nEdit \"My Skills\" / \"My Experience\" and drop one relevant portfolio link.\n\n💡 90% done by AI → add 10% personal touch.",
      "position": [
        1344,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.3
    },
    {
      "id": "a97989f9-d7d6-4e79-9f26-802372548099",
      "name": "记录到 Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "📊 JOB LOGGER — Setup\nAppend/Update by Link to avoid duplicates.\n\nRecommended columns: Timestamp | Job | Description | Link | AI Score | Reasoning | Red Flags | Client Type | AI Proposal | Alert Timestamp.",
      "position": [
        1696,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 4.4
    },
    {
      "id": "5770b44f-d639-4852-a80e-469474e23966",
      "name": "发送Telegram提醒",
      "type": "n8n-nodes-base.telegram",
      "notes": "📱 TELEGRAM — Setup\nCreate bot with @BotFather → add token in credentials → DM your bot → get Chat ID via @userinfobot and paste here.\n\nTIP: Add buttons via your own webhook for Skip / Applied.",
      "position": [
        1920,
        704
      ],
      "webhookId": "89db660a-6dd5-482f-bdeb-df44a2508245",
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.2
    },
    {
      "id": "f18bd2e8-d87e-42b8-887a-f7b67fd259c7",
      "name": "Sticky: SETUP START",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -912,
        432
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a12e9052-8c1d-406b-95d1-7addfd5a6b31",
      "name": "Schedule: Every 5 Minutes1",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "⏰ TRIGGER — Schedule\nRuns this workflow every 5 minutes.\n\n✏️ CUSTOMIZE:\n• 3 min = ultra-competitive niches\n• 10–15 min = lower API cost\n\n💡 TIP: Start at 5 min and tune after 1–2 days based on alert volume.",
      "position": [
        -800,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.1
    },
    {
      "id": "8162d357-6dfb-40ad-9623-bb68e2b9eb9a",
      "name": "Settings (Keyword & Wishlist)1",
      "type": "n8n-nodes-base.set",
      "notes": "⚙️ SETTINGS — Setup\nDefine your main keyword and your \"wish list\" criteria.\n\nExamples:\n• Job Keyword: shopify, react, seo\n• Wishlist: \"Budget > $500, clear scope, no vague fixed-price\"\n\n💡 TIP: Clone this node to run multiple keywords in parallel (merge later).",
      "position": [
        -576,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 3.4
    },
    {
      "id": "747c51cd-4009-4593-8b9f-676571342cbf",
      "name": "Load Seen Links (Google Sheets)1",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "📥 DEDUPE SOURCE — Setup\nLoads previously processed links from your tracking sheet.\n\nSETUP:\n• Use the same spreadsheet as the logger\n• Column \"Link\" must exist\n\n🔒 Prevents duplicate alerts.",
      "position": [
        -352,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 4.4,
      "alwaysOutputData": true
    },
    {
      "id": "49826d1a-879b-49df-9cdc-e6dea41b34e4",
      "name": "Collect Seen Links1",
      "type": "n8n-nodes-base.aggregate",
      "notes": "🧮 AGGREGATE — Setup\nBuilds a quick lookup of already seen links for the dedupe filter.",
      "position": [
        -128,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "8482790d-f432-40bc-b7e6-a4184b4e7311",
      "name": "De-duplicate by Link1",
      "type": "n8n-nodes-base.filter",
      "notes": "🚫 DEDUPE — Customize\nOnly pass jobs whose link is not already in your sheet.\n\nTIP: If your source has unstable links, switch to a hash of (title+date).",
      "position": [
        320,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 2.2
    },
    {
      "id": "b19632af-88ae-4e2b-b731-df8b4124545a",
      "name": "LLM (OpenAI)1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "notes": "⚙️ LLM BACKEND — Setup\nUsed by Analyzer & Proposal nodes.\n\nTIP: Use gpt-4o-mini for speed/cost unless you need richer reasoning.",
      "position": [
        800,
        1008
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.2
    },
    {
      "id": "482ded64-e1b3-472c-bb24-20c3fdf7bd93",
      "name": "Gate: Score ≥ ",
      "type": "n8n-nodes-base.if",
      "notes": "🎯 SCORE GATE — Customize\nOnly pass jobs with score ≥ 7.\n\n6 = more alerts, 8 = only premium.",
      "position": [
        1120,
        704
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "d5802bc6-46df-4658-9386-944b92aed5bf",
      "name": "CV (Sheets Tool)1",
      "type": "n8n-nodes-base.googleSheetsTool",
      "notes": "🛠️ SHEETS TOOL — Optional\nFor advanced automations (e.g., pulling portfolio snippets). Safe to disable initially.",
      "position": [
        1424,
        928
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 4.7
    }
  ],
  "pinData": {},
  "connections": {
    "LLM (OpenAI)1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Job Analyzer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "AI Job Analyzer": {
      "main": [
        [
          {
            "node": "Gate: Score ≥ ",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gate: Score ≥ ": {
      "main": [
        [
          {
            "node": "AI Proposal Generator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CV (Sheets Tool)1": {
      "ai_tool": [
        [
          {
            "node": "AI Proposal Generator",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Filter Job Quality": {
      "main": [
        [
          {
            "node": "AI Job Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Collect Seen Links1": {
      "main": [
        [
          {
            "node": "Fetch Freelancer.com RSS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log to Google Sheets": {
      "main": [
        [
          {
            "node": "Send Telegram Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Proposal Generator": {
      "main": [
        [
          {
            "node": "Log to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "De-duplicate by Link1": {
      "main": [
        [
          {
            "node": "Filter Job Quality",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Freelancer.com RSS": {
      "main": [
        [
          {
            "node": "De-duplicate by Link1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Job Analyzer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Schedule: Every 5 Minutes1": {
      "main": [
        [
          {
            "node": "Settings (Keyword & Wishlist)1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Settings (Keyword & Wishlist)1": {
      "main": [
        [
          {
            "node": "Load Seen Links (Google Sheets)1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Load Seen Links (Google Sheets)1": {
      "main": [
        [
          {
            "node": "Collect Seen Links1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 内容创作, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量16
分类2
节点类型14
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Sulieman Said

Sulieman Said

@sulieman-said

👋 Hi, I’m Sulieman – Founder of aufCopilot.de . I build custom n8n workflows, automations & AI integrations to help businesses save time and scale smarter. I share templates, answer questions and love exploring creative use cases – from lead generation to data workflows and AI-powered automations. 🚀 Always happy to connect, learn and contribute to the community. Although my profile is in English, I am a native German speaker and happy to work in both German and English projects.

外部链接
在 n8n.io 查看

分享此工作流