Robot de renseignement de marché piloté par Firecrawl AI : livraison automatisée des insights de nouvelles
Ceci est unMarket Research, Multimodal AIworkflow d'automatisation du domainecontenant 12 nœuds.Utilise principalement des nœuds comme Code, Wait, Slack, HttpRequest, Agent. utilisationOpenAI过滤et总结TechCrunchdeAI新闻àSlack
- •Token Bot Slack ou URL Webhook
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Clé API OpenAI
Nœuds utilisés (12)
Catégorie
{
"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": "Déclencheur de Recherche Marchande Quotidienne",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
2512,
784
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 8
}
]
}
},
"typeVersion": 1.2
},
{
"id": "8f6e97b6-6910-4c6b-8c9a-29a0cf95ac09",
"name": "Explorer 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": "Agent de Synthèse",
"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 Summarizer",
"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": "Envoyer le Résumé à 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": "Attendre",
"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": "Recevoir les Résultats 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": "Diviser la Sortie",
"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": "Filtrer les Messages",
"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": "Note Adhésive",
"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": "Note Adhésive1",
"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": "Note Adhésive2",
"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
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Étude de marché, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Colton Randolph
@crandolphTechnical/B2B content writer & SEO specialist. I love helping people learn and implement technical concepts.
Partager ce workflow