8
n8n 한국어amn8n.com

Firecrawl AI 기반의 시장 정보 로봇: 자동화된 뉴스 통찰 제공

중급

이것은Market Research, Multimodal AI분야의자동화 워크플로우로, 12개의 노드를 포함합니다.주로 Code, Wait, Slack, HttpRequest, Agent 등의 노드를 사용하며. OpenAI를 사용하여 TechCrunch의 AI 뉴스를 필터링하고 Slack에 요약합니다.

사전 요구사항
  • Slack Bot Token 또는 Webhook URL
  • 대상 API의 인증 정보가 필요할 수 있음
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "Ut6jbfsK7IvhGJVL",
  "meta": {
    "instanceId": "87e85f497d2a9f18665002b06f3ba96bde7b80557a792319a7373c9549c8959f",
    "templateId": "4588",
    "templateCredsSetupCompleted": true
  },
  "name": "Firecrawl AI-Powered Market Intelligence Bot: Automated News Insights Delivery",
  "tags": [],
  "nodes": [
    {
      "id": "471044c1-cafd-4810-973d-b40c74ef6999",
      "name": "일일 시장 조사 트리거",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        2512,
        784
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 8
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8f6e97b6-6910-4c6b-8c9a-29a0cf95ac09",
      "name": "TechCrunch 크롤링 (FireCrawl)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2704,
        784
      ],
      "parameters": {
        "url": "https://api.firecrawl.dev/v1/crawl",
        "method": "POST",
        "options": {},
        "jsonBody": "{\n  \"url\": \"https://techcrunch.com\",\n  \"limit\": 20,\n  \"includePaths\": [\"2025/\"],\n  \"scrapeOptions\": {\n    \"formats\": [\"markdown\"],\n    \"onlyMainContent\": true,\n    \"parsePDF\": true,\n    \"maxAge\": 14400000\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "a326e8fd-bfc8-4380-9c66-20481aaa8a6c",
      "name": "요약 에이전트",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3328,
        784
      ],
      "parameters": {
        "text": "=You are an AI research assistant. First, determine if this article is related to artificial intelligence, machine learning, AI companies, or AI technology.\n\nIf the article IS AI-related, provide a summary in 3 bullet points.\nIf the article is NOT AI-related, respond with exactly: \"NOT_AI_RELATED\"\n\nArticle details:\nTitle: {{ $json.title }}\nDescription: {{ $json.description }}\nContent: {{ $json.content }}\n\nFormat for AI articles:\n{{ $json.title }}\n\nSummary:\n- [Bullet point 1]\n- [Bullet point 2] \n- [Bullet point 3]\n\nLink: {{ $json.url }}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "d8576228-6261-4654-84de-0864e398c22d",
      "name": "OpenAI 요약",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3328,
        1008
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "byfe88CyXUHFOXUZ",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f5965b4a-4ab1-4e5f-868c-2dc11c59fc28",
      "name": "Slack로 요약 전송",
      "type": "n8n-nodes-base.slack",
      "position": [
        3792,
        784
      ],
      "webhookId": "c2e00b18-42bd-49b7-bc4c-05d60633a7c8",
      "parameters": {
        "text": "=🔍 AI Research Summary:\n{{ $json.output }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#general"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "executeOnce": false,
      "typeVersion": 2.3
    },
    {
      "id": "fb908a45-0faf-4068-9420-8046ab4a8d36",
      "name": "대기",
      "type": "n8n-nodes-base.wait",
      "position": [
        2880,
        784
      ],
      "webhookId": "b210f38a-da89-4bc5-a1e6-c80f9b89a426",
      "parameters": {
        "amount": 60
      },
      "typeVersion": 1.1
    },
    {
      "id": "a89a5bc1-5f76-40b5-aca3-adc380fd4c0d",
      "name": "Firecrawl 결과 수신",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3024,
        784
      ],
      "parameters": {
        "url": "=https://api.firecrawl.dev/v1/crawl/{{$json.id}}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth"
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "U4MsswmPveLVhYYR",
          "name": "Bearer Auth account 4"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "5ddeaef9-cd9d-4f55-b82d-1edfce6429df",
      "name": "출력 분할",
      "type": "n8n-nodes-base.code",
      "position": [
        3184,
        784
      ],
      "parameters": {
        "jsCode": "// Split crawled articles into individual items for processing\nif (!$json.data || $json.data.length === 0) {\n  console.log(\"No data available\");\n  return [];\n}\n\nconsole.log(`Processing ${$json.data.length} articles individually`);\n\n// Return each article as a separate n8n item\nreturn $json.data.map(article => ({\n  json: {\n    title: article.metadata?.title || 'No title',\n    url: article.sourceURL || '',\n    content: (article.markdown || article.content || '').substring(0, 1000),\n    description: article.metadata?.description || '',\n    publishDate: article.metadata?.publishDate || ''\n  }\n}));"
      },
      "typeVersion": 2
    },
    {
      "id": "c8cc970e-313e-45c9-bad5-9dd32ccbfee3",
      "name": "메시지 필터링",
      "type": "n8n-nodes-base.code",
      "position": [
        3616,
        784
      ],
      "parameters": {
        "jsCode": "// Process all items at once and filter out NOT_AI_RELATED\nconst filteredItems = [];\n\n$input.all().forEach(item => {\n  if (item.json.output && item.json.output.trim() !== 'NOT_AI_RELATED') {\n    filteredItems.push(item);\n  } else {\n    console.log('Filtered out non-AI article');\n  }\n});\n\nconsole.log(`Passing ${filteredItems.length} AI articles to Slack`);\nreturn filteredItems;"
      },
      "typeVersion": 2
    },
    {
      "id": "51e047ef-791d-46cd-abcd-98c2b55104cd",
      "name": "스티커 메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2512,
        -384
      ],
      "parameters": {
        "width": 944,
        "height": 1056,
        "content": "# AI-Powered Market Intelligence Bot\n\n## Overview\nThis n8n workflow automatically monitors TechCrunch for AI-related articles, using Firecrawl's AI-powered web scraping to extract clean, structured data and OpenAI to generate actionable summaries delivered directly to your team's Slack channel.\n\n## 🚀 1. Trigger & Scheduling\n\n### Daily Method Research Trigger\n- Initiates automated TechCrunch monitoring on a scheduled basis\n- Default: Daily execution to capture fresh AI industry news and trends\n- Configurable for different frequencies based on market velocity\n- Ensures consistent intelligence gathering without manual intervention\n\n## 🔍 2. Web Scraping & Data Collection\n\n### Firecrawl Integration (HTTP Request Node)\n- Targets TechCrunch specifically: `https://techcrunch.com` (though, can obviously be changed)\n- Crawls a specificed amount of articles with `\"limit\" -- by default this is set to 20, otherwise it would keep scraping. You can remove this limit to scrape all. \n- Focuses on current year content with `\"includePaths\": [\"2025/\"]` In 2026, you'll need to update this.\n- Extracts markdown format for clean, structured content\n- Uses `\"onlyMainContent\": true` to avoid ads and navigation clutter\n- Built-in anti-bot detection bypass and automatic JavaScript rendering\n\n### Code Text/Concat Processing\n- Filters scraped TechCrunch articles for AI relevance\n- AI research assistant determines if articles relate to artificial intelligence, machine learning, AI companies, or AI technology\n- Automatically excludes non-AI content with \"NOT_AI_RELATED\" filtering\n- Processes article titles, descriptions, and full content for comprehensive analysis\n\n## ⏱️ 3. Processing Flow Control\n\n### Wait Node\n- Implements controlled delays to respect TechCrunch's server resources\n- Enough time to receive results back"
      },
      "typeVersion": 1
    },
    {
      "id": "92923278-85b3-4def-a7e2-8967e55f9004",
      "name": "스티커 메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4384,
        -352
      ],
      "parameters": {
        "color": 4,
        "width": 1200,
        "height": 1184,
        "content": "## 🔧 Configuration & Customization\n\n### TechCrunch Scraping Setup\n- Configured to crawl `https://techcrunch.com` with 20 article limit\n- Focuses on current year content with date path filtering\n- Markdown extraction for clean, readable content processing\n- 4-hour cache setting (`\"maxAge\": 14400000`) for efficiency\n\n### AI Relevance Detection\n- Built-in AI research assistant determines article relevance\n- Filters specifically for artificial intelligence, machine learning, AI companies, and AI technology\n- Binary classification: AI-related articles get summarized, others get filtered out\n- Reduces noise by focusing only on AI industry developments\n\n### Slack Integration\n- TechCrunch-specific formatting with source attribution\n- AI-focused message structure with bullet point summaries\n- Integration with Slack threads for AI trend discussions\n- Notification preferences for AI industry updates\n\n## 💡 Best Practices\n\n1. **Monitor TechCrunch Coverage**: Track how much AI content TechCrunch publishes daily\n2. **AI Relevance Accuracy**: Review filtered articles to ensure important AI stories aren't missed\n3. **Summary Quality**: Periodically check that 3-bullet summaries capture key AI insights\n4. **Team Engagement**: Use Slack reactions to identify most valuable AI trends\n5. **Source Verification**: Always include TechCrunch links for fact-checking and deeper reading\n\n## 🔄 Maintenance & Monitoring\n\n- **TechCrunch Access**: Monitor Firecrawl success rates for TechCrunch crawling\n- **AI Classification**: Track accuracy of AI relevance detection\n- **Content Freshness**: Ensure date filtering captures latest AI articles\n- **Delivery Success**: Confirm AI summaries reach Slack channels consistently\n- **Cost Management**: Monitor OpenAI usage for TechCrunch article processing\n\n## 🎯 Business Impact\n\nThis workflow transforms AI market intelligence from manual TechCrunch reading into an automated pipeline that delivers:\n\n- **Daily AI-focused insights** from TechCrunch without manual browsing\n- **Filtered relevance** ensuring only AI industry news reaches your team\n- **Structured summaries** optimized for quick consumption of AI trends\n- **Team awareness** of AI developments through integrated Slack discussions\n- **Source credibility** with direct links to TechCrunch articles\n\nPerfect for AI product teams, tech investors, and executives who need to stay current on artificial intelligence developments without spending time manually browsing TechCrunch."
      },
      "typeVersion": 1
    },
    {
      "id": "52f22863-78b7-4f12-9d92-5cfe81b4c8c9",
      "name": "스티커 메모2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3600,
        -352
      ],
      "parameters": {
        "color": 5,
        "width": 736,
        "height": 1056,
        "content": "## 🤖 4. AI-Powered Analysis & Summarization\n\n### OpenAI Summarizer (AI Agent)\n- Uses GPT-4o-mini for cost-effective, high-quality analysis\n- AI research assistant prompt determines AI relevance before summarizing\n- For AI-related articles: generates 3 bullet point summaries\n- For non-AI articles: responds with \"NOT_AI_RELATED\" to filter out\n- Processes TechCrunch article title, description, and full content\n- Maintains source attribution with original TechCrunch URLs\n\n### Split Output Processing\n- Distributes processed TechCrunch articles across parallel analysis streams\n- Enables simultaneous processing of multiple articles\n- Optimizes workflow performance for large news batches\n- Maintains data integrity during multi-path processing\n\n## 📊 5. Intelligence Filtering & Quality Control\n\n### Filter Messages Node\n- Removes articles marked as \"NOT_AI_RELATED\" by the AI assistant\n- Applies relevance scoring to prevent information overload\n- Ensures only AI-focused TechCrunch content reaches stakeholders\n- Customizable filtering logic based on AI relevance confidence\n\n## 📤 6. Delivery & Distribution\n\n### Send Summary to Slack\n- Delivers formatted AI intelligence from TechCrunch to specified channels\n- Message format includes: Article title + 3 bullet point summary + TechCrunch source link\n- Supports threaded conversations for team discussions about AI trends\n- Click-through links to original TechCrunch articles for deeper research\n- Rich formatting optimized for mobile and desktop consumptio"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {},
  "versionId": "1a74e487-1f09-4046-8c1c-149d0c748911",
  "connections": {
    "fb908a45-0faf-4068-9420-8046ab4a8d36": {
      "main": [
        [
          {
            "node": "a89a5bc1-5f76-40b5-aca3-adc380fd4c0d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5ddeaef9-cd9d-4f55-b82d-1edfce6429df": {
      "main": [
        [
          {
            "node": "a326e8fd-bfc8-4380-9c66-20481aaa8a6c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c8cc970e-313e-45c9-bad5-9dd32ccbfee3": {
      "main": [
        [
          {
            "node": "f5965b4a-4ab1-4e5f-868c-2dc11c59fc28",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a326e8fd-bfc8-4380-9c66-20481aaa8a6c": {
      "main": [
        [
          {
            "node": "c8cc970e-313e-45c9-bad5-9dd32ccbfee3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d8576228-6261-4654-84de-0864e398c22d": {
      "ai_languageModel": [
        [
          {
            "node": "a326e8fd-bfc8-4380-9c66-20481aaa8a6c",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "a89a5bc1-5f76-40b5-aca3-adc380fd4c0d": {
      "main": [
        [
          {
            "node": "5ddeaef9-cd9d-4f55-b82d-1edfce6429df",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8f6e97b6-6910-4c6b-8c9a-29a0cf95ac09": {
      "main": [
        [
          {
            "node": "fb908a45-0faf-4068-9420-8046ab4a8d36",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "471044c1-cafd-4810-973d-b40c74ef6999": {
      "main": [
        [
          {
            "node": "8f6e97b6-6910-4c6b-8c9a-29a0cf95ac09",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 시장 조사, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수12
카테고리2
노드 유형8
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Colton Randolph

Colton Randolph

@crandolph

Technical/B2B content writer & SEO specialist. I love helping people learn and implement technical concepts.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34