Agentic AI Orchestration Workflows Environment Setup¶
This page describes the local environment used for the experiments, the model requirements, the test scenario, the workflow files, and the reusable skill.
Environment¶
The experiments run entirely on a local Docker stack. The following services are required:
| Service | Address | Role |
|---|---|---|
| 🗄️ NetBox | http://host.docker.internal:8000 |
Network inventory — single source of truth for devices, interfaces, and VLANs |
| 🔌 NetBox MCP server | http://host.docker.internal:8888/mcp |
MCP adapter that exposes NetBox queries as AI-callable tools |
| ⚡ n8n | local Docker container | Workflow automation platform — executes all three workflows |
| 🤖 OpenWebUI / Ollama | via n8n credential | LLM serving — requires your own model endpoint |
The MCP server is read-only. It exposes a netbox_get_objects tool that accepts an object type such as dcim.interface or ipam.vlan, a filter dictionary, and a list of fields to return. Write operations go directly to the NetBox REST API via HTTP PATCH nodes in n8n.
Minimum prerequisites¶
Before importing the workflows, make sure you have:
- a running NetBox instance with devices, interfaces, and VLAN data
- a running read-only NetBox MCP server connected to that NetBox instance
- a running n8n instance with the required credentials configured
- an OpenAI-compatible model endpoint available to n8n
- a NetBox API token for the HTTP PATCH nodes
LLM Model — Bring Your Own¶
⚠️ The workflows require you to provide your own LLM. The models used during development —
gpt-oss:120bandqwen2.5:72b— were made available through PCSS's private OpenWebUI instance and are not open for general use.🙏 Special thank you to PCSS for generously granting access to their GPU infrastructure and hosting the models used throughout this work. Without their support, these experiments would not have been possible.
To run the workflows yourself, you need an LLM served via an OpenAI-compatible API endpoint. The most straightforward option for local use is Ollama with a capable open model such as Llama 3.1 8B or larger. Once your model is running, update the OpenAI Chat Model node or nodes in each workflow: change the model name in the model selector and point the credential to your own Ollama or OpenWebUI endpoint.
Model recommendation from this testing¶
During testing, qwen2.5:72b consistently outperformed gpt-oss:120b despite the latter being the larger model.
| Capability | qwen2.5:72b | gpt-oss:120b |
|---|---|---|
| Multi-step prompt instruction following | ✅ Reliable | ⚠️ Inconsistent |
| Structured JSON output | ✅ Clean, minimal retries | ⚠️ Frequent formatting issues |
| Sequential multi-step MCP tool calls | ✅ Significantly better | ❌ Struggled |
| Two-turn orchestrator flow | ✅ Fewer reasoning errors | ⚠️ More errors |
Qwen's ability to chain sequential MCP tool calls reliably is particularly important because the lookup steps require several dependent calls to complete correctly before any write can proceed. If you have access to a Qwen 2.5 model, it is the recommended starting point. A Llama model of comparable size, such as 70B+, is a reasonable alternative.
💡 Practical guidance: more capable models follow multi-step prompt instructions more reliably, which matters most for the orchestrator workflow in Implementation 3, where all reasoning, validation, and turn management are handled by a single agent. For smaller or less instruction-tuned models, the guarded multi-agent pipeline in Implementation 2 is the more robust choice, since its critical logic lives in deterministic code nodes rather than the LLM.
The test scenario¶
The chosen task is: add or remove a tagged VLAN on a network interface.
This task was selected because it is simple enough to understand at a glance, but rich enough to exercise all the important steps in a network automation workflow: natural-language parsing, multi-step inventory lookup, pre-condition validation, a destructive write operation, post-change verification, and rollback on failure.
A typical user request looks like:
"Add VLAN 40 to interface ge-0/0/0 on device core-sw-01"
or, conversationally:
"Can you remove vlan 100 from the uplink on the distribution switch?"
The workflow must extract four parameters from that request — action, device, interface, and vlan_vid — then carry out the full change cycle.
Workflow files¶
Three workflow files are provided, one for each implementation:
| File | Implementation |
|---|---|
| 📥 MCP workflow.json | Implementation 1 — no agents, webhook-triggered |
| 📥 Plan creation (optimized).json | Implementation 2 — multi-agent, guarded |
| 📥 Plan creation (orchestrator).json | Implementation 3 — single orchestrator agent |
Importing workflows into n8n¶
- Open n8n in your browser.
- Go to Workflows → Import from file.
- Select the desired
.jsonfile. - Update the credentials: replace the
OpenAi account OpenWebUIcredential reference with your own, and update the NetBox API token in any HTTP Request nodes if needed. - Activate the workflow.
Reusable skill¶
The architectural patterns developed in this project have been packaged as a Claude Code skill that can be applied when designing, building, or debugging n8n workflows that combine LLM agents with infrastructure API write operations. Rather than reading through the full documentation each time, the skill gives Claude a structured, immediately actionable reference for:
- choosing between a deterministic, multi-agent guarded, or single-orchestrator design
- writing effective agent prompts with the right structure and failure handling
- defining agentic contracts and enforcing them with normalisation code nodes
- implementing approval flows, verification, and rollback
- avoiding the common failure modes identified during this work
The skill is available from the project repository on Bitbucket:
https://bitbucket.software.geant.org/scm/gplor/agentic_workflows_with_n8n.git
To install it for use with Claude Code:
npx skills add git+https://bitbucket.software.geant.org/scm/gplor/agentic_workflows_with_n8n.git
Once installed, the skill activates automatically when you ask Claude to help design or build this type of workflow. It can also be used alongside the complementary n8n mechanics skills available at czlonkowski/n8n-skills.