This workflow corresponds to n8n.io template #4588 — we link there as the canonical source.
This workflow follows the Agent → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "iTYjhgQEFE4ap1c8",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "FireCrawl Summary Bot",
"tags": [],
"nodes": [
{
"id": "471044c1-cafd-4810-973d-b40c74ef6999",
"name": "Daily Market Research Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-160,
0
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 8
}
]
}
},
"typeVersion": 1.2
},
{
"id": "8f6e97b6-6910-4c6b-8c9a-29a0cf95ac09",
"name": "Crawl TechCrunch (FireCrawl)",
"type": "n8n-nodes-base.httpRequest",
"position": [
140,
0
],
"parameters": {
"url": "https://api.firecrawl.dev/v1/crawl",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "url",
"value": "https://techcrunch.com"
},
{
"name": "crawl_type",
"value": "scrape"
},
{
"name": "extract_article",
"value": "true"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_TOKEN_HERE"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "7d446441-d882-4816-805e-2d52cd8aea87",
"name": "Filter Relevant Articles",
"type": "n8n-nodes-base.code",
"position": [
360,
0
],
"parameters": {
"jsCode": "const keywords = ['AI', 'machine learning', 'startup', 'generative'];\nconst results = [];\n\nfor (const item of items) {\n const title = item.json.article?.title?.toLowerCase() || '';\n const content = item.json.article?.content?.toLowerCase() || '';\n\n const isRelevant = keywords.some(keyword =>\n title.includes(keyword.toLowerCase()) ||\n content.includes(keyword.toLowerCase())\n );\n\n if (isRelevant) {\n results.push(item); // keep only relevant articles\n }\n}\n\nreturn results;\n"
},
"typeVersion": 2
},
{
"id": "a326e8fd-bfc8-4380-9c66-20481aaa8a6c",
"name": "Summarizer Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
700,
0
],
"parameters": {
"text": "=Summarize the following article in 3 bullet points:\nTitle: {{ $json.article.title }}\ndescription: {{ $json.meta.description }}\nContent: {{ $json.article.content }}",
"options": {},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "d8576228-6261-4654-84de-0864e398c22d",
"name": "OpenAI Summarizer",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
640,
240
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "f5965b4a-4ab1-4e5f-868c-2dc11c59fc28",
"name": "Send Summary to Slack",
"type": "n8n-nodes-base.slack",
"position": [
1060,
0
],
"parameters": {
"text": "=\ud83d\udd0d AI Research Summary: \nTitle: {{ $('Filter Relevant Articles').item.json.article.title }}\nLink: {{ $('Filter Relevant Articles').item.json.url }}\nSummary: {{ $json.output }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C08TTV0CC3E",
"cachedResultName": "all-nathing"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.3
},
{
"id": "295fae17-e75e-47db-a321-0379899f44cc",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
-580
],
"parameters": {
"color": 3,
"width": 440,
"height": 800,
"content": "\ud83c\udf10\ud83d\udcbb 2. Crawling & Filtering\nNodes:\n\ud83c\udf10 Crawl TechCrunch (FireCrawl) (HTTP Request)\n\n\ud83e\udde0 Filter Relevant Articles (Code)\n\n\ud83d\udd0d What these nodes do:\n\ud83c\udf10 Crawl TechCrunch (FireCrawl)\nUses a POST request to FireCrawl\u2019s API\n\nInputs:\n\nurl: Target site (e.g., https://techcrunch.com)\n\ncrawl_type: \"scrape\"\n\nextract_article: true\n\nRetrieves:\n\ntitle, content, author, published_at\n\n\ud83e\udde0 Filter Relevant Articles\nUses a Code node to check if the article is relevant\n\nKeywords like \"AI\", \"machine learning\", \"startup\" are matched\n\nFilters only the articles that matter to your domain"
},
"typeVersion": 1
},
{
"id": "5fe2fbcc-8489-42cf-a578-48a46f18977d",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
580,
-540
],
"parameters": {
"color": 5,
"width": 640,
"height": 920,
"content": "\ud83e\udd16\ud83d\udcac 3. Summarization & Delivery\nNodes:\n\ud83e\udde0 Summarize Article with AI (AI Agent)\n\n\ud83d\udd17 OpenAI Chat (Summarizer) (OpenAI Chat Model)\n\n\ud83d\udcac Send Summary to Slack (Slack)\n\n\ud83d\udccc What happens here:\n\ud83e\udd16 Summarize Article with AI\nPasses the article to a GPT-4 or GPT-3.5 agent\n\nUses a prompt like:\n\n\u201cSummarize the following article in 3 bullet points\u2026\u201d\n\n\ud83d\udca1 OpenAI Chat (Summarizer)\nExecutes the actual summarization\n\nOutputs a short, clean summary ideal for fast reading\n\n\ud83d\udcac Send Summary to Slack\nPosts the summary to a specific Slack channel (e.g., #market-research)"
},
"typeVersion": 1
},
{
"id": "97ecbbb2-e763-47f0-82b8-2fede05b486f",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2100,
-560
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "d28d5f04-db81-4833-869f-158b4586a337",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2100,
-220
],
"parameters": {
"color": 4,
"width": 1289,
"height": 2758,
"content": "Absolutely! Here's your **Market Research Automation Workflow** beautifully divided into logical sections, with clear explanations and fitting icons to help you grasp each part at a glance.\n\n---\n\n# \ud83d\ude80 **n8n Market Research Automation Workflow**\n\nAutomate the process of **crawling news sites**, **filtering for relevant content**, **summarizing it with AI**, and **posting it to Slack** \u2014 all in a seamless flow.\n\n---\n\n## \u23f0 1. **Trigger & Scheduling**\n\n**Node:** `\ud83d\udd52 Daily Market Research Trigger`\n\n> Starts the workflow on a recurring schedule.\n\n\ud83d\udd27 **What it does:**\n\n* Runs every morning (or your defined time)\n* Ensures your team receives fresh updates daily\n\n\ud83d\udcc5 **Example Cron Setting:**\n\n* Every day at 8:00 AM\n\n---\n\n## \ud83c\udf10\ud83d\udcbb 2. **Crawling & Filtering**\n\n### **Nodes:**\n\n* `\ud83c\udf10 Crawl TechCrunch (FireCrawl)` *(HTTP Request)*\n* `\ud83e\udde0 Filter Relevant Articles` *(Code)*\n\n### \ud83d\udd0d What these nodes do:\n\n#### \ud83c\udf10 **Crawl TechCrunch (FireCrawl)**\n\n* Uses a **POST** request to FireCrawl\u2019s API\n* Inputs:\n\n * `url`: Target site (e.g., `https://techcrunch.com`)\n * `crawl_type`: `\"scrape\"`\n * `extract_article`: `true`\n* Retrieves:\n\n * `title`, `content`, `author`, `published_at`\n\n#### \ud83e\udde0 **Filter Relevant Articles**\n\n* Uses a `Code` node to check if the article is relevant\n* Keywords like `\"AI\"`, `\"machine learning\"`, `\"startup\"` are matched\n* Filters only the articles that **matter to your domain**\n\n\ud83d\udcc4 **Sample Code:**\n\n```javascript\nconst keywords = ['AI', 'machine learning', 'startup', 'generative'];\nconst results = [];\n\nfor (const item of items) {\n const title = item.json.article?.title?.toLowerCase() || '';\n const content = item.json.article?.content?.toLowerCase() || '';\n\n const isRelevant = keywords.some(keyword =>\n title.includes(keyword.toLowerCase()) ||\n content.includes(keyword.toLowerCase())\n );\n\n if (isRelevant) {\n results.push(item); // keep only relevant articles\n }\n}\n\nreturn results;\n```\n\n---\n\n## \ud83e\udd16\ud83d\udcac 3. **Summarization & Delivery**\n\n### **Nodes:**\n\n* `\ud83e\udde0 Summarize Article with AI` *(AI Agent)*\n* `\ud83d\udd17 OpenAI Chat (Summarizer)` *(OpenAI Chat Model)*\n* `\ud83d\udcac Send Summary to Slack` *(Slack)*\n\n### \ud83d\udccc What happens here:\n\n#### \ud83e\udd16 **Summarize Article with AI**\n\n* Passes the article to a GPT-4 or GPT-3.5 agent\n* Uses a prompt like:\n\n > \u201cSummarize the following article in 3 bullet points\u2026\u201d\n\n#### \ud83d\udca1 **OpenAI Chat (Summarizer)**\n\n* Executes the actual summarization\n* Outputs a short, clean summary ideal for fast reading\n\n#### \ud83d\udcac **Send Summary to Slack**\n\n* Posts the summary to a specific Slack channel (e.g., `#market-research`)\n* Message format example:\n\n ```\n \ud83d\udd0d *Market Research Summary*\n *Title:* OpenAI launches GPT-5\n *Link:* https://techcrunch.com/article\n *Summary:*\n - GPT-5 improves reasoning\n - Enhanced safety mechanisms\n - Better multilingual performance\n ```\n\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "8d64bd18-6a8f-4a2b-a952-5d8417122a2e",
"connections": {
"Summarizer Agent": {
"main": [
[
{
"node": "Send Summary to Slack",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Summarizer": {
"ai_languageModel": [
[
{
"node": "Summarizer Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Filter Relevant Articles": {
"main": [
[
{
"node": "Summarizer Agent",
"type": "main",
"index": 0
}
]
]
},
"Crawl TechCrunch (FireCrawl)": {
"main": [
[
{
"node": "Filter Relevant Articles",
"type": "main",
"index": 0
}
]
]
},
"Daily Market Research Trigger": {
"main": [
[
{
"node": "Crawl TechCrunch (FireCrawl)",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApislackApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This cutting-edge n8n automation is a sophisticated market research and intelligence gathering tool designed to transform web content discovery into actionable insights. By intelligently combining web crawling, AI-powered filtering, and smart summarization, this workflow:…
Source: https://n8n.io/workflows/4588/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Created by: Peyton Leveillee Last updated: October 2025
Runs automatically every Monday morning at 8 AM Collects your Google Search Console from the last month and the month before that for a given url (date range is configurable) Formats the data, aggrega
This workflow automates end-to-end sustainability lifecycle management for corporate sustainability teams, ESG governance officers, and circular economy programme leads. It addresses the challenge of
Marketing, content, and enablement teams that need a quick, human-readable summary of every new video published by the YouTube channels they care about—without leaving Slack.
This workflow automates end-to-end ESG (Environmental, Social, and Governance) sustainability reporting for enterprise sustainability teams, compliance officers, and green governance leads. It solves