8
n8n 中文网amn8n.com

每周创作者竞品创意到Google Sheets(Firecrawl + AI)

高级

这是一个Market Research, Multimodal AI领域的自动化工作流,包含 22 个节点。主要使用 If, Set, Code, Cron, Merge 等节点。 使用GPT4和Gemini监控竞争对手并生成内容创意到Google Sheets

前置要求
  • Telegram Bot Token
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "jVqJ6ApXZLf0Tz1S",
  "meta": {
    "instanceId": "8c8b20afd941aa66690830b5f1f0b9d7a4611a25b0382c8675a2fab2026ff320",
    "templateCredsSetupCompleted": true
  },
  "name": "每周创作者竞品创意到Google Sheets(Firecrawl + AI)",
  "tags": [
    {
      "id": "ijqoFjZVfmHduw14",
      "name": "Content Creation",
      "createdAt": "2025-08-15T19:32:39.780Z",
      "updatedAt": "2025-08-15T19:32:39.780Z"
    }
  ],
  "nodes": [
    {
      "id": "a149649c-c695-4500-8f51-81e64bdbf06c",
      "name": "README – 模板描述",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -32
      ],
      "parameters": {
        "color": "yellow",
        "width": 520,
        "height": 552,
        "content": "## 适用对象"
      },
      "typeVersion": 1
    },
    {
      "id": "95f893f2-809d-40e9-bf46-be5e32bd36fa",
      "name": "提交清单",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        576
      ],
      "parameters": {
        "color": "white",
        "width": 520,
        "height": 260,
        "content": "## 提交清单"
      },
      "typeVersion": 1
    },
    {
      "id": "0abdda3e-3949-4a35-88bd-eba9f3a2f3de",
      "name": "Cron:每周(周日下午5点)",
      "type": "n8n-nodes-base.cron",
      "position": [
        608,
        392
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {}
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8011bf83-bb44-42ad-b80d-585c623bb567",
      "name": "设置:配置(编辑我)",
      "type": "n8n-nodes-base.set",
      "position": [
        832,
        392
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "ownerEmail",
              "value": "owner@example.com"
            },
            {
              "name": "emailTo",
              "value": "owner@example.com"
            },
            {
              "name": "telegramChatId"
            },
            {
              "name": "sheetsSpreadsheetId",
              "value": "YOUR_SHEETS_ID"
            },
            {
              "name": "sheetsRange",
              "value": "Digest!A:F"
            },
            {
              "name": "geminiModel",
              "value": "gemini-1.5-flash"
            },
            {
              "name": "openaiModel",
              "value": "gpt-4o-mini"
            },
            {
              "name": "firecrawlBaseUrl",
              "value": "https://api.firecrawl.dev"
            },
            {
              "name": "competitorUrls",
              "value": "- https://example-1.com/blog\n- https://example-2.com\n- https://example-3.com/articles"
            }
          ],
          "boolean": [
            {
              "name": "sendTelegram"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 2
    },
    {
      "id": "cb3bc91a-bb09-4f3e-a80b-6162ed03141d",
      "name": "代码:构建URL项目",
      "type": "n8n-nodes-base.code",
      "position": [
        1056,
        392
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "56dc4d0e-c874-4b07-95b0-d0ba157d1dce",
      "name": "HTTP:Firecrawl爬取",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Attach Header Auth credential: Authorization: Bearer <FIRECRAWL_KEY>",
      "position": [
        1280,
        392
      ],
      "parameters": {
        "url": "={{$json.firecrawlBaseUrl}}/v1/scrape",
        "options": {}
      },
      "notesInFlow": true,
      "typeVersion": 4
    },
    {
      "id": "fba41f3e-094b-4235-abef-f24c2a79b40d",
      "name": "代码:规范化内容",
      "type": "n8n-nodes-base.code",
      "position": [
        1504,
        344
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "a30fba28-172c-46bb-b3a0-4ceecfb9021c",
      "name": "HTTP:OpenAI摘要",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Attach Header Auth credential: Authorization: Bearer <OPENAI_API_KEY>",
      "position": [
        1728,
        320
      ],
      "parameters": {
        "url": "https://api.openai.com/v1/chat/completions",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {}
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 4
    },
    {
      "id": "29df9e22-8917-47a9-bbed-0085af371803",
      "name": "HTTP:Gemini创意",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Attach API key via credentials (no keys in JSON).",
      "position": [
        1728,
        608
      ],
      "parameters": {
        "url": "https://generativelanguage.googleapis.com/v1beta/models/{{$json.geminiModel}}:generateContent",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {}
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 4
    },
    {
      "id": "3c20d79e-3141-4d0f-b0ca-391d22661bed",
      "name": "代码:提取OpenAI",
      "type": "n8n-nodes-base.code",
      "position": [
        1952,
        272
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "9c54023c-af65-404a-89c7-e6584f708024",
      "name": "代码:提取Gemini",
      "type": "n8n-nodes-base.code",
      "position": [
        1952,
        680
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "2bceb17d-fbe5-497a-856f-5f2bd5aef2d9",
      "name": "合并:摘要 + 创意",
      "type": "n8n-nodes-base.merge",
      "position": [
        2176,
        344
      ],
      "parameters": {
        "mode": "mergeByPosition",
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "edaaea99-84ce-49db-9f16-238862bd1ac8",
      "name": "代码:编译行",
      "type": "n8n-nodes-base.code",
      "position": [
        2400,
        344
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "b4fbe243-8ab9-4661-aa87-3287f5b864a4",
      "name": "Google Sheets:附加",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2624,
        344
      ],
      "parameters": {
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        }
      },
      "typeVersion": 4
    },
    {
      "id": "45f7ac9c-b80a-496c-93cb-95b540c8e477",
      "name": "代码:构建摘要",
      "type": "n8n-nodes-base.code",
      "position": [
        2848,
        344
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "697aeab2-2e06-48e5-9769-497f04417294",
      "name": "电子邮件:发送摘要",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        3072,
        344
      ],
      "webhookId": "f1097491-3676-4812-9733-cd1d117a8406",
      "parameters": {
        "text": "Here are this week’s competitor posts:\\n\\n{{$json.emailBody}}\\n\\n(Full details in your Google Sheet.)",
        "options": {},
        "subject": "Elegant Weekly Competitor Inspo Digest",
        "toEmail": "={{$json.to}}",
        "fromEmail": "={{$json.ownerEmail}}"
      },
      "typeVersion": 2
    },
    {
      "id": "f1dccdcb-48df-4cdb-8776-dc92c5ac33ce",
      "name": "条件判断:启用Telegram?",
      "type": "n8n-nodes-base.if",
      "position": [
        608,
        904
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$json.sendTelegram}}",
              "operation": "is true"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "be937308-4e20-4542-89d1-ffe2dd23dc14",
      "name": "Telegram:通知",
      "type": "n8n-nodes-base.telegram",
      "position": [
        832,
        904
      ],
      "webhookId": "a3a2c215-7a43-4176-9808-85e91c416681",
      "parameters": {
        "text": "✅ Elegant Competitor Digest sent ({{$json.count}} items).",
        "chatId": "={{$json.telegramChatId}}",
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "28295ca0-d671-44b2-887d-7952f6062671",
      "name": "捕获:错误处理",
      "type": "n8n-nodes-base.set",
      "notes": "Receives error outputs from HTTP nodes; forwards to error email.",
      "position": [
        1952,
        488
      ],
      "parameters": {
        "options": {}
      },
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "323f386b-7a0a-4fea-b8a4-8a99c0adb429",
      "name": "格式化:错误载荷",
      "type": "n8n-nodes-base.code",
      "position": [
        2176,
        584
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "fac110f8-23cc-4fd0-b9fa-4ea2bc98a7ec",
      "name": "电子邮件:错误通知",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        2400,
        584
      ],
      "webhookId": "b939b95a-5c15-4e88-a5ee-bf029ad6a39a",
      "parameters": {
        "text": "A workflow error occurred.\\nNode: {{$json.errorNode}}\\nMessage: {{$json.errorMessage}}",
        "options": {},
        "subject": "❗ Competitor Digest – Error in {{$json.errorNode}}",
        "toEmail": "={{$json.to}}",
        "fromEmail": "={{$json.ownerEmail}}"
      },
      "typeVersion": 2
    },
    {
      "id": "e32e2262-6311-454d-932d-03f1c4a2a3df",
      "name": "凭据 – 导入后附加",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -32
      ],
      "parameters": {
        "color": "white",
        "width": 520,
        "height": 320,
        "content": "## 要附加的凭据"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7efa9cec-48e3-414c-b068-5ecb211dd8c1",
  "connections": {
    "Code: Compile Row": {
      "main": [
        [
          {
            "node": "Google Sheets: Append",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Build Digest": {
      "main": [
        [
          {
            "node": "Email: Send Digest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP: Gemini Ideas": {
      "main": [
        [
          {
            "node": "Code: Extract Gemini",
            "type": "main",
            "index": 0
          },
          {
            "node": "Catch: Error Handling",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Extract Gemini": {
      "main": [
        [
          {
            "node": "Merge: Summaries + Ideas",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Code: Extract OpenAI": {
      "main": [
        [
          {
            "node": "Merge: Summaries + Ideas",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Catch: Error Handling": {
      "main": [
        [
          {
            "node": "Format: Error Payload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Build URL Items": {
      "main": [
        [
          {
            "node": "HTTP: Firecrawl Scrape",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format: Error Payload": {
      "main": [
        [
          {
            "node": "Email: Error Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets: Append": {
      "main": [
        [
          {
            "node": "Code: Build Digest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF: Telegram Enabled?": {
      "main": [
        [
          {
            "node": "Telegram: Notify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP: Firecrawl Scrape": {
      "main": [
        [
          {
            "node": "Code: Normalize Content",
            "type": "main",
            "index": 0
          },
          {
            "node": "Catch: Error Handling",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP: OpenAI Summarize": {
      "main": [
        [
          {
            "node": "Code: Extract OpenAI",
            "type": "main",
            "index": 0
          },
          {
            "node": "Catch: Error Handling",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Normalize Content": {
      "main": [
        [
          {
            "node": "HTTP: OpenAI Summarize",
            "type": "main",
            "index": 0
          },
          {
            "node": "HTTP: Gemini Ideas",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cron: Weekly (Sun 5 PM)": {
      "main": [
        [
          {
            "node": "Set: Configuration (edit me)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge: Summaries + Ideas": {
      "main": [
        [
          {
            "node": "Code: Compile Row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set: Configuration (edit me)": {
      "main": [
        [
          {
            "node": "Code: Build URL Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 市场调研, 多模态 AI

需要付费吗?

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

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

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

外部链接
在 n8n.io 查看

分享此工作流