Créer des articles d'experts à double source en utilisant Lookio, Linkup et GPT-5

Avancé

Ceci est uncontenant 21 nœuds.Utilise principalement des nœuds comme Set, SplitOut, Aggregate, FormTrigger, HttpRequest. Créer des articles d'experts à double source avec Lookio, Linkup et GPT-5

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Clé API OpenAI

Catégorie

-
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
{
  "nodes": [
    {
      "id": "7bf61071-1e5c-4a4f-a187-86322f7870fd",
      "name": "Nouveau contenu - générer des questions de recherche",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -1024,
        528
      ],
      "parameters": {
        "text": "=Content title:  {{ $json.Title }}\n\nArticle guidelines: {{ $json.Guidelines }}\n\n",
        "messages": {
          "messageValues": [
            {
              "message": "=You will receive a content title and an angle. Return 5–8 non-overlapping questions in JSON array format that cover everything needed to write excellent content as it breaks down the topic into sub-questions.\n\nGuidelines:  \n- Start with simple, short broad questions for example to define the terms (e.g., What is X?, Why is X important?, How to do X?).  \n- Then move into more specific, advanced, or analytical questions.  \n- Ensure questions together form a complete coverage of the topic.   \n\n## Output format:\n\nYou'll return the questions in such a JSON ARRAY:\n\n[\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, ut enim ad minim veniam?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur?\"\n  }\n]"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.5
    },
    {
      "id": "1b690964-85a5-4b63-8bc0-bdcabda04687",
      "name": "Nouveau contenu - Générer la sortie IA",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        144,
        -48
      ],
      "parameters": {
        "text": "=Article title:\n\n{{ $('Prepare form values').first().json.Title }}\n\nArticle guidelines:\n\n{{ $('Prepare form values').first().json.Guidelines }}\n\n\nContent to leverage:\n\nThis detailed Q&A research provides high-quality knowledge, insights, and sources for your content. Each question features insights from our internal knowledge base and insights found on the web. Be sure to include source links in your output whenever a source was used.\n\n{{ JSON.stringify($json['Content to leverage'], null, 2) }}\n",
        "messages": {
          "messageValues": [
            {
              "message": "=# Role\n\nYour role is to write an article based on the request in the user message.\n\n# What the user message contains\n\nThe user message includes the article title, any guidelines to follow, and comprehensive research material. This research is the sole basis for your article — do not invent information beyond it. When the research includes source links, integrate them smoothly as hyperlinks in the article.\n\n# How to write good articles\n\nYou excel at writing articles by making sure that they deliver value, are concise, seem like they are human-written, not using typical AI useless sentence formulations.\n\n# Your output format\n\nOutput only the full article.\n\n* Begin with a `# H1` title.\n* Use subheadings throughout the article."
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.5
    },
    {
      "id": "2bcda6a8-4a48-4f93-be65-8dc21116d2dd",
      "name": "Formulaire de nouvel article",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -1568,
        528
      ],
      "webhookId": "38617360-598d-40c5-a07a-9214085a87e2",
      "parameters": {
        "options": {},
        "formTitle": "New article",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Article title",
              "placeholder": "10 ways to do Influencer Marketing in 2025",
              "requiredField": true
            },
            {
              "fieldLabel": "Article guidelines",
              "placeholder": "Promote xyz and write in British English...",
              "requiredField": true
            }
          ]
        },
        "formDescription": "Fill in this form to trigger the generation of a new article."
      },
      "typeVersion": 2.3
    },
    {
      "id": "06e35599-9ab1-445b-aa1e-7a04ea798c8a",
      "name": "Préparer les valeurs du formulaire",
      "type": "n8n-nodes-base.set",
      "position": [
        -1312,
        528
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ec4734ed-654f-478a-ab90-91bfcee1e208",
              "name": "Title",
              "type": "string",
              "value": "={{ $json['Article title'] }}"
            },
            {
              "id": "c034402e-a7b9-4c91-aaed-f24a838c3d91",
              "name": "Guidelines",
              "type": "string",
              "value": "={{ $json['Article guidelines'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ddd15121-9dd9-48e0-90cf-5f3970e43564",
      "name": "Analyseur de sortie structurée",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -896,
        752
      ],
      "parameters": {
        "jsonSchemaExample": "[\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, ut enim ad minim veniam?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur?\"\n  }\n]"
      },
      "typeVersion": 1.2
    },
    {
      "id": "bbf1d36c-9cfa-4bb0-b1b1-7403493bd836",
      "name": "GPT 5 mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1024,
        752
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "gpt-5-mini"
        },
        "options": {
          "reasoningEffort": "low"
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "dMiSy27YCK6c6rra",
          "name": "Duv's OpenAI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1472aa87-3e1a-4ca1-8985-4e4a37ea6544",
      "name": "Séparer les questions",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -608,
        528
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "output"
      },
      "typeVersion": 1
    },
    {
      "id": "d49ae369-48e2-4566-9d46-f532abd54213",
      "name": "Boucler sur les questions",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -352,
        512
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "ceb186a4-09ba-4cf2-bb3d-3ff8f9677d13",
      "name": "GPT 5 chat",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        224,
        176
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-chat-latest",
          "cachedResultName": "gpt-5-chat-latest"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "dMiSy27YCK6c6rra",
          "name": "Duv's OpenAI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2b8a4dbb-0920-432c-a4b0-8cb08a49a1ea",
      "name": "Résultat de l'article",
      "type": "n8n-nodes-base.set",
      "position": [
        560,
        -48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d3b8c4bc-27d9-4d57-b8d6-3a40b84d7b7d",
              "name": "Article",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6f55841c-a444-4f2a-ab9d-ebd7b2dd222a",
      "name": "Note autocollante",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        512
      ],
      "parameters": {
        "color": 7,
        "width": 224,
        "height": 368,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nConnect your [lookio.app](https://www.lookio.app) credentials & set the ID of the Assistant to query"
      },
      "typeVersion": 1
    },
    {
      "id": "f167aab8-2d09-4748-9eba-74bbd8acae27",
      "name": "Note autocollante 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1152,
        -256
      ],
      "parameters": {
        "width": 832,
        "height": 560,
        "content": "# Expert AI Article Writer - Knowledge base + Web\n\nThis isn't just a writer; it's an automated research and content team. It generates high-quality, reliable articles by grounding the entire process in *your own* knowledge base.\n\n## How it works\n1.  **Decompose:** An AI planner breaks your article topic into a series of sub-questions.\n2.  **Research:** It queries your **Lookio Assistant** to gather insights from your internal knowledge base and queries **Linkup** to gather insights from the web.\n3.  **Write:** A final, powerful AI writes the article based *only* on this verified research, including source links.\n\n## How to use\n1.  **Set up in Lookio:** First, build your assistant in **Lookio** with your knowledge sources and get your **API Token** & **Assistant ID**.\n2.  **Configure this workflow:**\n    * Connect your **AI provider** to the LLM nodes.\n    * In the **Query Lookio Assistant** node, add your **Assistant ID** and **API Token**.\n    * In the **Query Linkup for AI web-search** node, add your Linkup **credentials**.\n3.  **Run:** Use the form to enter a title and guidelines, and let the workflow generate your article.\n\n\n*A template built by Guillaume Duvernay*"
      },
      "typeVersion": 1
    },
    {
      "id": "7a895183-d6fc-4a09-bd3a-ec90e633a040",
      "name": "Note autocollante 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        384
      ],
      "parameters": {
        "color": 6,
        "width": 1232,
        "height": 608,
        "content": "## Answering each sub-question one by one with Lookio for internal knowledge insights & Linkup for web-insights"
      },
      "typeVersion": 1
    },
    {
      "id": "e1be0351-9071-446c-acab-2640f776b2ea",
      "name": "Note autocollante 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        -208
      ],
      "parameters": {
        "color": 5,
        "width": 368,
        "height": 512,
        "content": "## AI step writing the final article based on the research and initial request"
      },
      "typeVersion": 1
    },
    {
      "id": "6a0492ec-fd4c-449c-ab88-d8dcdd02f9b1",
      "name": "Note autocollante 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1152,
        384
      ],
      "parameters": {
        "color": 6,
        "width": 480,
        "height": 608,
        "content": "## Breaking down the topic into sub-questions"
      },
      "typeVersion": 1
    },
    {
      "id": "fa485a6a-d18e-4ff6-a808-9e3deb904c0f",
      "name": "Note autocollante 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1648,
        400
      ],
      "parameters": {
        "color": 4,
        "width": 272,
        "height": 304,
        "content": "## Fill in this form to request a new article"
      },
      "typeVersion": 1
    },
    {
      "id": "13a04bfc-4e36-48fa-8c3e-c0104a959c8f",
      "name": "Interroger l'assistant Lookio",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -32,
        560
      ],
      "parameters": {
        "url": "https://api.lookio.app/webhook/query",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "={{ $json.question }}"
            },
            {
              "name": "assistant_id",
              "value": "<YOUR ASSISTANT ID>"
            },
            {
              "name": "query_mode",
              "value": "flash"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "api_key",
              "value": "<YOUR API KEY>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3fe8d920-61d3-410c-bba5-0a42ac0783f2",
      "name": "Formater la question et les insights",
      "type": "n8n-nodes-base.set",
      "position": [
        592,
        768
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1e33a1f4-a1a2-4962-ac72-cc518d7ff043",
              "name": "Question",
              "type": "string",
              "value": "={{ $('Loop Over Questions').item.json.question }}"
            },
            {
              "id": "0c1e6dbd-11cf-49b0-8105-f4736c5102aa",
              "name": "Internal knowledge insights",
              "type": "string",
              "value": "={{ $('Query Lookio Assistant').item.json.Output }}"
            },
            {
              "id": "903bcf38-13dd-48fb-8eb3-83f7a232aa53",
              "name": "Web insights",
              "type": "array",
              "value": "={{ $json.insights }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "881dfbff-7917-49cc-9584-6e43ada8fe8e",
      "name": "Note autocollante 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        512
      ],
      "parameters": {
        "color": 7,
        "width": 224,
        "height": 368,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nConnect your linkup.so credentials (adding your API key in the header or using \"generic credentials\" that you've stored for Linkup)."
      },
      "typeVersion": 1
    },
    {
      "id": "6bc89e0a-ab8d-44ff-bbda-d36764791fc1",
      "name": "Interroger Linkup pour la recherche web IA",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        272,
        560
      ],
      "parameters": {
        "url": "https://api.linkup.so/v1/search",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "q",
              "value": "=Find 5 specific and meaningful insights about the topic:\n\n\"{{ $('Loop Over Questions').item.json.question }}\"\n\nthat would strengthen an article paragraph. Each insight should be a concrete finding, statistic, research result, or illustrative example (not just generic background), and should come from a robust source."
            },
            {
              "name": "depth",
              "value": "standard"
            },
            {
              "name": "outputType",
              "value": "structured"
            },
            {
              "name": "structuredOutputSchema",
              "value": "={\n  \"type\": \"object\",\n  \"properties\": {\n    \"insights\": {\n      \"description\": \"A list of 5 insights about the topic\",\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"insight\": {\n            \"description\": \"A one-sentence key insight, finding, or example about the topic\",\n            \"type\": \"string\"\n          },\n          \"url\": {\n            \"description\": \"The URL of the source where the insight is from\",\n            \"type\": \"string\"\n          },\n          \"title\": {\n            \"description\": \"The title of the page containing the insight\",\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\"insight\", \"url\", \"title\"]\n      }\n    }\n  }\n}"
            },
            {
              "name": "includeImages",
              "value": "=false"
            }
          ]
        },
        "genericAuthType": "httpBearerAuth"
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "W7AgeoVOv60DlvyS",
          "name": "Linkup - web search AI"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "74d00282-becc-4bd2-a853-fd90abac6ce6",
      "name": "Agréger la recherche complète",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -112,
        160
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "Content to leverage"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "ceb186a4-09ba-4cf2-bb3d-3ff8f9677d13": {
      "ai_languageModel": [
        [
          {
            "node": "1b690964-85a5-4b63-8bc0-bdcabda04687",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "bbf1d36c-9cfa-4bb0-b1b1-7403493bd836": {
      "ai_languageModel": [
        [
          {
            "node": "7bf61071-1e5c-4a4f-a187-86322f7870fd",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "2bcda6a8-4a48-4f93-be65-8dc21116d2dd": {
      "main": [
        [
          {
            "node": "06e35599-9ab1-445b-aa1e-7a04ea798c8a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d49ae369-48e2-4566-9d46-f532abd54213": {
      "main": [
        [
          {
            "node": "74d00282-becc-4bd2-a853-fd90abac6ce6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "13a04bfc-4e36-48fa-8c3e-c0104a959c8f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "06e35599-9ab1-445b-aa1e-7a04ea798c8a": {
      "main": [
        [
          {
            "node": "7bf61071-1e5c-4a4f-a187-86322f7870fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1472aa87-3e1a-4ca1-8985-4e4a37ea6544": {
      "main": [
        [
          {
            "node": "d49ae369-48e2-4566-9d46-f532abd54213",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "13a04bfc-4e36-48fa-8c3e-c0104a959c8f": {
      "main": [
        [
          {
            "node": "6bc89e0a-ab8d-44ff-bbda-d36764791fc1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "74d00282-becc-4bd2-a853-fd90abac6ce6": {
      "main": [
        [
          {
            "node": "1b690964-85a5-4b63-8bc0-bdcabda04687",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ddd15121-9dd9-48e0-90cf-5f3970e43564": {
      "ai_outputParser": [
        [
          {
            "node": "7bf61071-1e5c-4a4f-a187-86322f7870fd",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "3fe8d920-61d3-410c-bba5-0a42ac0783f2": {
      "main": [
        [
          {
            "node": "d49ae369-48e2-4566-9d46-f532abd54213",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6bc89e0a-ab8d-44ff-bbda-d36764791fc1": {
      "main": [
        [
          {
            "node": "3fe8d920-61d3-410c-bba5-0a42ac0783f2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1b690964-85a5-4b63-8bc0-bdcabda04687": {
      "main": [
        [
          {
            "node": "2b8a4dbb-0920-432c-a4b0-8cb08a49a1ea",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7bf61071-1e5c-4a4f-a187-86322f7870fd": {
      "main": [
        [
          {
            "node": "1472aa87-3e1a-4ca1-8985-4e4a37ea6544",
            "type": "main",
            "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é

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

Créer des articles basés sur des faits à partir de sources de connaissances avec Lookio et OpenAI GPT
Créer des articles factuels à partir de sources de connaissances avec Lookio et OpenAI GPT
Set
Split Out
Aggregate
+
Set
Split Out
Aggregate
19 NœudsGuillaume Duvernay
Création de contenu
Créer des articles basés sur des faits à partir de sources de connaissances avec Super RAG et GPT-5
Créer des articles factuels à partir de sources de connaissances avec Super RAG et GPT-5
Set
Split Out
Aggregate
+
Set
Split Out
Aggregate
19 NœudsGuillaume Duvernay
RAG IA
Créer des articles de soutien à la recherche en utilisant la planification IA, la recherche Linkup et GPT-5
Créer des articles à base de recherche en utilisant la planification IA, la recherche Linkup et GPT-5
Set
Split Out
Aggregate
+
Set
Split Out
Aggregate
19 NœudsGuillaume Duvernay
Création de contenu
Rechercheur de réseau IA dynamique : du texte brut au CSV personnalisé
Chercheur de réseau AI dynamique utilisant GPT-4 et Linkup pour convertir du texte brut en CSV personnalisé
Set
Code
Split Out
+
Set
Code
Split Out
16 NœudsGuillaume Duvernay
Divers
Automatisation de la configuration de projet agile avec GPT-5 Mini, Jira et une interface de formulaire
Utiliser GPT-5 Mini, Jira et une interface de formulaire pour automatiser la configuration de projets Agile
Set
Jira
Gmail
+
Set
Jira
Gmail
42 NœudsBilly Christi
IA Multimodale
Version professionnelle de l'automatisation de blog WordPress (recherche approfondie) v2.1 sur le marché
Automatisation de la création de blog optimisé pour le SEO avec GPT-4o, Perplexity AI et support multilingue
If
Set
Xml
+
If
Set
Xml
125 NœudsDaniel Ng
Création de contenu
Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds21
Catégorie-
Types de nœuds10
Description de la difficulté

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

Auteur
Guillaume Duvernay

Guillaume Duvernay

@duv

AI and automation expert

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34