Vérification de la visibilité de la marque - Démo de projet de laboratoire d'IA
Ceci est unMarket Research, AI Summarizationworkflow d'automatisation du domainecontenant 48 nœuds.Utilise principalement des nœuds comme If, Set, Limit, Perplexity, HttpRequest. Analyse de la visibilité de la marque et du sentiment sur les outils de recherche d'IA (OpenAI, Perplexity, ChatGPT)
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Sheets API
- •Clé API OpenAI
Nœuds utilisés (48)
Catégorie
{
"id": "eoiCUdr68Q41iEua",
"meta": {
"instanceId": "88b34e051213082619adc89dcb3c4c6a3611f57a17080c0af86efd3b8840b94f",
"templateCredsSetupCompleted": true
},
"name": "LLMO Brand Visibility Check - AI Lab (28.08) Demo Project",
"tags": [],
"nodes": [
{
"id": "6023f97b-3528-4390-8e58-1c506dedc75d",
"name": "Déclencheur Manuel",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-2240,
256
],
"parameters": {},
"typeVersion": 1
},
{
"id": "fc60def4-55f5-4838-bae8-ef18ab63730e",
"name": "Analyse de Sentiment des Réponses1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-528,
-704
],
"parameters": {
"text": "=You task is to analyse the sentiment of a text message. Your input is the result of an Perplexity AI API Call in the JSON format. \nTake this message and evaluate its content: \"{{ $json.Message }} \"\n\nYour output is a JSON with three classifications:\n1. the Basic Polarity (KEY), with values from Positive, Neutral to Negative \n2. Emotion Category (Key) with values from Joy, Sadness,Anger,Fear, Disgust, Surprise.\n3. Third, Brand Hierachy (key), you evaluate the hierachy of brands mentioned in the LLM Response.\n\nExample Output for Brand Hierarchy: Nike>Adidas>Puma",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "0baea2a7-b19a-4aa7-b121-f1455215102b",
"name": "Mise à jour Feuille/Excel",
"type": "n8n-nodes-base.googleSheets",
"position": [
224,
-704
],
"parameters": {
"columns": {
"value": {
"Response": "={{ $json.Message }}"
},
"schema": [
{
"id": "Prompt",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Brand Mentioning",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Brand Mentioning",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Response",
"type": "string",
"display": true,
"required": false,
"displayName": "Response",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Emotion Category",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Emotion Category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Basic Polarity",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Basic Polarity",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quelle1",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Quelle1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quelle2",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Quelle2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quelle3",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Quelle3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quelle4",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Quelle4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quelle5",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Quelle5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Message",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Tool",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Tool",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Anfrage",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Anfrage",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 568802405,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ObN4sF1fBBXsrg6aBayZdPXETRFNlAtp5H92mEiH33o/edit#gid=568802405",
"cachedResultName": "Output"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1ObN4sF1fBBXsrg6aBayZdPXETRFNlAtp5H92mEiH33o",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ObN4sF1fBBXsrg6aBayZdPXETRFNlAtp5H92mEiH33o/edit?usp=drivesdk",
"cachedResultName": "AI Lab Prompts"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "qdhEdg8zimJRSIxl",
"name": "Google Sheets account (aoetesting gmail)"
}
},
"typeVersion": 4.6
},
{
"id": "0dccf99d-c7ca-4a54-9f81-094b0cf61b15",
"name": "Note Adhésive4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1152,
-800
],
"parameters": {
"width": 464,
"height": 416,
"content": "## LLMO GEO Visibility Research"
},
"typeVersion": 1
},
{
"id": "033a6e5a-4614-41b2-9055-91690ca20975",
"name": "Note Adhésive5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-656,
-800
],
"parameters": {
"width": 528,
"height": 416,
"content": "## Sentiment analysis und brand evaluation"
},
"typeVersion": 1
},
{
"id": "0bf0f1c1-7faf-48a0-972a-7d38b1fa5c07",
"name": "Note Adhésive6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-800
],
"parameters": {
"width": 496,
"height": 416,
"content": "## Reporting"
},
"typeVersion": 1
},
{
"id": "7529683e-cc21-4351-b603-96c1ab5196a0",
"name": "Note Adhésive7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1472,
-800
],
"parameters": {
"width": 288,
"height": 416,
"content": "## Data source"
},
"typeVersion": 1
},
{
"id": "67a8ef42-42da-4729-8818-6782625e46b2",
"name": "Note Adhésive8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1936,
-864
],
"parameters": {
"color": 7,
"width": 2672,
"height": 656,
"content": "## Simplified Flow"
},
"typeVersion": 1
},
{
"id": "0ce10377-ac99-4f8e-97de-407716b12053",
"name": "LLM-Prompts",
"type": "n8n-nodes-base.set",
"position": [
-1376,
-704
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "306f8ce3-e140-4d8b-a8b4-a57c5c131066",
"name": "Prompt",
"type": "string",
"value": "Are Asics running shoes any good"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d76ce3fd-91cd-4c1c-9a4d-579b42b08123",
"name": "Modèle de Chat",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-528,
-512
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "M0gBX6dGinkN0Qym",
"name": "OpenAi account (n8n project)"
}
},
"typeVersion": 1.2
},
{
"id": "13244b6e-40b4-494c-b5b2-2c6693e3807f",
"name": "Analyseur de Sortie",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-384,
-512
],
"parameters": {
"jsonSchemaExample": "{\n \n \"Basic Polarity\": \"Negative\",\n \"Emotion Category\": \"Anger\",\n \"Brand Hierachy\": \"Nike>Adidas>Puma\"\n}"
},
"typeVersion": 1.3
},
{
"id": "f4455754-0af0-4ede-a0ab-eb6a77d1b6d5",
"name": "Ajouter une ligne dans la feuille",
"type": "n8n-nodes-base.googleSheets",
"position": [
928,
304
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "Prompt",
"type": "string",
"display": true,
"required": false,
"displayName": "Prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "LLM",
"type": "string",
"display": true,
"required": false,
"displayName": "LLM",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Response",
"type": "string",
"display": true,
"required": false,
"displayName": "Response",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Brand mentioned",
"type": "string",
"display": true,
"required": false,
"displayName": "Brand mentioned",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Brand Hierarchy",
"type": "string",
"display": true,
"required": false,
"displayName": "Brand Hierarchy",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Basic Polarity",
"type": "string",
"display": true,
"required": false,
"displayName": "Basic Polarity",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Emotion Category",
"type": "string",
"display": true,
"required": false,
"displayName": "Emotion Category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source 1",
"type": "string",
"display": true,
"required": false,
"displayName": "Source 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source 2",
"type": "string",
"display": true,
"required": false,
"displayName": "Source 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source 3",
"type": "string",
"display": true,
"required": false,
"displayName": "Source 3",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1051572958,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ObN4sF1fBBXsrg6aBayZdPXETRFNlAtp5H92mEiH33o/edit#gid=1051572958",
"cachedResultName": "Output many models"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1ObN4sF1fBBXsrg6aBayZdPXETRFNlAtp5H92mEiH33o",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ObN4sF1fBBXsrg6aBayZdPXETRFNlAtp5H92mEiH33o/edit?usp=drivesdk",
"cachedResultName": "AI Lab Prompts"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "qdhEdg8zimJRSIxl",
"name": "Google Sheets account (aoetesting gmail)"
}
},
"typeVersion": 4.7
},
{
"id": "fb6acc43-81a2-4b6f-85d9-74715960213d",
"name": "OpenAI Modèle de Chat1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
336,
528
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "M0gBX6dGinkN0Qym",
"name": "OpenAi account (n8n project)"
}
},
"typeVersion": 1.2
},
{
"id": "f6d1180b-8dbc-4ae2-ad7d-02e3a17dbb7f",
"name": "Analyse de Sentiment des Réponses3",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
320,
320
],
"parameters": {
"text": "=Take this message and evaluate its content: \"{{ $json.Response }}\"\n",
"options": {
"systemMessage": "You task is to analyse the sentiment of a text message. Your input is the result of an Perplexity AI API Call in JSON format. \n\n--\n\n\nYour output is a JSON with three classifications:\n1. the Basic Polarity (KEY), with values from Positive, Neutral to Negative \n2. Emotion Category (Key) with values from Joy, Sadness,Anger,Fear, Disgust, Surprise.\n3. Third, Brand Hierachy (key), you evaluate the hierachy of brands mentioned in the LLM Response.\n\nExample Output for Brand Hierarchy: Nike>Adidas>Puma"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "c8786ef3-5147-4f02-9d71-bbee87d3a19d",
"name": "Analyseur de Sortie Structurée3",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
480,
528
],
"parameters": {
"jsonSchemaExample": "{\n \"Basic Polarity\": \"Negative\",\n \"Emotion Category\": \"Anger\",\n \"Brand Hierachy\": \"Nike>Adidas>Puma\"\n}"
},
"typeVersion": 1.3
},
{
"id": "e3398784-fe71-4d86-bfcd-96ec8ae6e816",
"name": "Note Adhésive10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2416,
-208
],
"parameters": {
"color": 7,
"width": 4000,
"height": 1360,
"content": "## multi-model prompting"
},
"typeVersion": 1
},
{
"id": "89625abb-4027-42ea-83d0-b180b42bcd24",
"name": "Note Adhésive11",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1168,
-48
],
"parameters": {
"color": 2,
"width": 1008,
"height": 80,
"content": "## LLMO GEO Brand Visibility Research"
},
"typeVersion": 1
},
{
"id": "dfdf11bb-f6f3-4af9-93dd-8ccb540ea09b",
"name": "Note Adhésive12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-112,
48
],
"parameters": {
"width": 704,
"height": 640,
"content": "## Sentiment Analysis and Brandevaluation"
},
"typeVersion": 1
},
{
"id": "8125153b-44e3-4caf-b48e-966abc5f88a3",
"name": "Note Adhésive13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3360,
-1280
],
"parameters": {
"color": 4,
"width": 896,
"height": 384,
"content": "# Use Case Explanation\n\nUsers are continuously more and more using AI tools like ChatGPT, Perplexity etc to find what they need. Therefore, it's more and more important for brands and organization to be visible when users ask relevant questions. \n\nThe first step to optimize for visibility in these AI tools is to know where your brand stand. \n\nThis workflow helps in automating the analysis of the current visibility in tools like:\n- native open AI knowledge\n- Perplexity\n- chatGPT\n\nIt can be extended for more tools. See this workflow as a kickstart. There's much more you can do. The benefit of using a workflow for these analysis is that you can add your specific evaluations and your specific reasonings, even such as potential optimizations to increase visibility.\n\nInterested in professional AI automation - feel free to [check our services](https://www.aoe.com/de/services/automation-ai/n8n)"
},
"typeVersion": 1
},
{
"id": "46cf70fd-a8f5-4310-b226-8f0bbca0519a",
"name": "OpenAI Modèle de Chat (GPT 5)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-704,
256
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5",
"cachedResultName": "gpt-5"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "M0gBX6dGinkN0Qym",
"name": "OpenAi account (n8n project)"
}
},
"typeVersion": 1.2
},
{
"id": "7260d41f-2349-45ab-bcec-6c8d73fab4e5",
"name": "OpenAI Requête",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
-704,
112
],
"parameters": {
"text": "={{ $json.Prompt }}",
"batching": {},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "f83b4579-7eee-437c-bdc7-34273e19925b",
"name": "OpenAI",
"type": "n8n-nodes-base.set",
"position": [
-352,
96
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "51253e72-9fc7-45de-bdfb-52087d1e6fc2",
"name": "Response",
"type": "string",
"value": "={{ $json.text }}"
},
{
"id": "1f6d60ae-2599-4371-baf9-d833bf03ad98",
"name": "LLM",
"type": "string",
"value": "OpenAI"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "81b6c166-e656-45e1-a630-d899fe850841",
"name": "Note Adhésive14",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1168,
48
],
"parameters": {
"width": 1008,
"height": 288,
"content": "## OpenAI (API / LLM Knowledge)"
},
"typeVersion": 1
},
{
"id": "a5778474-4314-4347-abd3-f13e095d4b39",
"name": "Note Adhésive15",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1968,
-48
],
"parameters": {
"width": 752,
"height": 624,
"content": "## Input\n(Replace to your need)"
},
"typeVersion": 1
},
{
"id": "7f4cb9f8-941f-42bd-aba5-833b15dee6d8",
"name": "Note Adhésive16",
"type": "n8n-nodes-base.stickyNote",
"position": [
-112,
-48
],
"parameters": {
"color": 2,
"width": 704,
"height": 80,
"content": "## Result Evaluation"
},
"typeVersion": 1
},
{
"id": "8f53dcf4-7957-478a-9f67-bf8b8b701775",
"name": "Note Adhésive17",
"type": "n8n-nodes-base.stickyNote",
"position": [
624,
-48
],
"parameters": {
"color": 2,
"width": 576,
"height": 80,
"content": "## Store Result"
},
"typeVersion": 1
},
{
"id": "b997e680-41f9-4163-b6e3-47bb734b06b8",
"name": "Note Adhésive18",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1168,
384
],
"parameters": {
"width": 1008,
"height": 256,
"content": "## Perplexity"
},
"typeVersion": 1
},
{
"id": "44c0457c-ce38-4285-be10-13be5af2046e",
"name": "Note Adhésive19",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1168,
672
],
"parameters": {
"width": 1008,
"height": 272,
"content": "## ChatGPT\n\n"
},
"typeVersion": 1
},
{
"id": "1fc655af-c428-4bad-8df3-7dbb193d8005",
"name": "APIfy Appel ChatGPT Scraper",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-864,
736
],
"parameters": {
"url": "https://api.apify.com/v2/acts/automation_nerd~chatgpt-prompt-actor/run-sync-get-dataset-items",
"method": "POST",
"options": {},
"jsonBody": "={\n \"prompts\": [{{ JSON.stringify($json[\"Prompt\"]) }}],\n \"proxyCountry\": \"DE\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpQueryAuth"
},
"credentials": {
"httpQueryAuth": {
"id": "0jsRZDiuGwwQPHPB",
"name": "APIFy Token (Test account)"
}
},
"retryOnFail": false,
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "0c0d89a3-8c5a-4d18-82af-2c0cf3129e85",
"name": "Note Adhésive20",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1168,
992
],
"parameters": {
"color": 3,
"width": 464,
"height": 256,
"content": "Use this node with care - only for testing and to your own risk. \nIt's using an APIfy actor that tries to prompt ChatGPT through the web interface.\n\nOpen AI might restrict access and you might violate usage conditions. \nSo use at your own risk and check the APIfy documentations for more details on how to use this.\n"
},
"typeVersion": 1
},
{
"id": "a66095ef-09fd-4d7e-a33c-ea7ac731fc4a",
"name": "Cartographie Finale",
"type": "n8n-nodes-base.set",
"position": [
16,
-704
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "81d3aa0e-4db1-4a08-9d17-a2e88708a262",
"name": "source #1",
"type": "string",
"value": "={{ $('Map LLM Output').item.json.Citation1 }}"
},
{
"id": "ec22de77-1bb3-4acd-889a-23866068014f",
"name": "source #2",
"type": "string",
"value": "={{ $('Map LLM Output').item.json.Citation2 }}"
},
{
"id": "d8ada9a6-8be5-4042-928b-f88364fe6c20",
"name": "source #3",
"type": "string",
"value": "={{ $('Map LLM Output').item.json.Citation3 }}"
},
{
"id": "30a63ecd-ab3d-4de5-9a9e-0010f40beb4d",
"name": "source #4",
"type": "string",
"value": "={{ $('Map LLM Output').item.json.Citation4 }}"
},
{
"id": "e87fcbbd-a77d-408b-a27d-ecec890d0cc1",
"name": "source #5",
"type": "string",
"value": "={{ $('Map LLM Output').item.json.Citation5 }}"
},
{
"id": "0972cb5b-a561-44a3-8872-477a54c4d64e",
"name": "Message",
"type": "string",
"value": "={{ $('Map LLM Output').item.json.Message }}"
},
{
"id": "ac0895c7-df51-46a4-b6bd-6a736ecd4eea",
"name": "Emotion Category",
"type": "string",
"value": "={{ $json.output['Emotion Category'] }}"
},
{
"id": "dd9c8884-b58d-4d01-b5c1-a1d1b9b38ac4",
"name": "Basic Polarity",
"type": "string",
"value": "={{ $json.output['Basic Polarity'] }}"
},
{
"id": "e47cbb34-9bfe-4a5f-8ade-80754a9e9d1a",
"name": "Brand Hierachy",
"type": "string",
"value": "={{ $json.output[\"Brand Hierachy\"] }}"
},
{
"id": "11e7f8c8-e965-4cbb-8d48-ec59b95eb7b6",
"name": "Prompt",
"type": "string",
"value": "={{ $('LLM-Prompts').item.json.Prompt }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ec91e5db-13ab-4c68-91d3-c15fbd391c57",
"name": "Requête Perplexity",
"type": "n8n-nodes-base.perplexity",
"position": [
-656,
464
],
"parameters": {
"model": "sonar",
"options": {},
"messages": {
"message": [
{
"content": "={{ $json.Prompt }}"
}
]
},
"requestOptions": {}
},
"credentials": {
"perplexityApi": {
"id": "hGRSmzGiDNMOmljL",
"name": "LLM-SEO PoC Key"
}
},
"typeVersion": 1
},
{
"id": "8912b8d9-266c-4b9f-9e4e-d12dd5c7a97d",
"name": "Requête Perplexity1",
"type": "n8n-nodes-base.perplexity",
"position": [
-1072,
-704
],
"parameters": {
"model": "sonar",
"options": {},
"messages": {
"message": [
{
"content": "={{ $json.Prompt }}"
}
]
},
"requestOptions": {}
},
"credentials": {
"perplexityApi": {
"id": "hGRSmzGiDNMOmljL",
"name": "LLM-SEO PoC Key"
}
},
"typeVersion": 1
},
{
"id": "410190c4-513c-4524-b8ca-1383bd00f8fe",
"name": "Cartographie Sortie LLM",
"type": "n8n-nodes-base.set",
"position": [
-864,
-704
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "81d3aa0e-4db1-4a08-9d17-a2e88708a262",
"name": "Citation1",
"type": "string",
"value": "={{ $json.citations[0] }}"
},
{
"id": "ec22de77-1bb3-4acd-889a-23866068014f",
"name": "Citation2",
"type": "string",
"value": "={{ $json.citations[1] }}"
},
{
"id": "d8ada9a6-8be5-4042-928b-f88364fe6c20",
"name": "Citation3",
"type": "string",
"value": "={{ $json.citations[2] }}"
},
{
"id": "30a63ecd-ab3d-4de5-9a9e-0010f40beb4d",
"name": "Citation4",
"type": "string",
"value": "={{ $json.citations[3] }}"
},
{
"id": "e87fcbbd-a77d-408b-a27d-ecec890d0cc1",
"name": "Citation5",
"type": "string",
"value": "={{ $json.citations[4] }}"
},
{
"id": "0972cb5b-a561-44a3-8872-477a54c4d64e",
"name": "Message",
"type": "string",
"value": "={{ $json.choices[0].message.content }}"
},
{
"id": "d06c8225-5bfe-41a8-8d56-06201c5de6c7",
"name": "Prompt",
"type": "string",
"value": "={{ $('LLM-Prompts').item.json.Prompt }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b1b67d26-323f-43d6-af99-6a751e7dc75e",
"name": "Note Adhésive21",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3328,
-848
],
"parameters": {
"color": 4,
"width": 896,
"height": 384,
"content": "# Using the simple Perplexity Flow\n\nThe simple flow calls the Perplexity API with the hardcoded Prompt in the first node. \n\nTo use it, just connect your openAI credentials and create a Google Sheet in your Google account with the proper fields to collect the result. \n\nThis simple flow acts as a demo. Use it to extend with your logic.\n"
},
"typeVersion": 1
},
{
"id": "a3fac816-4abc-4869-9ab1-19ffa4f5a53a",
"name": "Note Adhésive22",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3360,
-144
],
"parameters": {
"color": 4,
"width": 896,
"height": 480,
"content": "# Using the multi model flow\n\nThis flow uses a Google Sheet to get the input prompts and then executes that prompts towards three different AI tools:\n\n1) just the openAI API to check the basic knowledge.\n2) Perplexity \n3) Uses APIfy to call a chatGPT scraping actor (use at own risk)\n\n--\n## To use the flow:\n\n- Connect your google sheet and prepare two sheets: \n - one with the input prompts (containing just one Column \"Prompt\")\n - and one for the output w\n\n\n- Create apify credential: \"Generic Credential Type\" > \"Query Auth\". Use Name \"token\" and paste the \nt te Column \"Prompt\tLLM\tResponse\tBrand mentioned\tBrand Hierarchy\tBasic Polarity\tEmotion Category\tSource 1\tSource 2\tSource 3\tSource4\""
},
"typeVersion": 1
},
{
"id": "84a55a32-071a-43c6-a8c8-6e50dc31c705",
"name": "Lire Prompts1",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1936,
240
],
"parameters": {
"range": "A1:A100",
"options": {},
"sheetId": "1ObN4sF1fBBXsrg6aBayZdPXETRFNlAtp5H92mEiH33o"
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "qdhEdg8zimJRSIxl",
"name": "Google Sheets account (aoetesting gmail)"
}
},
"typeVersion": 2
},
{
"id": "d22d72c3-9a88-4fa9-8e13-4f6c84100ae6",
"name": "Boucle sur Prompts",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-1456,
240
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "67f32fd1-5f4a-40d9-825c-a90157dae006",
"name": "Entrée Avant Boucle",
"type": "n8n-nodes-base.noOp",
"position": [
-1616,
240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f92edafd-a458-42f5-acfc-c2a0e9eae6af",
"name": "Entrée Manuelle",
"type": "n8n-nodes-base.set",
"position": [
-1904,
448
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "05e2a95b-2e64-43c1-873d-744a9fd4b656",
"name": "Prompt",
"type": "string",
"value": "Was sind die besten Laufschuhe?"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "53519447-0bb2-4975-8c91-2b3b729f837c",
"name": "Limite pour Test",
"type": "n8n-nodes-base.limit",
"position": [
-1792,
240
],
"parameters": {
"maxItems": 2
},
"typeVersion": 1
},
{
"id": "438305e4-b1e0-4ce9-b54e-86c93ea850b7",
"name": "Cartographe Perplexity",
"type": "n8n-nodes-base.set",
"position": [
-336,
480
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "44594b4e-0665-4a34-b7af-9eb8993dca3e",
"name": "Response",
"type": "string",
"value": "={{ $json.choices[0].message.content }}"
},
{
"id": "1add090f-9bc2-44ba-b996-7946ffb0fc17",
"name": "LLM",
"type": "string",
"value": "Perplexity"
},
{
"id": "bb33a029-c428-490d-a51b-0e11556a04bf",
"name": "Source1",
"type": "string",
"value": "={{ $json.citations[0]}}"
},
{
"id": "71b8cc6a-f6a7-484e-ab76-8b20a15217d6",
"name": "Source2",
"type": "string",
"value": "={{ $json.citations[1]}}"
},
{
"id": "512b2a94-91c7-4046-be6f-ffee545a8502",
"name": "Source3",
"type": "string",
"value": "={{ $json.citations[3]}}"
},
{
"id": "13e874d5-bbb1-4624-809b-2631f2e915ad",
"name": "Source4",
"type": "string",
"value": "={{ $json.citations[3]}}"
},
{
"id": "85f0a9a3-22ac-482d-9ba6-31cf18a33af9",
"name": "Source5",
"type": "string",
"value": "={{ $json.citations[4]}}"
},
{
"id": "0d7bfe8c-a9de-442d-a186-1d10bdf31985",
"name": "Source6",
"type": "string",
"value": "={{ $json.citations[5]}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "4086a4bc-527c-41ad-8f46-7e9ab78f30f5",
"name": "Cartographe ChatGPT",
"type": "n8n-nodes-base.set",
"position": [
-320,
688
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "44594b4e-0665-4a34-b7af-9eb8993dca3e",
"name": "Response",
"type": "string",
"value": "={{ $json.response }}"
},
{
"id": "1add090f-9bc2-44ba-b996-7946ffb0fc17",
"name": "LLM",
"type": "string",
"value": "ChatGPT"
},
{
"id": "bb33a029-c428-490d-a51b-0e11556a04bf",
"name": "Source1",
"type": "string",
"value": "={{ $json.citations[0].url}}"
},
{
"id": "71b8cc6a-f6a7-484e-ab76-8b20a15217d6",
"name": "Source2",
"type": "string",
"value": "={{ $json.citations[1].url}}"
},
{
"id": "512b2a94-91c7-4046-be6f-ffee545a8502",
"name": "Source3",
"type": "string",
"value": "={{ $json.citations[3].url}}"
},
{
"id": "13e874d5-bbb1-4624-809b-2631f2e915ad",
"name": "Source4",
"type": "string",
"value": "={{ $json.citations[3].url}}"
},
{
"id": "85f0a9a3-22ac-482d-9ba6-31cf18a33af9",
"name": "Source5",
"type": "string",
"value": "={{ $json.citations[4].url}}"
},
{
"id": "0d7bfe8c-a9de-442d-a186-1d10bdf31985",
"name": "Source6",
"type": "string",
"value": "={{ $json.citations[5].url}}"
},
{
"id": "998de421-8d87-4f4b-a605-e7cc54dc7872",
"name": "NewsListing1",
"type": "string",
"value": "={{ $json.newsListing[0].url}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "cbe3ef1b-49c9-438f-bcdb-96476e293cd9",
"name": "Préparer Colonnes Feuille",
"type": "n8n-nodes-base.set",
"position": [
704,
304
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "08e610b4-563f-4f6d-b79e-cfc40b0d2f81",
"name": "Prompt",
"type": "string",
"value": "={{ $('loop-input').item.json.Prompt }}"
},
{
"id": "d34deaf5-2918-4afa-911c-d0922dcd7925",
"name": "Response",
"type": "string",
"value": "={{ $('normalized-tool-response').item.json.Response }}"
},
{
"id": "9f4ccf36-cfe0-4920-8f72-5c683a345806",
"name": "Brand mentioned",
"type": "string",
"value": "={{ $('normalized-tool-response').item.json.Response.toLowerCase().includes(\"asics\") }}"
},
{
"id": "b8b67f47-747b-41f7-9e8c-e31ac5f8047f",
"name": "Brand Hierarchy",
"type": "string",
"value": "={{ $json.output['Brand Hierachy'] || \"\" }}"
},
{
"id": "f954ed8a-d432-4a30-bbc5-2d864901b356",
"name": "Basic Polarity",
"type": "string",
"value": "={{ $json.output['Basic Polarity'] || \"\" }}"
},
{
"id": "817ce1aa-f913-4933-9646-340ff66c784b",
"name": "Emotion Category",
"type": "string",
"value": "={{ $json.output['Emotion Category'] || \"\"}}"
},
{
"id": "25feac61-7a0d-469b-ba5f-061e75a66c99",
"name": "Source 1",
"type": "string",
"value": "={{ $('normalized-tool-response').item.json.Source1?$('normalized-tool-response').item.json.Source1:\"\" }}"
},
{
"id": "9d7b5abd-64ac-4032-a765-d8d995a898e4",
"name": "Source 2",
"type": "string",
"value": "={{ $('normalized-tool-response').item.json.Source2?$('normalized-tool-response').item.json.Source2:\"\" }}"
},
{
"id": "d1bd2690-777b-419d-9b8c-e3d746525fe0",
"name": "Source 3",
"type": "string",
"value": "={{ $('normalized-tool-response').item.json.Source3?$('normalized-tool-response').item.json.Source3:\"\" }}"
},
{
"id": "7b53cb12-1e02-4ce3-ad0a-6c4f930eeb6c",
"name": "Source4",
"type": "string",
"value": "={{ $('normalized-tool-response').item.json.Source4?$('normalized-tool-response').item.json.Source4:\"\" }}"
},
{
"id": "e3bf318d-5986-451c-9a5c-e4d46055951b",
"name": "LLM",
"type": "string",
"value": "={{ $('normalized-tool-response').item.json.LLM }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ad845eea-f2ae-48a2-ae5f-ddf050ee648a",
"name": "Réponse Outil Normalisée",
"type": "n8n-nodes-base.noOp",
"position": [
32,
336
],
"parameters": {},
"typeVersion": 1
},
{
"id": "24cd700e-5ff1-4a5a-9564-0857046347d5",
"name": "Entrée Boucle",
"type": "n8n-nodes-base.noOp",
"position": [
-1296,
320
],
"parameters": {},
"typeVersion": 1
},
{
"id": "67ab9566-baa4-4cc6-ba9f-598919abf806",
"name": "Si Réussi",
"type": "n8n-nodes-base.if",
"position": [
-656,
736
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "221e7600-61b9-4f53-a904-a04bacc391f9",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.prompt }}",
"rightValue": 0
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f5329382-468c-4a50-ba99-c941693fcf54",
"name": "Fin de Boucle",
"type": "n8n-nodes-base.noOp",
"position": [
1136,
704
],
"parameters": {},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "f43370b9-890c-4081-8787-39ac1033a57c",
"connections": {
"f83b4579-7eee-437c-bdc7-34273e19925b": {
"main": [
[
{
"node": "ad845eea-f2ae-48a2-ae5f-ddf050ee648a",
"type": "main",
"index": 0
}
]
]
},
"f5329382-468c-4a50-ba99-c941693fcf54": {
"main": [
[
{
"node": "d22d72c3-9a88-4fa9-8e13-4f6c84100ae6",
"type": "main",
"index": 0
}
]
]
},
"d76ce3fd-91cd-4c1c-9a4d-579b42b08123": {
"ai_languageModel": [
[
{
"node": "fc60def4-55f5-4838-bae8-ef18ab63730e",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"24cd700e-5ff1-4a5a-9564-0857046347d5": {
"main": [
[
{
"node": "7260d41f-2349-45ab-bcec-6c8d73fab4e5",
"type": "main",
"index": 0
},
{
"node": "ec91e5db-13ab-4c68-91d3-c15fbd391c57",
"type": "main",
"index": 0
},
{
"node": "1fc655af-c428-4bad-8df3-7dbb193d8005",
"type": "main",
"index": 0
}
]
]
},
"0ce10377-ac99-4f8e-97de-407716b12053": {
"main": [
[
{
"node": "8912b8d9-266c-4b9f-9e4e-d12dd5c7a97d",
"type": "main",
"index": 0
}
]
]
},
"f92edafd-a458-42f5-acfc-c2a0e9eae6af": {
"main": [
[
{
"node": "67f32fd1-5f4a-40d9-825c-a90157dae006",
"type": "main",
"index": 0
}
]
]
},
"67ab9566-baa4-4cc6-ba9f-598919abf806": {
"main": [
[
{
"node": "4086a4bc-527c-41ad-8f46-7e9ab78f30f5",
"type": "main",
"index": 0
}
],
[
{
"node": "f5329382-468c-4a50-ba99-c941693fcf54",
"type": "main",
"index": 0
}
]
]
},
"13244b6e-40b4-494c-b5b2-2c6693e3807f": {
"ai_outputParser": [
[
{
"node": "fc60def4-55f5-4838-bae8-ef18ab63730e",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"84a55a32-071a-43c6-a8c8-6e50dc31c705": {
"main": [
[
{
"node": "53519447-0bb2-4975-8c91-2b3b729f837c",
"type": "main",
"index": 0
}
]
]
},
"a66095ef-09fd-4d7e-a33c-ea7ac731fc4a": {
"main": [
[
{
"node": "0baea2a7-b19a-4aa7-b121-f1455215102b",
"type": "main",
"index": 0
}
]
]
},
"4086a4bc-527c-41ad-8f46-7e9ab78f30f5": {
"main": [
[
{
"node": "ad845eea-f2ae-48a2-ae5f-ddf050ee648a",
"type": "main",
"index": 0
}
]
]
},
"6023f97b-3528-4390-8e58-1c506dedc75d": {
"main": [
[
{
"node": "84a55a32-071a-43c6-a8c8-6e50dc31c705",
"type": "main",
"index": 0
}
]
]
},
"410190c4-513c-4524-b8ca-1383bd00f8fe": {
"main": [
[
{
"node": "fc60def4-55f5-4838-bae8-ef18ab63730e",
"type": "main",
"index": 0
}
]
]
},
"7260d41f-2349-45ab-bcec-6c8d73fab4e5": {
"main": [
[
{
"node": "f83b4579-7eee-437c-bdc7-34273e19925b",
"type": "main",
"index": 0
}
]
]
},
"53519447-0bb2-4975-8c91-2b3b729f837c": {
"main": [
[
{
"node": "67f32fd1-5f4a-40d9-825c-a90157dae006",
"type": "main",
"index": 0
}
]
]
},
"d22d72c3-9a88-4fa9-8e13-4f6c84100ae6": {
"main": [
[],
[
{
"node": "24cd700e-5ff1-4a5a-9564-0857046347d5",
"type": "main",
"index": 0
}
]
]
},
"438305e4-b1e0-4ce9-b54e-86c93ea850b7": {
"main": [
[
{
"node": "ad845eea-f2ae-48a2-ae5f-ddf050ee648a",
"type": "main",
"index": 0
}
]
]
},
"67f32fd1-5f4a-40d9-825c-a90157dae006": {
"main": [
[
{
"node": "d22d72c3-9a88-4fa9-8e13-4f6c84100ae6",
"type": "main",
"index": 0
}
]
]
},
"fb6acc43-81a2-4b6f-85d9-74715960213d": {
"ai_languageModel": [
[
{
"node": "f6d1180b-8dbc-4ae2-ad7d-02e3a17dbb7f",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"ec91e5db-13ab-4c68-91d3-c15fbd391c57": {
"main": [
[
{
"node": "438305e4-b1e0-4ce9-b54e-86c93ea850b7",
"type": "main",
"index": 0
}
]
]
},
"f4455754-0af0-4ede-a0ab-eb6a77d1b6d5": {
"main": [
[
{
"node": "f5329382-468c-4a50-ba99-c941693fcf54",
"type": "main",
"index": 0
}
]
]
},
"8912b8d9-266c-4b9f-9e4e-d12dd5c7a97d": {
"main": [
[
{
"node": "410190c4-513c-4524-b8ca-1383bd00f8fe",
"type": "main",
"index": 0
}
]
]
},
"cbe3ef1b-49c9-438f-bcdb-96476e293cd9": {
"main": [
[
{
"node": "f4455754-0af0-4ede-a0ab-eb6a77d1b6d5",
"type": "main",
"index": 0
}
]
]
},
"ad845eea-f2ae-48a2-ae5f-ddf050ee648a": {
"main": [
[
{
"node": "f6d1180b-8dbc-4ae2-ad7d-02e3a17dbb7f",
"type": "main",
"index": 0
}
]
]
},
"46cf70fd-a8f5-4310-b226-8f0bbca0519a": {
"ai_languageModel": [
[
{
"node": "7260d41f-2349-45ab-bcec-6c8d73fab4e5",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"c8786ef3-5147-4f02-9d71-bbee87d3a19d": {
"ai_outputParser": [
[
{
"node": "f6d1180b-8dbc-4ae2-ad7d-02e3a17dbb7f",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"1fc655af-c428-4bad-8df3-7dbb193d8005": {
"main": [
[
{
"node": "67ab9566-baa4-4cc6-ba9f-598919abf806",
"type": "main",
"index": 0
}
]
]
},
"fc60def4-55f5-4838-bae8-ef18ab63730e": {
"main": [
[
{
"node": "a66095ef-09fd-4d7e-a33c-ea7ac731fc4a",
"type": "main",
"index": 0
}
]
]
},
"f6d1180b-8dbc-4ae2-ad7d-02e3a17dbb7f": {
"main": [
[
{
"node": "cbe3ef1b-49c9-438f-bcdb-96476e293cd9",
"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é ?
Avancé - É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
AOE Agent Lab
@aoepeopleWe are AOE’s AI & Automation Team – engineers, architects, and AI specialists. We build production-ready, agent-based automation using n8n, LLMs, vector stores, and secure toolchains. Our focus: ideation, evaluation-driven development, and scalable AI architecture. All workflows are modular, reusable, and built for real-world application – by practitioners
Partager ce workflow