The n8n AI workflow you imported is probably broken - here's the 10-minute audit I run on every template
Description and use
After rebuilding 45 workflows from legacy n8n-nodes-base.aiAgent nodes to @n8n/n8n-nodes-langchain.agent v3.1 with verified connections, all workflows passed a zero-error audit. The author maintains a 10-minute audit checklist to catch broken templates before import.
Problem
Imported AI agent templates often fail on first import with red nodes, 'node not found' errors, or agents that hallucinate tools that don't exist because legacy node types (e.g. n8n-nodes-base.aiAgent) are no longer present in current n8n versions.
Outcome
After rebuilding 45 workflows from legacy n8n-nodes-base.aiAgent nodes to @n8n/n8n-nodes-langchain.agent v3.1 with verified connections, all workflows passed a zero-error audit. The author maintains a 10-minute audit checklist to catch broken templates before import.
Workflow
- Grep template JSON for legacy node type strings (n8n-nodes-base.aiAgent, n8n-nodes-base.openAi)
- Open connections object and verify every source/target matches a real nodes[].name
- Ensure the model sub-node is wired via an lmChat* node connected through ai_languageModel
- Check HTTP/Email nodes for non-empty url and to fields
- Read the system prompt to confirm promised tools exist in the payload
- If any check fails, rebuild the workflow on @n8n/n8n-nodes-langchain.agent v3.1
Evidence
If you've ever imported an 'AI agent' template and watched it die with red nodes, node not found errors, or an agent that confidently hallucinates tools that don't exist - it's not your n8n. It's the template.
I shipped a 45-workflow pack with legacy n8n-nodes-base.aiAgent nodes. A user on r/n8n called it out publicly. I didn't argue. I re-audited all 45, rebuilt them on @n8n/n8n-nodes-langchain.agent v3.1, and re-uploaded with verified connections.
bash grep -c "n8n-nodes-base.aiAgent\|n8n-nodes-base.openAi" your-template.json # 0 = fine. Anything else = broken on first import.
Connection strings like 'webhook-bant' (an internal ID) are from a template that broke the second it was exported - n8n rewrites IDs on import, so those edges just... vanish.
An agent without an lmChat* node connected via ai_languageModel is a body without a brain. Import it and it fails on the first run with a credential error nobody will debug for you.
Does it promise database access, a CRM tool, an 'enrichment tool' that isn't in the payload? That's the 'confused intern' problem: the agent will confidently fake answers when the prompt promises tools that don't exist.
- Record date: 2026-10-20T02:41:03.629Z