AutomationFlowsAI & RAG › Cloudplanner

Cloudplanner

CloudPlanner. Uses outputParserStructured, lmChatAzureOpenAi, mcpClientTool, agent. Webhook trigger; 15 nodes.

Webhook trigger★★★★☆ complexityAI-powered15 nodesOutput Parser StructuredLm Chat Azure Open AiMcp Client ToolAgentMemory Buffer Window
AI & RAG Trigger: Webhook Nodes: 15 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Agent → Lmchatazureopenai recipe pattern — see all workflows that pair these two integrations.

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
{
  "name": "CloudPlanner",
  "nodes": [
    {
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "={\n  \"type\":\"object\",\n  \"properties\":{\n    \"output\":{\n      \"type\":\"object\",\n      \"properties\":{\n        \"error\":{\n          \"type\":\"object\",\n            \"properties\":{\n              \"error_code\":{\"type\":\"string\"},\n              \"error_description\":{\"type\":\"string\"},\n              \"original_command\":{\"type\":\"string\"},\n              \"fixed_command\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\n              \"explanation\":{\"type\":\"string\"},\n              \"related_documentation\":{\n                \"type\":\"array\",\n                \"items\":{\"type\":\"string\"}\n              }\n            }\n        },\n        \"plan\":{\"type\":\"string\"}\n      }\n    }\n  }\n}"
      },
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.3,
      "position": [
        -448,
        88
      ],
      "id": "1e408f76-58d2-47f3-96c6-3264beb2c242",
      "name": "Structured Output Parser"
    },
    {
      "parameters": {
        "model": "gpt-4.1",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "typeVersion": 1,
      "position": [
        -704,
        88
      ],
      "id": "9ba3113c-e7db-41ad-8dec-3d8d48b0887c",
      "name": "Azure OpenAI Chat Model",
      "credentials": {
        "azureOpenAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "gpt-4.1",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "typeVersion": 1,
      "position": [
        -168,
        88
      ],
      "id": "76cea115-38ae-4668-ae2d-6091b9cbb46c",
      "name": "Azure OpenAI Chat Model1",
      "credentials": {
        "azureOpenAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "endpointUrl": "https://knowledge-mcp.global.api.aws",
        "serverTransport": "httpStreamable",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "typeVersion": 1.1,
      "position": [
        -576,
        -448
      ],
      "id": "a40a4d74-b134-45c6-beaf-37df620dd1c7",
      "name": "AWSDOC"
    },
    {
      "parameters": {
        "endpointUrl": "https://mcp.context7.com/mcp",
        "serverTransport": "httpStreamable",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "typeVersion": 1.1,
      "position": [
        -448,
        -448
      ],
      "id": "355a8fef-9d7f-482d-8599-101b1817c3db",
      "name": "Context7MCP"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=<Instruction>\nYour primary responsibility is to create actionable, risk-aware work plans based on user input.\nIdentify and summarize all potential risks, version-specific changes, breaking changes, and interruption possibilities.\nReference authoritative documentation (AWS official docs, Context7 MCP) for every step; always provide source links.\nUse a command-oriented, concise tone throughout.\nBegin with a Table of Contents.\nNumber and title each stage clearly.\nDefine all script variables at the top.\nEmphasize commands using Markdown (**bold**/`inline code`).\nPresent scripts sequentially, one at a time.\nOutput must be in English.\nEnd the document immediately after the final stage/script, with no closing remarks or conclusions.\nWhen modifications are required, preserve original content and only apply minimal necessary changes.\nAlways refer to official documentation when new technologies are proposed.\n</Instruction>\n<Agent>\nYou are an Agent dedicated to producing precise, risk-focused cloud work plans.\nFor every user request, analyze and document all relevant risks, version changes, and interruption factors.\nLeverage AWS Knowledge MCP and Context7 MCP to ensure all guidance is authoritative and up-to-date.\nYour output must be clear, actionable, and enable safe execution by humans.\nInclude copy-paste-ready variables, sequential scripts, and source links for every referenced document.\nIf any required input is missing, request it at the end.\n</Agent>\n{{ $json.body.query }}",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 2.2,
      "position": [
        -648,
        -672
      ],
      "id": "80cda2ee-5815-44df-81e2-671c09181405",
      "name": "\ubb38\uc11c \uc870\ud68c"
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $('WorkPlan').item.json.body.sessionId }}"
      },
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        -104,
        -448
      ],
      "id": "a9c77914-d99b-46cb-bb89-58f32ee47e8d",
      "name": "Simple Memory"
    },
    {
      "parameters": {
        "model": "gpt-4.1",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "typeVersion": 1,
      "position": [
        -232,
        -448
      ],
      "id": "e96f2ab0-7cce-4067-be35-f73e04f7c106",
      "name": "Azure OpenAI Chat Model2",
      "credentials": {
        "azureOpenAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "gpt-4.1",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "typeVersion": 1,
      "position": [
        -704,
        -448
      ],
      "id": "a169b763-fd8f-4400-b07d-5d5ae015ff8c",
      "name": "Azure OpenAI Chat Model3",
      "credentials": {
        "azureOpenAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=\uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud55c \uba85\ub839\uc5b4:\n{{ $json.output.error.original_command }}\n\n\uc5d0\ub7ec \uba54\uc138\uc9c0:\n{{ $json.output.error.error_code }}\n{{ $json.output.error.error_description }}\n\n\uc5d0\ub7ec\ub97c \ud574\uacb0\ud55c \uba85\ub839\uc5b4:\n{{ $json.output.error.fixed_command }}\n\n\uae30\uc874 \uc791\uc5c5 \uacc4\ud68d\uc11c:\n{{ $node[\"makeplan\"] }}",
        "options": {
          "systemMessage": "\ub2f9\uc2e0\uc758 \uc5c5\ubb34\ub294 \ud074\ub77c\uc6b0\ub4dc \ub9ac\uc18c\uc2a4 \uc791\uc5c5 \uacc4\ud68d\uc11c\ub97c \uc218\uc815\ud558\ub294 \uc77c\uc785\ub2c8\ub2e4. \uae30\uc874\uc758 \uc791\uc5c5 \uacc4\ud68d\uc11c\uc640 \ubc1c\uc0dd\ud55c \uc624\ub958 \uba85\ub839\uc5b4, \ud574\uacb0 \ubc29\uc548\uc744 \ubcf4\uace0 \uc791\uc5c5 \uacc4\ud68d\uc11c\ub97c \uc218\uc815\ud558\uc138\uc694. \uc218\uc815\ud560 \ub54c\ub294 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud55c \uba85\ub839\uc5b4\ub9cc \uc218\uc815\ud558\uace0 \ub2e4\ub978 \ub0b4\uc6a9\uc740 \uc808\ub300 \uac74\ub4e4\uc9c0 \ub9c8\uc138\uc694. \ub2f5\ubcc0\uc740 \uc218\uc815\ub41c \uc791\uc5c5 \uacc4\ud68d\uc11c \ub0b4\uc6a9\ub9cc \ucd9c\ub825\ud574\uc8fc\uc138\uc694."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 2.2,
      "position": [
        -240,
        -136
      ],
      "id": "53c6faaa-6754-40b4-b318-ab52b7f08377",
      "name": "\uacc4\ud68d\uc11c \uc218\uc815"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.body.query }}",
        "hasOutputParser": true,
        "options": {
          "systemMessage": "=\ub2f9\uc2e0\uc740 AWS CLI \uba85\ub839\uc5b4 \uc624\ub958\ub97c \ud574\uacb0\ud558\uace0, \uc624\ub958 \ud574\uacb0 \uc815\ubcf4\ub97c \uad6c\uc870\ud654\ub41c JSON \ud615\ud0dc\ub85c \ucd9c\ub825\ud558\ub294 AI \uc5d0\uc774\uc804\ud2b8\uc785\ub2c8\ub2e4.\n\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud55c AWS CLI \uba85\ub839\uc5b4\uc640 \uc5d0\ub7ec \uba54\uc2dc\uc9c0\ub97c \uae30\ubc18\uc73c\ub85c \uc624\ub958 \uc6d0\uc778\uc744 \ubd84\uc11d\ud558\uace0, \ud574\uacb0\uc744 \uc704\ud55c \uc815\ud655\ud55c \uba85\ub839\uc5b4\ub97c \uc81c\uc2dc\ud558\uba70, RAG\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uad6c\uc870\ud654\ub41c \ub370\uc774\ud130\ub97c \uc0dd\uc131\ud574\uc57c \ud569\ub2c8\ub2e4.\n\uc0ac\uc6a9\uc790\ub294 \ub2e4\uc74c \ub450 \uac00\uc9c0\ub97c \uc785\ub825\ud569\ub2c8\ub2e4\n- CLI \uba85\ub839\uc5b4: original_command\n- \uc5d0\ub7ec \uba54\uc2dc\uc9c0: error_description"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 2.2,
      "position": [
        -648,
        -136
      ],
      "id": "f867f219-caa9-4e4f-927b-c80590204fa2",
      "name": "\uc624\ub958 \ud574\uacb0"
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $('Error').item.json.body.sessionId }}"
      },
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        -576,
        88
      ],
      "id": "3e06f22e-9df0-4c1d-9939-fe3ecdf4b863",
      "name": "Simple Memory2"
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "b92bb8d5-9bf7-4172-80d0-086aac9b51f0/workplan",
        "responseMode": "lastNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        -928,
        -568
      ],
      "id": "54f30a4b-723a-40ff-bd04-eb18662a6cfe",
      "name": "WorkPlan"
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "b92bb8d5-9bf7-4172-80d0-086aac9b51f0/error",
        "responseMode": "lastNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        -928,
        -136
      ],
      "id": "dd1ed161-3161-4984-8364-c275b544fcd3",
      "name": "Error"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=<Instruction>\nCreate a work plan based on the user\u2019s input.\nUse a formal, concise tone.\nMake it command-oriented; give brief explanations.\nOutput as a Markdown document, but never starts with \"```markdown\".\nInclude a Table of Contents at the top.\nStructure clear, numbered stages with headings.\nDefine all script variables at the very top.\nEmphasize commands with Markdown (**bold**/`inline code`); avoid the \u201cA: b\u201d style.\nEnsure variables and scripts are copy-paste ready.\nPresent scripts one at a time (sequential).\nFinal output language must be Korean.\nEnd the document without any closing remark; no conclusions or sign-offs. The document must end immediately after the final stage/script.\n</instruction>\n<Agent> An Agent that authors precise cloud change execution plans using AWS CLI and shell scripts. It leverages context7 for runtime context retrieval and aws knowledge mcp for authoritative AWS guidance. The plan must clearly convey intent and end-to-end flow so a human can execute safely and trace decisions. It outputs formal Markdown with copy-paste-ready variables and sequential scripts, requesting any missing inputs at the end. </Agent>\nUser: {{ $('WorkPlan').item.json.body.query }}\nDocs: {{ $json.output }}",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 2.2,
      "position": [
        -240,
        -672
      ],
      "id": "f5be0364-5715-45e3-82a0-f605a09aac2d",
      "name": "makeplan"
    }
  ],
  "connections": {
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "\uc624\ub958 \ud574\uacb0",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Azure OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "\uc624\ub958 \ud574\uacb0",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Azure OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "\uacc4\ud68d\uc11c \uc218\uc815",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "AWSDOC": {
      "ai_tool": [
        [
          {
            "node": "\ubb38\uc11c \uc870\ud68c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Context7MCP": {
      "ai_tool": [
        [
          {
            "node": "\ubb38\uc11c \uc870\ud68c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "\ubb38\uc11c \uc870\ud68c": {
      "main": [
        [
          {
            "node": "makeplan",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "makeplan",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Azure OpenAI Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "makeplan",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Azure OpenAI Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "\ubb38\uc11c \uc870\ud68c",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "\uc624\ub958 \ud574\uacb0": {
      "main": [
        [
          {
            "node": "\uacc4\ud68d\uc11c \uc218\uc815",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\uacc4\ud68d\uc11c \uc218\uc815": {
      "main": [
        []
      ]
    },
    "Simple Memory2": {
      "ai_memory": [
        [
          {
            "node": "\uc624\ub958 \ud574\uacb0",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "WorkPlan": {
      "main": [
        [
          {
            "node": "\ubb38\uc11c \uc870\ud68c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Error": {
      "main": [
        [
          {
            "node": "\uc624\ub958 \ud574\uacb0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "makeplan": {
      "main": [
        []
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "561cd74d-c88c-4794-9bbb-6432b6e03608",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "qpcjutI7NhA9ie04",
  "tags": [
    {
      "createdAt": "2025-09-18T07:09:25.267Z",
      "updatedAt": "2025-09-18T07:09:25.267Z",
      "id": "4qJ5w0ctL9p1tQyq",
      "name": "prompthon"
    }
  ]
}

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

CloudPlanner. Uses outputParserStructured, lmChatAzureOpenAi, mcpClientTool, agent. Webhook trigger; 15 nodes.

Source: https://github.com/tacowasabii/aws-mcp-ai-dashboard/blob/3228381bffa97b391624fa1a69759591fa818770/n8n/CloudPlanner.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

My workflow 5. Uses informationExtractor, lmChatAzureOpenAi, outputParserStructured, mcpClientTool. Webhook trigger; 36 nodes.

Information Extractor, Lm Chat Azure Open Ai, Output Parser Structured +5
AI & RAG

This workflow is an AI-powered Dental Appointment Assistant that automates appointment booking, rescheduling, and cancellations through Telegram or a Webhook. It uses intelligent agents to understand

Memory Buffer Window, Output Parser Structured, Mcp Client Tool +12
AI & RAG

This workflow automates document understanding by accepting uploaded PDF or TXT files, extracting their text, generating a structured summary and question–answer set using GPT-4o, validating the AI ou

Agent, Output Parser Structured, Lm Chat Azure Open Ai +3
AI & RAG

Are you drowning in daily operational chaos, desperately trying to juggle sales, projects, content, and client communication? Imagine an AI brain that handles it all, freeing you to lead your business

Telegram Trigger, Telegram, OpenAI +13
AI & RAG

The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C

Perplexity Tool, Memory Buffer Window, Agent +15