AutomationFlowsAI & RAG › Worflow N8n

Worflow N8n

Worflow N8N. Uses openAi, textAnalysis, writeBinaryFile. Manual trigger; 6 nodes.

Manual trigger★★★★☆ complexityAI-powered6 nodesOpenAIText AnalysisWrite Binary File
AI & RAG Trigger: Manual Nodes: 6 Complexity: ★★★★☆ AI nodes: yes Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "parameters": {
        "fields": {
          "question": ""
        }
      },
      "id": "1",
      "name": "Ask a question",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "resource": "chat",
        "operation": "create",
        "model": "gpt-3.5-turbo",
        "messages": [
          {
            "role": "user",
            "content": "={{$json[\"question\"]}}"
          }
        ]
      },
      "id": "2",
      "name": "OpenAI Chat",
      "type": "n8n-nodes-base.openAi",
      "typeVersion": 2,
      "position": [
        500,
        300
      ],
      "credentials": {
        "openAIApi": "<your credential>"
      }
    },
    {
      "parameters": {
        "text": "={{$json[\"question\"]}}"
      },
      "id": "3",
      "name": "Sentiment (Question)",
      "type": "n8n-nodes-base.textAnalysis",
      "typeVersion": 1,
      "position": [
        750,
        200
      ]
    },
    {
      "parameters": {
        "text": "={{$json[\"choices\"][0][\"message\"][\"content\"]}}"
      },
      "id": "4",
      "name": "Sentiment (Response)",
      "type": "n8n-nodes-base.textAnalysis",
      "typeVersion": 1,
      "position": [
        750,
        400
      ]
    },
    {
      "parameters": {
        "functionCode": "return [{\n  content: `## Nouvelle conversation\\n\\n**Question**: ${$json[\"question\"]}\\n_Sentiment_: ${$items(\"Sentiment (Question)\")[0].json.sentiment}\\n\\n**R\u00e9ponse OpenAI**: ${$items(\"OpenAI Chat\")[0].json.choices[0].message.content}\\n_Sentiment_: ${$items(\"Sentiment (Response)\")[0].json.sentiment}\\n\\n---\\n` \n}];"
      },
      "id": "5",
      "name": "Format Markdown",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        1000,
        300
      ]
    },
    {
      "parameters": {
        "fileName": "README.md",
        "dataPropertyName": "content",
        "fileExtension": "md"
      },
      "id": "6",
      "name": "Write to README.md",
      "type": "n8n-nodes-base.writeBinaryFile",
      "typeVersion": 1,
      "position": [
        1250,
        300
      ]
    }
  ],
  "connections": {
    "Ask a question": {
      "main": [
        [
          {
            "node": "OpenAI Chat",
            "type": "main",
            "index": 0
          },
          {
            "node": "Sentiment (Question)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat": {
      "main": [
        [
          {
            "node": "Sentiment (Response)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Format Markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sentiment (Question)": {
      "main": [
        [
          {
            "node": "Format Markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sentiment (Response)": {
      "main": [
        [
          {
            "node": "Format Markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Markdown": {
      "main": [
        [
          {
            "node": "Write to README.md",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Worflow N8N. Uses openAi, textAnalysis, writeBinaryFile. Manual trigger; 6 nodes.

Source: https://github.com/gcortier/Veille/blob/639d47f97afff6b4f6bd964a549b142583f4b853/workflows/worflow_n8n.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This comprehensive n8n automation template orchestrates a complete end-to-end workflow for generating engaging short-form Point-of-View (POV) style videos using multiple AI services and automatically

HTTP Request, OpenAI, Google Drive +4
AI & RAG

AI-Powered Short-Form Video Generator with OpenAI, Flux, Kling, and ElevenLabs and upload to all social networks. Uses httpRequest, openAi, googleDrive, discord. Scheduled trigger; 51 nodes.

HTTP Request, OpenAI, Google Drive +4
AI & RAG

23-fully-automated-ai-video-generation-&-multi-platform-publishing. Uses httpRequest, openAi, googleDrive, discord. Scheduled trigger; 51 nodes.

HTTP Request, OpenAI, Google Drive +4
AI & RAG

YouTube Automation Pipeline - Notion + Gemini + CometAPI + JSON2Video. Uses notion, httpRequest, googleDrive, writeBinaryFile. Scheduled trigger; 43 nodes.

Notion, HTTP Request, Google Drive +3
AI & RAG

Content Intelligence. Uses googleSheets, n8n-nodes-hdw, openAi. Manual trigger; 29 nodes.

Google Sheets, N8N Nodes Hdw, OpenAI