Moteur de recherche de contenu

Intermédiaire

Ceci est unAI Summarization, Multimodal AIworkflow d'automatisation du domainecontenant 14 nœuds.Utilise principalement des nœuds comme Set, Merge, Reddit, GoogleSheets, Agent. Recherche de contenu automatisée via le scraping Reddit, l'analyse par IA et la feuille de calcul Google

Prérequis
  • Informations d'identification Google Sheets API
  • Clé API OpenAI
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": "VzbX3arUtQZaRd9e",
  "meta": {
    "instanceId": "00761fd5aea81495387b0889e15912dcc912b73b7bf62f5ca3898afbd7a79723",
    "templateCredsSetupCompleted": true
  },
  "name": "Content Research Engine",
  "tags": [
    {
      "id": "j0SNhalFSbPAhdWo",
      "name": "n8n creator",
      "createdAt": "2025-09-02T01:40:23.866Z",
      "updatedAt": "2025-09-02T01:40:23.866Z"
    }
  ],
  "nodes": [
    {
      "id": "7cd98b8f-2b80-4f54-8ea1-b633810c5aec",
      "name": "Déclencheur Planifié1",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -272,
        496
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 7
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4771abaa-5a07-426f-acb2-7163eb7b2313",
      "name": "r/smallbusiness/automation",
      "type": "n8n-nodes-base.reddit",
      "position": [
        0,
        496
      ],
      "parameters": {
        "limit": 2,
        "keyword": "Scaling Leads",
        "operation": "search",
        "subreddit": "startups",
        "additionalFields": {
          "sort": "new"
        }
      },
      "credentials": {
        "redditOAuth2Api": {
          "id": "PD9bs67DcqBKv2ZH",
          "name": "Reddit account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "69503a42-99b4-423e-ae63-1fea9aa1e7f0",
      "name": "r/smallbusiness/AI Automation",
      "type": "n8n-nodes-base.reddit",
      "position": [
        0,
        320
      ],
      "parameters": {
        "limit": 2,
        "keyword": "Lead Generation",
        "operation": "search",
        "subreddit": "marketing",
        "additionalFields": {
          "sort": "new"
        }
      },
      "credentials": {
        "redditOAuth2Api": {
          "id": "PD9bs67DcqBKv2ZH",
          "name": "Reddit account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "902e6dfc-537f-44f1-a9ab-18bc24cb2ea0",
      "name": "Fusion",
      "type": "n8n-nodes-base.merge",
      "position": [
        272,
        480
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.1
    },
    {
      "id": "534d380c-1f70-4962-a54d-006499dc39f8",
      "name": "r/smallbusiness/automation1",
      "type": "n8n-nodes-base.reddit",
      "position": [
        0,
        688
      ],
      "parameters": {
        "limit": 2,
        "keyword": "Business Automation",
        "operation": "search",
        "subreddit": "smallbusiness",
        "additionalFields": {
          "sort": "new"
        }
      },
      "credentials": {
        "redditOAuth2Api": {
          "id": "PD9bs67DcqBKv2ZH",
          "name": "Reddit account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "78e0dc48-d2a9-4c1f-a8af-8a81f03bcdc8",
      "name": "Modifier les Champs",
      "type": "n8n-nodes-base.set",
      "position": [
        480,
        496
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a89f1ca3-3c1d-4c6b-933f-04dc38c2e568",
              "name": "subreddit",
              "type": "string",
              "value": "={{ $json.subreddit }}"
            },
            {
              "id": "795929f6-fb60-4e31-9a4f-2332ccfa1d8f",
              "name": "text",
              "type": "string",
              "value": "={{ $json.selftext }}"
            },
            {
              "id": "3b25b1b0-e861-4c8b-89fa-9ff625d1e37b",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8ccbd0a2-aea8-4195-86c0-3aa5210d1081",
      "name": "Agent IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        688,
        496
      ],
      "parameters": {
        "text": "=Subreddit:  {{ $json.subreddit }}\nText: {{ $json.text }}\nTitle: {{ $json.title }}",
        "options": {
          "systemMessage": "You are a content research analyst AI trained to study raw Reddit posts and extract structured insights for marketing, lead generation, and business automation research.\n\nYour role is to transform messy, conversational Reddit text into short, business-ready insights that can be stored in a database and later used for content creation, strategy, or trend analysis.\n\nWhen analyzing a Reddit post (title + body):\n\t1.\tSummarize the post clearly and concisely.\n\t•\tUse neutral, plain English.\n\t•\tOne sentence, ≤20 words.\n\t•\tNo filler, no speculation beyond what is written.\n\t2.\tIdentify the core pain point.\n\t•\tExpress it in ≤15 words.\n\t•\tUse the poster’s perspective (“Can’t find…”, “Struggling with…”, “Wants to know…”).\n\t•\tBoil it down to the single biggest problem they are expressing.\n\t3.\tGenerate 2–3 actionable content angles.\n\t•\tEach ≤10 words.\n\t•\tFrame them as potential articles, guides, or content pieces someone could create.\n\t•\tThey should answer or address the pain point.\n\t•\tKeep them concrete and practical (e.g. “Best tools for automating client onboarding” vs “Automation thoughts”).\n\t4.\tOutput must be valid JSON only.\n\t•\tNo extra commentary, no markdown, no explanations.\n\t•\tFormat must exactly match the schema below."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "e1e69d68-af98-4089-965d-b814f0a9db10",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        672,
        848
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "QsPyEUltWeliSiFb",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1ce1add4-4b05-4f55-a11e-210773d39b13",
      "name": "Analyseur de Sortie Structurée",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        816,
        704
      ],
      "parameters": {
        "autoFix": true,
        "jsonSchemaExample": "{\n  \"summary\": \"<1 sentence, ≤20 words, neutral overview of what the post is about>\",\n  \"pain_point\": \"<1 short sentence, ≤15 words, the core problem the poster is facing>\",\n  \"content_angle\": [\n    \"<idea 1: ≤10 words, actionable topic framing for content/insight>\",\n    \"<idea 2: ≤10 words, actionable topic framing>\",\n    \"<idea 3: ≤10 words, optional>\"\n  ]\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "4d7a85e6-43ad-49c2-b975-987cc3c424fd",
      "name": "Ajouter une ligne dans la feuille",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1120,
        496
      ],
      "parameters": {
        "columns": {
          "value": {
            "Summary": "={{ $json.output.summary }}",
            "Pain Point": "={{ $json.output.pain_point }}",
            "Content Angle": "={{ $json.output.content_angle }}"
          },
          "schema": [
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Pain Point",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Pain Point",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content Angle",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Content Angle",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "useAppend": true
        },
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1vmLGPnlCVdSU5_3IpYVEUzhTGvUn0p6u2v_RZo7ULmk/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1vmLGPnlCVdSU5_3IpYVEUzhTGvUn0p6u2v_RZo7ULmk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1vmLGPnlCVdSU5_3IpYVEUzhTGvUn0p6u2v_RZo7ULmk/edit?usp=drivesdk",
          "cachedResultName": "Reddit "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "6UWtW8DQlbmfYbkk",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "1be411b7-51a2-4432-b250-082792e7db39",
      "name": "Note Adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1216,
        48
      ],
      "parameters": {
        "width": 768,
        "height": 912,
        "content": "\n\n\n# Setting up the workflow\n\n## 1. Select a schedule trigger time.  \n\n## 2. Connect your reddit account to n8n. Choose the subreddit's you want to scrape, with the key words you are looking for. Note: You can add more reddit nodes, and expanding the merge node. \n\n## 3. Connect your preferred LLM credentials to the AI Agent\n\n## 4. Create a copy of the Google Sheet, and connect it to the google sheet node.  \n## Google Sheet: https://docs.google.com/spreadsheets/d/1vmLGPnlCVdSU5_3IpYVEUzhTGvUn0p6u2v_RZo7ULmk/edit?usp=sharing (Make a copy)\n\n\n\n\n\n## Workflow Summary: This workflow automatically scrapes new Reddit posts from your chosen subreddits and keywords, analyzes them with AI to extract summaries, pain points, and content angles, and then saves the insights into a Google Sheet. It’s a fully automated Content Research Engine that delivers fresh marketing ideas and community pain points straight into your database."
      },
      "typeVersion": 1
    },
    {
      "id": "29dbe4f2-f5a4-48ab-9ede-34ec60479546",
      "name": "Note Adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        16
      ],
      "parameters": {
        "width": 160,
        "height": 848,
        "content": "## Select the Subreddit and the keywords you would like to scrape"
      },
      "typeVersion": 1
    },
    {
      "id": "4da89c31-46c0-40ae-99e4-393b324b9a77",
      "name": "Note Adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        304
      ],
      "parameters": {
        "width": 272,
        "height": 352,
        "content": "## AI Agent will go through the items to find the pain point and content angle"
      },
      "typeVersion": 1
    },
    {
      "id": "b9715a73-0155-4c44-afc2-946ba93df79a",
      "name": "Note Adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1072,
        304
      ],
      "parameters": {
        "width": 192,
        "height": 352,
        "content": "## Data is stored in google sheet. \nWhenever you need content idea, you’ll find a list with great ideas inside"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "f3def437-7e43-43ca-9797-d3fb7fa52911",
  "connections": {
    "902e6dfc-537f-44f1-a9ab-18bc24cb2ea0": {
      "main": [
        [
          {
            "node": "78e0dc48-d2a9-4c1f-a8af-8a81f03bcdc8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8ccbd0a2-aea8-4195-86c0-3aa5210d1081": {
      "main": [
        [
          {
            "node": "4d7a85e6-43ad-49c2-b975-987cc3c424fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "78e0dc48-d2a9-4c1f-a8af-8a81f03bcdc8": {
      "main": [
        [
          {
            "node": "8ccbd0a2-aea8-4195-86c0-3aa5210d1081",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7cd98b8f-2b80-4f54-8ea1-b633810c5aec": {
      "main": [
        [
          {
            "node": "4771abaa-5a07-426f-acb2-7163eb7b2313",
            "type": "main",
            "index": 0
          },
          {
            "node": "69503a42-99b4-423e-ae63-1fea9aa1e7f0",
            "type": "main",
            "index": 0
          },
          {
            "node": "534d380c-1f70-4962-a54d-006499dc39f8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e1e69d68-af98-4089-965d-b814f0a9db10": {
      "ai_languageModel": [
        [
          {
            "node": "8ccbd0a2-aea8-4195-86c0-3aa5210d1081",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "1ce1add4-4b05-4f55-a11e-210773d39b13",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "1ce1add4-4b05-4f55-a11e-210773d39b13": {
      "ai_outputParser": [
        [
          {
            "node": "8ccbd0a2-aea8-4195-86c0-3aa5210d1081",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "4771abaa-5a07-426f-acb2-7163eb7b2313": {
      "main": [
        [
          {
            "node": "902e6dfc-537f-44f1-a9ab-18bc24cb2ea0",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "534d380c-1f70-4962-a54d-006499dc39f8": {
      "main": [
        [
          {
            "node": "902e6dfc-537f-44f1-a9ab-18bc24cb2ea0",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "69503a42-99b4-423e-ae63-1fea9aa1e7f0": {
      "main": [
        [
          {
            "node": "902e6dfc-537f-44f1-a9ab-18bc24cb2ea0",
            "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é ?

Intermédiaire - 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é
Intermédiaire
Nombre de nœuds14
Catégorie2
Types de nœuds9
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Michael Taleb

Michael Taleb

@michaeltaleb

n8n developer helping businesses save time and scale by automating complex business processes with n8n and smart integrations.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34