n8n + Claude: The Orchestrator-with-Eyes Pattern

2026-06-11


n8n + Claude: The Orchestrator-with-Eyes Pattern

You can wire n8n to call Claude as a single node in a chain. That's useful. But the more powerful pattern is giving Claude visibility over the whole workflow — letting it reason about inputs rather than just respond to them.

The jargon

Orchestrator: the system that decides what runs, when, and in what order. In this pattern, n8n is the orchestrator.
Reasoning layer: where decisions get made based on understanding, not just rules. Claude plays this role.
System prompt (in this context): the standing instructions you inject into Claude's API call that tell it what role it's playing inside the workflow.

The lesson

Most people use Claude in n8n as a text processor — send it a blob, get a blob back. The orchestrator-with-eyes pattern treats Claude differently: it gives Claude context about what's happening, then asks it to make a call that shapes what the workflow does next.

The "eyes" part is the key shift. Claude doesn't just transform text — it observes something (an email, a document, a table of data) and returns a structured judgment that n8n can route on.

How it works

A practical example: you receive client emails into n8n. Instead of writing a dozen IF-branches to classify them, you pass the email body to Claude with a system prompt like this:

You are a triage assistant inside an email workflow.
Read the email below and return a JSON object with two keys:
- "category": one of ["urgent", "needs_reply", "fyi", "spam"]
- "reason": one sentence explaining why

Return only the JSON. No other text.

n8n's Claude node (or a plain HTTP node hitting the API) returns:

{ "category": "urgent", "reason": "Client mentions a deadline of tomorrow." }

You then use an n8n Switch node to branch on category. The workflow routes itself based on Claude's reading of the situation.

[Email trigger]
    → [Claude node: classify]
    → [Switch on category]
        → urgent:     [Slack alert to you]
        → needs_reply: [Draft reply via Claude, queue for review]
        → fyi:        [Log to Obsidian daily note]
        → spam:       [Archive]

The lesson in this very series uses this pattern. An n8n workflow observes what lesson topics have already been taught, passes that context to Claude, and routes the output into a formatted draft — Claude has eyes on the history before it writes.

When to reach for it / when not to

Use it when the decision has fuzzy edges — things a rigid rule would handle badly. Classifying intent, summarising for routing, flagging anomalies. Claude earns its place when the branching logic would otherwise need a wall of conditional nodes.

Don't use it for deterministic checks. If you're testing whether a number is above 100, a normal n8n condition node is faster, cheaper, and easier to audit.

Try it

Pick one workflow you already have in n8n where you've written more than three IF-branches to categorise or filter something. Replace those branches with a single Claude call that returns a category field, then route on that field with a Switch node. Notice how much simpler the canvas looks — and how much easier it is to add a new category later.


Don't miss what's next. Subscribe to My Claude Daily Learning: