This workflow serves as a solid foundation when you need an AI Agent to return output in a specific JSON schema, without relying on the often-unreliable Structured Output Parser.
The example workflow takes a simple input (like a food item) and expects a JSON-formatted output containing its nutritional values.
The built-in Structured Output Parser node is known to be unreliable when working with AI Agents.
While the n8n documentation recommends using a “Basic LLM Chain” followed by a Structured Output Parser, this alternative workflow completely avoids using the Structured Output Parser node.
Instead, it implements a custom loop that manually validates the AI Agent's output.
This method has proven especially reliable with OpenAI's gpt-4.1
series (gpt-4.1
, gpt-4.1-mini
, gpt-4.1-nano
), which tend to produce correctly structured JSON on the first try, as long as the System Prompt is well defined.
In this template, gpt-4.1-nano
is set by default.
Instead of using the Structured Output Parser, this workflow loops the AI Agent through a manual schema validation process:
This approach ensures schema consistency, offers flexibility, and avoids the brittleness of the default parser.