14 Analyse de la performance du contenu concurrentiel
Ceci est unMarket Research, AI Summarizationworkflow d'automatisation du domainecontenant 15 nœuds.Utilise principalement des nœuds comme Set, Gmail, McpClientTool, ManualTrigger, Agent. Analyser les performances de contenu concurrentiel avec Bright Data MCP et GPT-4o
- •Compte Google et informations d'identification Gmail API
- •Clé API OpenAI
Nœuds utilisés (15)
Catégorie
{
"id": "iTYMiElAxoA6mGFI",
"meta": {
"instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
"templateCredsSetupCompleted": true
},
"name": "14 Analyze Competitor Content Performance",
"tags": [],
"nodes": [
{
"id": "ae08fbec-aa27-4209-9bd4-e91fd401ca70",
"name": "⚡ Début : Exécuter le workflow",
"type": "n8n-nodes-base.manualTrigger",
"position": [
0,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6be3a9b3-f168-41f2-98b1-9cc8235efa25",
"name": "📝 Entrée : Détails du concurrent",
"type": "n8n-nodes-base.set",
"position": [
220,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f57bb4aa-1040-4315-894d-51e373012522",
"name": "url",
"type": "string",
"value": "https://medium.com/?tag=technology"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b0a7dc50-e4d8-435d-88dd-875f69d2b9ce",
"name": "🤖 Agent IA : Analyser le contenu",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
460,
0
],
"parameters": {
"text": "=screpe the stats of the competitors website below and write an email to suggest improvement:\n{{ $json.url }}",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "f4d838f9-ba74-405f-8035-c3d264cb1ba1",
"name": "💬 OpenAI : Générer des insights",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
440,
260
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "1d5786b4-e130-4ee6-bb6c-10892038eaa7",
"name": "🌐 Scraper MCP : Obtenir les données de blog",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
620,
260
],
"parameters": {
"toolName": "scrape_as_markdown",
"operation": "executeTool",
"toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
},
"credentials": {
"mcpClientApi": {
"id": "eqq94k789oJCd6jU",
"name": "MCP Client (STDIO) account"
}
},
"typeVersion": 1
},
{
"id": "d9dceb89-0b2f-4579-a521-844f6122ddc8",
"name": "📧 Envoyer un email : Suggestions client",
"type": "n8n-nodes-base.gmail",
"position": [
940,
0
],
"webhookId": "519f3473-e010-4851-96de-faa1b6804f12",
"parameters": {
"sendTo": "shahkar.genai@gmail.com",
"message": "={{ $json.output.email.body }}",
"options": {},
"subject": "={{ $json.output.email.subject }}",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "AQDSl75AdzK3vmqJ",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "b3a362b5-db83-463b-8339-048a1157e412",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-20,
-1240
],
"parameters": {
"color": 5,
"width": 380,
"height": 1420,
"content": "## ✅ **📂 SECTION 1 — Trigger & Input**\n\n### ⚡ Node 1: **Start: Execute Workflow**\n\n**Icon:** ⚡\n**What it does:** This node waits for you to **click “Execute Workflow.”** It’s like a start button.\n**Why it’s useful:** It gives you control — you can run this only when you’re ready to scrape & analyze.\n\n---\n\n### 📝 Node 2: **Input: Competitor Details**\n\n**Icon:** 📝\n**What it does:** Here you **manually enter** the competitor blog URLs, tags, or keywords you want to analyze.\n\n* Example: `https://moz.com/blog`, `https://ahrefs.com/blog`\n* You can also add extra fields like “Target Language” or “Topics of Interest.”\n\n**How this helps:**\n\n* You keep the workflow flexible.\n* You can reuse the same flow for any competitor.\n* Non-technical team members can easily update input.\n\n---\n\n**🔑 SECTION 1 Summary:**\nThis section **starts** your workflow and **feeds it the raw data**: **What do you want to scrape?** — It’s **your starting point**.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "778d45bd-873b-48f1-85d2-31e3d7886899",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
420,
-1720
],
"parameters": {
"color": 3,
"width": 340,
"height": 1900,
"content": "## 🤖 **📂 SECTION 2 — AI Analysis & Scraping**\n\n### 🧩 Node 3: **AI Agent: Analyze Content**\n\n**Icon:** 🤖\n**What it does:** This is the **brain**. It connects to:\n\n* OpenAI Chat Model 🧠 (for text understanding & suggestions)\n* MCP Client 🌐 (for real-time scraping)\n* Output Parser 🗂️ (for formatting results)\n\n**How it works:**\n\n* The AI Agent takes your input (competitor URLs).\n* It tells the MCP Client to scrape those sites for:\n\n * Blog titles\n * Publish dates\n * Traffic stats\n* Then, OpenAI checks what your competitors cover that **you don’t**.\n* The Output Parser converts the AI output into clean, usable JSON with **subject + body** for email.\n\n---\n\n### 💬 Sub Node: **OpenAI: Generate Insights**\n\n**Icon:** 💬\n**What it does:** Creates text output:\n\n* Finds strengths\n* Spots gaps in your content\n* Writes suggestions for improvement\n\n---\n\n### 🌐 Sub Node: **MCP Scraper: Get Blog Data**\n\n**Icon:** 🌐\n**What it does:** Bright Data MCP pulls real traffic numbers, page details, etc., from competitor blogs.\n\n* Uses proxies & anti-bot tech to avoid blocks.\n* Delivers real data you couldn’t get manually.\n\n---\n\n### 🗂️ Sub Node: **Parser: Format Email JSON**\n\n**Icon:** 🗂️\n**What it does:** Takes the AI’s text output and converts it to a clean JSON with **subject** and **body** keys — perfect for sending in an email.\n\n* Ensures no messy or broken text.\n* Makes the next step (sending) easy and automated.\n\n---\n\n**🔑 SECTION 2 Summary:**\nThis section **does the heavy lifting**:\n\n* Scrapes real competitor data\n* Uses AI to **analyze & recommend**\n* Prepares the output in a format ready for your client\n\nEven a beginner can see: **You get powerful insights with zero manual scraping or writing.**\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "1ccefd74-26dc-43f5-94cf-ac2bad6d7b13",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
880,
-480
],
"parameters": {
"color": 6,
"width": 220,
"height": 660,
"content": "## 📧 **📂 SECTION 3 — Send Email**\n\n### 📧 Node 4: **Send Email: Client Suggestions**\n\n**Icon:** 📧\n**What it does:** Takes the **structured subject + body** from the previous step and automatically sends a beautiful email to your client via **Gmail**.\n\n* Can send to any recipient\n* Looks professional\n* No need to copy-paste anything\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "41243b47-ad5e-4ed3-9fe9-dbea4f8a4304",
"name": "Note adhésive5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1220,
-480
],
"parameters": {
"color": 7,
"width": 380,
"height": 240,
"content": "## I’ll receive a tiny commission if you join Bright Data through this link—thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
},
"typeVersion": 1
},
{
"id": "15069b6b-7520-4227-bcdf-b13afca311dc",
"name": "Note adhésive9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1700,
-1220
],
"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": "74ba41a7-5ff0-4d39-bdad-0f3389ad7c4a",
"name": "Note adhésive4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1700,
-880
],
"parameters": {
"color": 4,
"width": 1289,
"height": 3578,
"content": "## 🚀 **Workflow: Analyze Competitor Content & Send Email**\n\nThis automation **scrapes competitor blog stats**, **analyzes them with AI**, and **emails clear improvement suggestions** — all **no-code** using **n8n**, **Bright Data MCP**, and **OpenAI**.\n\n---\n\n## ✅ **📂 SECTION 1 — Trigger & Input**\n\n### ⚡ Node 1: **Start: Execute Workflow**\n\n**Icon:** ⚡\n**What it does:** This node waits for you to **click “Execute Workflow.”** It’s like a start button.\n**Why it’s useful:** It gives you control — you can run this only when you’re ready to scrape & analyze.\n\n---\n\n### 📝 Node 2: **Input: Competitor Details**\n\n**Icon:** 📝\n**What it does:** Here you **manually enter** the competitor blog URLs, tags, or keywords you want to analyze.\n\n* Example: `https://moz.com/blog`, `https://ahrefs.com/blog`\n* You can also add extra fields like “Target Language” or “Topics of Interest.”\n\n**How this helps:**\n\n* You keep the workflow flexible.\n* You can reuse the same flow for any competitor.\n* Non-technical team members can easily update input.\n\n---\n\n**🔑 SECTION 1 Summary:**\nThis section **starts** your workflow and **feeds it the raw data**: **What do you want to scrape?** — It’s **your starting point**.\n\n---\n\n## 🤖 **📂 SECTION 2 — AI Analysis & Scraping**\n\n### 🧩 Node 3: **AI Agent: Analyze Content**\n\n**Icon:** 🤖\n**What it does:** This is the **brain**. It connects to:\n\n* OpenAI Chat Model 🧠 (for text understanding & suggestions)\n* MCP Client 🌐 (for real-time scraping)\n* Output Parser 🗂️ (for formatting results)\n\n**How it works:**\n\n* The AI Agent takes your input (competitor URLs).\n* It tells the MCP Client to scrape those sites for:\n\n * Blog titles\n * Publish dates\n * Traffic stats\n* Then, OpenAI checks what your competitors cover that **you don’t**.\n* The Output Parser converts the AI output into clean, usable JSON with **subject + body** for email.\n\n---\n\n### 💬 Sub Node: **OpenAI: Generate Insights**\n\n**Icon:** 💬\n**What it does:** Creates text output:\n\n* Finds strengths\n* Spots gaps in your content\n* Writes suggestions for improvement\n\n---\n\n### 🌐 Sub Node: **MCP Scraper: Get Blog Data**\n\n**Icon:** 🌐\n**What it does:** Bright Data MCP pulls real traffic numbers, page details, etc., from competitor blogs.\n\n* Uses proxies & anti-bot tech to avoid blocks.\n* Delivers real data you couldn’t get manually.\n\n---\n\n### 🗂️ Sub Node: **Parser: Format Email JSON**\n\n**Icon:** 🗂️\n**What it does:** Takes the AI’s text output and converts it to a clean JSON with **subject** and **body** keys — perfect for sending in an email.\n\n* Ensures no messy or broken text.\n* Makes the next step (sending) easy and automated.\n\n---\n\n**🔑 SECTION 2 Summary:**\nThis section **does the heavy lifting**:\n\n* Scrapes real competitor data\n* Uses AI to **analyze & recommend**\n* Prepares the output in a format ready for your client\n\nEven a beginner can see: **You get powerful insights with zero manual scraping or writing.**\n\n---\n\n## 📧 **📂 SECTION 3 — Send Email**\n\n### 📧 Node 4: **Send Email: Client Suggestions**\n\n**Icon:** 📧\n**What it does:** Takes the **structured subject + body** from the previous step and automatically sends a beautiful email to your client via **Gmail**.\n\n* Can send to any recipient\n* Looks professional\n* No need to copy-paste anything\n\n---\n\n**🔑 SECTION 3 Summary:**\n**Your final result — the insights become a real email.**\n\n* Saves time writing reports\n* Ensures your client sees clear recommendations\n* Automates the boring parts\n\n---\n\n## 🌟 **Benefits for Beginners**\n\n✅ **No coding needed:** You drag, drop, connect.\n✅ **Scalable:** Add more competitors anytime.\n✅ **Reusable:** Just change the input URLs.\n✅ **Professional output:** High-value insights in seconds.\n✅ **End-to-end:** From scraping to client inbox in one click.\n\n---\n\n## 🗂️ **💡 Final Tip**\n\nAdd emojis 📝 🤖 💬 🌐 🗂️ 📧 to your node names in **n8n** — it makes complex flows clear **at a glance**.\n\n---\n\n## 🔗 **Ready to Run!**\n\nYour final workflow:\n\n```\n⚡ Start → 📝 Input → 🤖 AI Agent\n ↘️ 💬 OpenAI → 🌐 MCP → 🗂️ Parser → 📧 Send Email\n```\n\n"
},
"typeVersion": 1
},
{
"id": "f5a5745c-f194-4fc5-91b6-54f2bc248c14",
"name": "Analyseur de sortie auto-corrigeant",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
760,
260
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "b2e2a2e0-1f96-4219-9f22-973d1cb9fe4f",
"name": "Modèle de chat OpenAI",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
720,
480
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "c66c1bf2-cd09-4038-8d22-689b3052b66f",
"name": "Analyseur de sortie structurée",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
900,
480
],
"parameters": {
"jsonSchemaExample": "{\n \"email\": {\n \"subject\": \"Suggestions for Improvement on Your Website\",\n \"body\": \"Dear [Recipient's Name],\\n\\nI hope this message finds you well. I recently took the time to explore your website, specifically focusing on the Technology tag section on Medium, and I wanted to share some insights and suggestions that could enhance user experience and engagement.\\n\\n**Strengths:**\\n- Clean Layout: The overall design of Medium is uncluttered and visually appealing, making it easy for users to navigate and engage with content.\\n- Engaging Content: The use of compelling narratives alongside diverse topics helps to draw in readers and maintain their interest.\\n\\n**Areas for Improvement:**\\n1. User Interaction: Encouraging user interaction can be beneficial. Incorporating more visible call-to-action buttons for signing up or writing could potentially increase conversions from readers into writers or subscribers.\\n2. Search Functionality: Although the content is well-curated, enhancing the search functionality to enable users to find specific topics or articles more efficiently would improve user experience significantly.\\n3. Performance Optimization: Analyzing page load times and optimizing images and scripts may help retain users who might otherwise leave due to slow loading speeds.\\n4. Mobile Responsiveness: While Medium has a good mobile design, ensuring that all features are seamlessly available on mobile devices can cater to the increasing number of mobile users.\\n5. Personalization Features: Implementing personalized content recommendations based on user behavior could enhance user engagement by providing tailored reading experiences.\\n\\nI believe addressing these areas could significantly elevate the user experience on your platform and increase both reader and writer engagement.\\n\\nThank you for considering these suggestions. I look forward to your thoughts.\\n\\nBest regards,\\n\\n[Your Name]\\n[Your Position]\\n[Your Contact Information]\\n[Your Company Name]\"\n }\n}\n"
},
"typeVersion": 1.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "9d213fd6-0607-4d70-89bf-a574a3e933e1",
"connections": {
"b2e2a2e0-1f96-4219-9f22-973d1cb9fe4f": {
"ai_languageModel": [
[
{
"node": "f5a5745c-f194-4fc5-91b6-54f2bc248c14",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"c66c1bf2-cd09-4038-8d22-689b3052b66f": {
"ai_outputParser": [
[
{
"node": "f5a5745c-f194-4fc5-91b6-54f2bc248c14",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"f5a5745c-f194-4fc5-91b6-54f2bc248c14": {
"ai_outputParser": [
[
{
"node": "b0a7dc50-e4d8-435d-88dd-875f69d2b9ce",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"ae08fbec-aa27-4209-9bd4-e91fd401ca70": {
"main": [
[
{
"node": "6be3a9b3-f168-41f2-98b1-9cc8235efa25",
"type": "main",
"index": 0
}
]
]
},
"f4d838f9-ba74-405f-8035-c3d264cb1ba1": {
"ai_languageModel": [
[
{
"node": "b0a7dc50-e4d8-435d-88dd-875f69d2b9ce",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"6be3a9b3-f168-41f2-98b1-9cc8235efa25": {
"main": [
[
{
"node": "b0a7dc50-e4d8-435d-88dd-875f69d2b9ce",
"type": "main",
"index": 0
}
]
]
},
"b0a7dc50-e4d8-435d-88dd-875f69d2b9ce": {
"main": [
[
{
"node": "d9dceb89-0b2f-4579-a521-844f6122ddc8",
"type": "main",
"index": 0
}
]
]
},
"1d5786b4-e130-4ee6-bb6c-10892038eaa7": {
"ai_tool": [
[
{
"node": "b0a7dc50-e4d8-435d-88dd-875f69d2b9ce",
"type": "ai_tool",
"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é, Résumé IA
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
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos
Partager ce workflow