Évaluation d'outils automatisés avec IA, Apify et l'intégration Telegram

Avancé

Ceci est unAI Summarization, Multimodal AIworkflow d'automatisation du domainecontenant 20 nœuds.Utilise principalement des nœuds comme If, Set, Code, Telegram, HttpRequest. Automatiser l'analyse d'outils de site web avec Telegram, Apify, AI et Google Sheets

Prérequis
  • Token Bot Telegram
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Informations d'identification Google Sheets API
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "ay8QocZjaU95DnrF",
  "meta": {
    "instanceId": "60101f49546dba0fc0cfcf94be7fdb65ebbbd4b553d69b7ace3ddbceae1594bf",
    "templateCredsSetupCompleted": true
  },
  "name": "Automate Tool Assessment Using AI, Apify & Telegram Integration",
  "tags": [
    {
      "id": "YIDY0oSuimvxgwa5",
      "name": "Tool Evaluation",
      "createdAt": "2025-08-20T15:42:28.113Z",
      "updatedAt": "2025-08-20T15:42:28.113Z"
    },
    {
      "id": "t4H6jneh81YugIfQ",
      "name": "Web Scraping",
      "createdAt": "2025-08-20T15:43:22.326Z",
      "updatedAt": "2025-08-20T15:43:22.326Z"
    },
    {
      "id": "peuneMRaGvLwHBhL",
      "name": "AI Analysis",
      "createdAt": "2025-08-20T15:43:06.044Z",
      "updatedAt": "2025-08-20T15:44:20.819Z"
    }
  ],
  "nodes": [
    {
      "id": "fd5b2e52-120f-4788-aa0e-c4c081f16a23",
      "name": "Déclencheur Telegram",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1696,
        304
      ],
      "webhookId": "b0497640-adf1-4596-824f-9471a9553fcd",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "jNbPie79YaRlP0ri",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b9119902-ef41-4463-b602-b5885ba125a9",
      "name": "Modèle de chat OpenRouter",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        16,
        512
      ],
      "parameters": {
        "model": "openai/gpt-oss-120b",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "xz7oE8CPF7cC3EkI",
          "name": "OpenRouter account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "90716ee6-5ba7-4011-97e6-53198fdfa043",
      "name": "Envoyer un message texte1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1040,
        304
      ],
      "webhookId": "a4700401-1008-4264-bcd4-e31fb158ce3c",
      "parameters": {
        "text": "=Website_url: {{ $json.website_url.replace(/[*[]()~>#+\\-=|{}.!]/g, '\\\\$&') }}\n\n📌 Concise Summary:\n{{ $json.website_concise_summary.replace(/[_*\\[\\]()~>#+-=|{}.!]/g, '\\$&') }}\n💼 Business Impact:\n{{ $json.business_impact_and_opportunities.replace(/[[]()~>#+\\-=|{}.!]/g, '\\\\$&') }}\n⚡ Actionable Insights:\n{{ $json.Actionable_insights.replace(/[_*\\[\\]()~>#+-=|{}.!]/g, '\\$&') }}\n\n✅ Decision Verdict:\nVerdict: {{ $json.Actionable_insights.replace(/[_*\\[\\]()~>#+-=|{}.!]/g, '\\$&') }}\nrationate: {{ $json.rationale.replace(/[_*\\[\\]()~>#+-=|{}.!]/g, '\\$&') }}\neffort_hours: {{ $json.effort_hours }}\ntime_to_value_days: {{ $json.time_to_value_days }}\nurgency: {{ $json.urgency.replace(/[_*[]()~>#+\\-=|{}.!]/g, '\\\\$&') }} \nConfidence: {{ $json.confidence }} \nalternative_approach: {{ $json.alternative_approach.replace(/[_*\\[\\]()~>#+-=|{}.!]/g, '\\$&') }}\n",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "parse_mode": "Markdown",
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "jNbPie79YaRlP0ri",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "aad96069-c146-42a5-abd4-1dfaa7bce3a0",
      "name": "Extraire l'URL du message",
      "type": "n8n-nodes-base.code",
      "position": [
        -1440,
        304
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\nconst urlRegex = /(https?:\\/\\/[^\\s]+)/g;\n\nconst urls = items\n  .map((item) => {\n    const text = item?.json?.message?.text;\n    const urlMatch = text.match(urlRegex);\n    return urlMatch ? { url: urlMatch[0] } : null;\n  })\n  .filter((item) => item !== null);\n\nreturn urls;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "bf94bd5c-dca7-48b2-a25f-93e4cfd95d32",
      "name": "URL présente ?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1296,
        304
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "bc130a04-e980-48e3-8b56-1054d5eae30a",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.url }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "96377652-af18-42fe-a692-784deedf84a3",
      "name": "Notifier l'utilisateur : Lien non trouvé",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1056,
        416
      ],
      "webhookId": "007e09a5-a76d-4f17-a3c7-f97b95e0d9c7",
      "parameters": {
        "text": "Hmm, I couldn’t find a valid link in your message.Can you try sending the URL again?",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "jNbPie79YaRlP0ri",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "de57d539-97c3-4861-8752-a49738544824",
      "name": "Définir le champ URL d'entrée",
      "type": "n8n-nodes-base.set",
      "position": [
        -832,
        304
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "564b26f4-7c46-44a4-b7ae-c628586ef0ce",
              "name": "URL",
              "type": "string",
              "value": "={{ $json.url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "091481fb-3f6e-441f-a8da-696605c31477",
      "name": "Lancer l'extraction de contenu web",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -640,
        304
      ],
      "parameters": {
        "url": "https://api.apify.com/v2/acts/6sigmag~deep-website-content-crawler/run-sync-get-dataset-items",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"startUrls\": [\n    \"{{ $json.URL }}\"\n  ]\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "apifyApi"
      },
      "credentials": {
        "apifyApi": {
          "id": "c8aM6wpgdjwlYcsU",
          "name": "Apify account 2"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ee17684f-0a7d-468b-876d-a509dd174c95",
      "name": "Définir le contenu web brut",
      "type": "n8n-nodes-base.set",
      "position": [
        -464,
        304
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "10609423-d2ba-4e83-9f98-4c9982ee4a46",
              "name": "Website_content",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "2ebc19f5-a69e-4192-b350-c6303b8bacbc",
      "name": "Nettoyer le contenu du site",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -272,
        288
      ],
      "parameters": {
        "text": "={{ $json.Website_content }}",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "=You are an information extraction engine.\nYour only task is to produce a detailed, factual, and structured representation of the provided website content.\n\nGuidelines:\n\nRemove all irrelevant text such as navigation menus, cookie banners, buttons, advertisements, promotional slogans, and UI labels.\n\nPreserve all meaningful information including main content, subheadings, product/service details, features, specifications, pricing, FAQs, reviews, benefits, risks, limitations, and any unique insights.\n\nExpand abbreviations or vague terms into their full meaning if possible (e.g., \"AI\" → \"Artificial Intelligence\").\n\nPresent the output in plain text with clear sections and indentation. Use this format:\n\nTitle/Heading\n\nSection Content\n\nKey Points (bullet list where applicable)\n\nDo not add opinions, summaries, or assumptions. Only report what is actually in the text.\n\nIf something is unclear or incomplete on the website, explicitly mark it as [Unclear/Incomplete].\n\nThe final output should be detailed context only — no conclusions, no advice, no summarization."
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "e54c5e12-adc5-4a25-abc7-f3da63f92031",
      "name": "Définir le contexte détaillé nettoyé",
      "type": "n8n-nodes-base.set",
      "position": [
        80,
        288
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3d2507cf-8af7-45aa-827f-680754aa644f",
              "name": "cleaned_detailed_context",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ba3cadbe-1ccb-4141-8979-d311d03244d7",
      "name": "Analyseur IA contextuel de site web",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        240,
        288
      ],
      "parameters": {
        "text": "={{ $json.cleaned_detailed_context }}",
        "options": {
          "systemMessage": "=Retrieve the expert’s profile (expertise, tools, goals) from the database.\n\nAnalyze the provided website (URL or content) deeply, mapping findings to the expert’s context.\n\nProduce structured plain-text outputs with strict section headers.\n\nDeliver a Decision Verdict with rationale, effort, time-to-value, urgency, and confidence.\n\nHard Requirements\n\nNo hallucinations. Use only: (a) the provided database/context, (b) website content. If missing → “Not stated.”\n\nIgnore noise (UI, nav menus, cookie banners, etc.).\n\nPlain text only. No markdown tables or links.\n\nEvery section = one single paragraph. Do not break into multiple lines or lists, except Decision Verdict which is structured.\n\nConcise Summary Rule: ≤ 90 words.\n\nWorkflow\n\nStep 1 — Context Retrieval\nFetch the expert’s:\n\nCore expertise: [from database/context]\n\nKey tools: [from database/context]\n\nCurrent focus: [from database/context]\n\nNear-term goals: [from database/context]\n\nLong-term goals: [from database/context]\n\nStep 2 — Website Analysis\nExtract relevant content only: offering, capabilities, integrations, target audience, pricing/constraints, security/compliance, extensibility (API/webhooks). Normalize jargon.\n\nOutput Format (Plain Text Only; exact headers)\n\n[Context Retrieved from Database]\n<One paragraph with 2–4 sentences about the expert’s expertise, tools, and goals.>\n\n[Website Concise Summary]\n<One paragraph (≤90 words) summarizing what the website is, its core offering, target audience, positioning.>\n\n[Key Considerations]\n<One paragraph covering tech stack, integrations, API/webhooks, fit with expert’s stack, compliance, and pricing visibility.>\n\n[Business Impact & Opportunities]\n<One paragraph describing potential effects on the expert’s business, product plays, marketplace leverage, and partnerships.>\n\n[Benefits & Strengths]\n<One paragraph with strengths the expert could exploit (speed, compliance, integrations, credibility, etc.).>\n\n[Risks & Weaknesses]\n<One paragraph with risks such as vendor lock-in, pricing opacity, missing APIs, overlaps, scalability, compliance gaps.>\n\n[Actionable Insights]\n<One paragraph with 5–8 strong recommendations fused into a single flow (use commas/semicolons, not bullets).>\n\n[Decision Verdict]\nVerdict: LEARN_NOW / DEFER_MONITOR / IGNORE_AS_NOISE\nRationale: <3–6 lines tying the decision to the expert’s goals, with trade-offs.>\nEffort: X hours\nTime-to-Value: X days\nUrgency: High / Medium / Low\nConfidence: X%\nAlternative Approach: <one-line fallback strategy>"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "d6162477-e0ad-4d5c-b7e4-715ab6e17338",
      "name": "Récupérer le profil depuis Google Sheets",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        224,
        544
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1RCMapKv9IPdwNz4Rp-Ma2iKzdWDEbxggYrq9K2_pU-w/edit#gid=0",
          "cachedResultName": "Company Details"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1RCMapKv9IPdwNz4Rp-Ma2iKzdWDEbxggYrq9K2_pU-w",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1RCMapKv9IPdwNz4Rp-Ma2iKzdWDEbxggYrq9K2_pU-w/edit?usp=drivesdk",
          "cachedResultName": "Tool Evaluation & Analysis Records"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "HSwTnijXgZcVrWOI",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "9554d3a9-8bab-44a4-b436-b1a1f61581e4",
      "name": "Structurer la sortie d'analyse IA",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        384,
        560
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"context_retrieved_from_google_sheet\": {\n      \"type\": \"array\",\n      \"items\": { \"type\": \"string\" }\n    },\n    \"website_concise_summary\": {\n      \"type\": \"array\",\n      \"items\": { \"type\": \"string\" }\n    },\n    \"key_considerations\": {\n      \"type\": \"array\",\n      \"items\": { \"type\": \"string\" }\n    },\n    \"business_impact_and_opportunities\": {\n      \"type\": \"array\",\n      \"items\": { \"type\": \"string\" }\n    },\n    \"benefits_and_strengths\": {\n      \"type\": \"array\",\n      \"items\": { \"type\": \"string\" }\n    },\n    \"risks_and_weaknesses\": {\n      \"type\": \"array\",\n      \"items\": { \"type\": \"string\" }\n    },\n    \"actionable_insights\": {\n      \"type\": \"array\",\n      \"items\": { \"type\": \"string\" }\n    },\n    \"decision_verdict\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"verdict\": { \"type\": \"string\" },\n        \"rationale\": { \"type\": \"string\" },\n        \"effort_hours\": { \"type\": \"number\" },\n        \"time_to_value_days\": { \"type\": \"number\" },\n        \"urgency\": { \"type\": \"string\" },\n        \"confidence\": { \"type\": \"number\" },\n        \"alternative_approach\": { \"type\": \"string\" }\n      },\n      \"required\": [\n        \"verdict\",\n        \"rationale\",\n        \"effort_hours\",\n        \"time_to_value_days\",\n        \"urgency\",\n        \"confidence\",\n        \"alternative_approach\"\n      ]\n    }\n  },\n  \"required\": [\n    \"context_retrieved_from_google_sheet\",\n    \"website_concise_summary\",\n    \"key_considerations\",\n    \"business_impact_and_opportunities\",\n    \"benefits_and_strengths\",\n    \"risks_and_weaknesses\",\n    \"actionable_insights\",\n    \"decision_verdict\"\n  ]\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "30303b5c-b4ac-488d-bd4c-81bc751235c1",
      "name": "Enregistrer les résultats d'analyse du site",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        752,
        304
      ],
      "parameters": {
        "columns": {
          "value": {
            "Verdict": "={{ $json.output.decision_verdict.verdict }}",
            "urgency": "={{ $json.output.decision_verdict.urgency }}",
            "rationale": "={{ $json.output.decision_verdict.rationale }}",
            "confidence": "={{ $json.output.decision_verdict.confidence }}",
            "website_url": "={{ $('Set Input URL Field').item.json.URL }}",
            "effort_hours": "={{ $json.output.decision_verdict.effort_hours }}",
            "Key considerations": "={{ $json.output.key_considerations[0] }}",
            "time_to_value_days": "={{ $json.output.decision_verdict.time_to_value_days }}",
            "Actionable_insights": "={{ $json.output.actionable_insights[0] }}",
            "alternative_approach": "={{ $json.output.decision_verdict.alternative_approach }}",
            "risks_and_weaknesses": "={{ $json.output.risks_and_weaknesses[0] }}",
            "benefits_and_strengths": "={{ $json.output.benefits_and_strengths[0] }}",
            "website_concise_summary": "={{ $json.output.website_concise_summary[0] }}",
            "business_impact_and_opportunities": "={{ $json.output.business_impact_and_opportunities[0] }}"
          },
          "schema": [
            {
              "id": "website_concise_summary",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "website_concise_summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Key considerations",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Key considerations",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "business_impact_and_opportunities",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "business_impact_and_opportunities",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "benefits_and_strengths",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "benefits_and_strengths",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "risks_and_weaknesses",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "risks_and_weaknesses",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Actionable_insights",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Actionable_insights",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Verdict",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Verdict",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "rationale",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "rationale",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "effort_hours",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "effort_hours",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "time_to_value_days",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "time_to_value_days",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "urgency",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "urgency",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "confidence",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "confidence",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "alternative_approach",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "alternative_approach",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "website_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "website_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "website_concise_summary"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1992152627,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1RCMapKv9IPdwNz4Rp-Ma2iKzdWDEbxggYrq9K2_pU-w/edit#gid=1992152627",
          "cachedResultName": "Analysis Results"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1RCMapKv9IPdwNz4Rp-Ma2iKzdWDEbxggYrq9K2_pU-w",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1RCMapKv9IPdwNz4Rp-Ma2iKzdWDEbxggYrq9K2_pU-w/edit?usp=drivesdk",
          "cachedResultName": "Tool Evaluation & Analysis Records"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "HSwTnijXgZcVrWOI",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "b9eff0a7-042e-4919-a507-0dd88d43bb2a",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1728,
        16
      ],
      "parameters": {
        "width": 416,
        "height": 688,
        "content": "**Title**: Telegram Input & URL Extraction\n**Purpose**: Detect incoming Telegram messages and extract a website URL if present.\n\n**Nodes Covered**:\nReceive Telegram Submission\n\nExtract URL from Message\n**What Happens:**\nWorkflow begins when a Telegram message is received. The message is checked for a valid URL and, if found, the URL is extracted for processing. If no URL is present, user is notified to resend."
      },
      "typeVersion": 1
    },
    {
      "id": "a8c55a3c-a626-490a-b170-f688af302487",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -864,
        16
      ],
      "parameters": {
        "color": 3,
        "width": 544,
        "height": 688,
        "content": "**Title:** Website Content Extraction\nPurpose: Prepare the extracted URL and pull detailed content from the target website.\n\n**Nodes Covered:**\nSet Input URL Field\nLaunch Web Content Extraction\nSet Raw Web Content\n\n**What Happens:**\nThe valid URL is stored and sent to an external crawler (Apify), which returns raw website content for AI processing.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f5c12bd5-a7a4-48b5-a634-cc03713de1bf",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -304,
        16
      ],
      "parameters": {
        "color": 4,
        "width": 848,
        "height": 688,
        "content": "**Title:** Content Cleaning & Contextual Analysis\n**Purpose:** Use AI to remove noise from website data, then analyze and contextualize it according to business needs.\n\n**Nodes Covered:**\nClean Website Content (LLM)\nSet Clean Detailed Context\nFetch Profile from Google Sheets\nContextual Website Analyzer AI\nStructure AI Analysis Output\n**What Happens:**\n\nAI models clean up the website text, relate it to the user’s background and business goals (pulled from Google Sheets), and generate structured insights and recommendations."
      },
      "typeVersion": 1
    },
    {
      "id": "6ddb9df9-36a7-4fc0-b70c-74f509da0035",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        32
      ],
      "parameters": {
        "color": 6,
        "width": 672,
        "height": 688,
        "content": "**Title:** Results Recording & User Feedback\n**Purpose:** Save analysis to Google Sheets and send summary verdict and insights back to the Telegram user.\n\n**Nodes Covered:**\nRecord Website Analysis Results\nReply to User with Decision & Summary\n\n**What Happens:**\nResults are logged for records, and the user instantly receives a concise decision and business analysis on Telegram."
      },
      "typeVersion": 1
    },
    {
      "id": "af29b84d-518c-4d0a-9068-4cccc0e16c58",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1296,
        16
      ],
      "parameters": {
        "color": 5,
        "width": 416,
        "height": 688,
        "content": "**Title:** Input Validation & User Notification\n**Purpose:** Ensure a valid URL exists before continuing workflow, and provide feedback when needed.\n\n**Nodes Covered:**\nURL Present?\nNotify User: No Link Found\n\n**What Happens:**\nIf the extracted URL is missing or invalid, the user receives a Telegram reply to resend a correct link. If the link exists, the workflow continues."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3a3bf771-bb72-46ce-ac78-fba3abe6a295",
  "connections": {
    "bf94bd5c-dca7-48b2-a25f-93e4cfd95d32": {
      "main": [
        [
          {
            "node": "de57d539-97c3-4861-8752-a49738544824",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "96377652-af18-42fe-a692-784deedf84a3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fd5b2e52-120f-4788-aa0e-c4c081f16a23": {
      "main": [
        [
          {
            "node": "aad96069-c146-42a5-abd4-1dfaa7bce3a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "de57d539-97c3-4861-8752-a49738544824": {
      "main": [
        [
          {
            "node": "091481fb-3f6e-441f-a8da-696605c31477",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ee17684f-0a7d-468b-876d-a509dd174c95": {
      "main": [
        [
          {
            "node": "2ebc19f5-a69e-4192-b350-c6303b8bacbc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2ebc19f5-a69e-4192-b350-c6303b8bacbc": {
      "main": [
        [
          {
            "node": "e54c5e12-adc5-4a25-abc7-f3da63f92031",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b9119902-ef41-4463-b602-b5885ba125a9": {
      "ai_languageModel": [
        [
          {
            "node": "2ebc19f5-a69e-4192-b350-c6303b8bacbc",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "ba3cadbe-1ccb-4141-8979-d311d03244d7",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "aad96069-c146-42a5-abd4-1dfaa7bce3a0": {
      "main": [
        [
          {
            "node": "bf94bd5c-dca7-48b2-a25f-93e4cfd95d32",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e54c5e12-adc5-4a25-abc7-f3da63f92031": {
      "main": [
        [
          {
            "node": "ba3cadbe-1ccb-4141-8979-d311d03244d7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9554d3a9-8bab-44a4-b436-b1a1f61581e4": {
      "ai_outputParser": [
        [
          {
            "node": "ba3cadbe-1ccb-4141-8979-d311d03244d7",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "091481fb-3f6e-441f-a8da-696605c31477": {
      "main": [
        [
          {
            "node": "ee17684f-0a7d-468b-876d-a509dd174c95",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba3cadbe-1ccb-4141-8979-d311d03244d7": {
      "main": [
        [
          {
            "node": "30303b5c-b4ac-488d-bd4c-81bc751235c1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "30303b5c-b4ac-488d-bd4c-81bc751235c1": {
      "main": [
        [
          {
            "node": "90716ee6-5ba7-4011-97e6-53198fdfa043",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d6162477-e0ad-4d5c-b7e4-715ab6e17338": {
      "ai_tool": [
        [
          {
            "node": "ba3cadbe-1ccb-4141-8979-d311d03244d7",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

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é ?

Avancé - Résumé IA, 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.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds20
Catégorie2
Types de nœuds13
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
Mirza Ajmal

Mirza Ajmal

@ajmalmirza

Ajmal is an n8n and automation expert who helps businesses streamline workflows, eliminate manual tasks, and leverage AI-powered automation. He specializes in AI agents, API integrations, and no-code automation to optimize operations and boost efficiency.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34