Skip to content

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:120b and qwen2.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

  1. Open n8n in your browser.
  2. Go to Workflows → Import from file.
  3. Select the desired .json file.
  4. Update the credentials: replace the OpenAi account OpenWebUI credential reference with your own, and update the NetBox API token in any HTTP Request nodes if needed.
  5. 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.