Need an expert for N8N please

Describe the problem/error/question

Hey everyone,
I built a lead gen pipeline with two parallel AI branches per lead and I’m stuck at ~60% success rate. I’d love to get to 80%+ but can’t figure out where exactly things break.
Branch 1 — CEO Extraction:
AI Agent (GPT-4o-mini) uses Firecrawl map + scrape tools to find the managing director from German company imprint pages. Problems:
Agent sometimes outputs NOT_FOUND even when the imprint data is right there
Random timeouts on scrape calls (sites load fine in browser)
Can’t distinguish “genuinely no imprint” from “something broke silently”
Branch 2 — Screenshot Scoring:
Firecrawl HTTP takes full-page screenshots, Gemini Vision scores how badly the site needs a redesign. Problems:
Screenshots come back empty/null randomly on reachable sites
Some screenshots capture cookie banners or loading states instead of actual content (despite waitFor: 10000)
Both branches use continueRegularOutput on error, so failed items pass through silently with empty data — making debugging a nightmare.
What I need help with:
Better error visibility (why did it fail, not just that it failed)
Architecture tips to push reliability up
Anyone solved similar Firecrawl screenshot inconsistencies?
Stripped-down workflow JSON attached (just the two AI branches + merge logic). Sticky note has context.
Thanks :folded_hands:What is the error message (if any)?

Please share your workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 2.12.2
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: Ubuntu 24 (Hostinger VPS)

Welcome to the n8n community @MonoPulse-Alessandro !

I’d add explicit status fields on both branches before the merge, like success, failure_stage, http_status, tool_used, and raw_response_present. Right now continueRegularOutput is hiding whether the issue is Firecrawl, the model, or the merge logic. Even a simple error taxonomy per item would make it much easier to see where your missing 40% is actually coming from.

Hey Benjamin, thanks for your time! The agent splitting makes total sense. Quick question though: how would you actually wire that up? My gut says two agents running ping-pong to achieve the Goal of a cheap and effective extractor isn’t really possible in n8n since execution is linear… so would you go the sub-workflow route, or something else entirely? Also curious if a stronger model would Help in this Case.

If I get stuck I’d definitely reach back out!

Hey Tamy, thanks for the quick reply this was super helpful and thats a good Point. One quick thing: if I add explicit status fields and route failures to a separate error branch, how do I make sure the leads still come back together in the correct order at the end? I’m worried about ending up with a jumbled mess where success leads and error leads lose their original sequence. Is there a specific merge pattern or node setup you’d recommend in n8n to keep everything tied together by lead ID?

Thanks in Advance

Hey Benjamin, just wanted to tell you that i fixed it, and i wanted to thank you for that:D