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 say this from the scar side. 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. That public mistake is exactly why I keep the audit list below - it's the same one I'd run on your favorite template before you import it.
The 10-minute audit (run it on any workflow JSON)
1. Grep for legacy types
n8n-nodes-base.aiAgent and n8n-nodes-base.openAi no longer exist in current n8n versions. One hit means that workflow was built for a version that's gone:
bash
grep -c "n8n-nodes-base.aiAgent\|n8n-nodes-base.openAi" your-template.json
# 0 = fine. Anything else = broken on first import.
The modern agent node is @n8n/n8n-nodes-langchain.agent (typeVersion 3.1) with promptType: "define".
2. Connections must point at node names, not internal IDs
Open the connections object. Every source and target must match a real nodes[].name. 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.
"connections": {
"Lead Webhook (POST)": { "main": [[ { "node": "Score Lead", "type": "main" } ]] }
}
3. The model sub-node has to be wired
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.
4. HTTP/Email nodes with empty url / to
Sounds stupid. Happens more than you'd think. Red node within the hour.
5. Read the system prompt like a contract
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.
Two receipts (no social proof theater)
1. Live BANT qualification agent - public webhook, no setup, no credentials. Paste a lead payload, get back a scored verdict in JSON:
curl -X POST https://demo.miguelabarca.workers.dev/webhook/bant-qualification \
-H "Content-Type: application/json" \
-d '{"lead":{"lead_email":"john@acme.com","company":"Acme Corp","lead_name":"John Smith","budget_status":"approved","decision_maker_check":"yes","pain_point_validation":"manual reporting","timeline_proximity":"this quarter"}}'
# → {"score":100,"verdict":"hot","next_action":"Book discovery call"}
2. The whole catalog passed the zero-error audit above this week - 77 workflows, 100% English. Fair warning: it's a brand-new store with zero sales, so judge the artifacts, not the hype.
Try it before you buy anything
- Free starter pack (5 production agents, no email required): https://gumroad.com/l/xetpfq?utm_source=dev.to&utm_medium=post&utm_campaign=audit10min
- Full catalog (77 workflows + bundles): https://gumroad.com/miguelabarca?utm_source=dev.to&utm_medium=post&utm_campaign=audit10min - code LAUNCH30 = 30% off.
- New to n8n? n8n Cloud has a free 14-day trial.
Happy to share the exact audit script or any of the 5 system prompts - ask in the comments.
What's the gnarliest way a template has broken for you - legacy nodes, phantom connections, or an agent that made up tools?
Top comments (0)