n8n Developer Interview Questions (Good and Bad Answers)

Eleven questions to ask before you hire an n8n developer, what a good and a bad answer sounds like, and a scoring table that tells you whether to hire or pass.

By Carlos Familia, CRM & AI automation expert. Updated . 9 min.

A team on r/n8n inherited about 50 workflows from a previous developer and described them as "No documentation, no naming conventions, half of them failing silently." Some flows were business-critical. Others might not have run in a year, and nobody could tell which. The team spent weeks working out what each flow did before touching anything, then started moving the important ones to plain scripts that were easier to debug and hand off.

Nothing in that thread says the first developer could not build. What failed was everything around the build: ownership, alerts, naming and handover. To hire a good n8n developer, ask the eleven questions below about ownership, failures, changes and testing, score the answers, and pay for a small test before the real project. Rate guides help with budget, not with this. Flowlyn, an automation agency that sells n8n work, lists freelance rates of about $35 to $110 an hour for junior to mid-level work and $120 to $250 for senior specialists. The answers predict results better than the rate does.

Where do you find people to ask? n8n lists service providers at experts.n8n.io with tier labels such as Premium, Enterprise and Select, and the page does not say how providers are vetted. The n8n community Jobs category holds hiring requests and "For Hire" posts.

If you are hiring through a marketplace, the red flags are in hiring an n8n freelancer on Upwork or Fiverr. If you are weighing a studio, see n8n automation agency or freelancer. Ask all of them the same eleven questions, and ask each one to describe the last production incident they handled.

Questions about ownership and handover

1. Which account will this run in, and who owns it?

A good answer sounds like: "Your n8n Cloud account or your own server, in your name. I get a user. You get an export of every workflow at handover."

A bad answer sounds like: "I'll host it on mine, you don't need to worry about it."

I built four workflows for a real estate investor in New Mexico inside the investor's own n8n Cloud account. They scraped foreclosure sheets into Airtable, kept auctions updated, enriched records with skip tracing and pushed them to a field canvassing app. Because the account is the investor's, the workflows stay put whether or not I am still involved.

If someone self-hosts for you, note that the free Community Edition does not include Git version control, projects, or sharing of workflows and credentials. Ask how your workflows are versioned and backed up, and who watches the server. A VPS host throttled one of my own servers at 87 to 90 percent CPU steal, and health checks every 5 seconds on a database stack were a large share of the load.

2. Where do the keys live, and how do you remove your access?

A good answer sounds like: "In n8n's credential store under your account. Nothing is pasted into Code nodes or prompts. You get a list of what I used, and you delete my user on the last day."

A bad answer sounds like: "Just send me the API keys in a message and I'll put them where they work."

Keys in the wrong place are hard to find and harder to rotate. A developer who has handed projects over before already has this list ready. If the answer is vague, assume nobody has ever asked.

3. What exactly do I get at handover?

A good answer sounds like: "An export of every workflow, a list of credentials by name, a one-page note per workflow that says what triggers it, what it writes and how to turn it off, where the alerts go, and a short runbook."

A bad answer sounds like: "It's all in the editor. Just open it and look."

The r/n8n team above is what a missing handover costs: weeks of reading flows before anyone dared change one. Ask to see a handover pack from a past project, with client details removed. If they cannot show one, you are probably the first client to ask for it.

Questions about failure

4. How will I find out when something fails?

A good answer sounds like: "Every active workflow points to an error workflow that alerts a person. One alert per workflow, step and error, repeats muted for a while, plus an hourly check for workflows that were switched off. I'll break a credential on purpose and show you the message."

A bad answer sounds like: "You can check the executions list whenever you want."

At a mortgage brokerage in Florida, all 33 active workflows report to one error catcher. A failing step sends a single alert, the same error stays muted for half an hour, and an hourly check flags any workflow that was switched off or any schedule that skipped a run. The first version taught me something: the catcher did nothing until I published it, because an unpublished error workflow never runs.

Also ask how they test the alert channel itself. At that brokerage a WhatsApp alert step logged "accepted" for days after the platform had lost access to the WhatsApp Business Account. I replaced it with an SMS alert.

Two more traps. One test of mine ran on a schedule measured in seconds and filled the execution history so fast that the whole instance kept only about two days of runs. And executions sitting in a Wait step for more than about 65 seconds did not appear in the executions list, so an empty list does not prove nothing is pending.

5. What happens if the same webhook arrives twice?

A good answer sounds like: "Every event gets an ID. I claim it in a database before acting, so the second copy is ignored."

Diagram: two copies of the same webhook with the same event id reach a database claim. The first insert succeeds and the workflow acts once. The second finds the row already exists and is ignored.
Claim each event in a database before acting, so a duplicate does nothing.

A bad answer sounds like: "That shouldn't happen."

On a med spa's Instagram and Facebook booking bot in New Jersey, overlapping scheduled polls made the bot reply twice. n8n saves static data only when a run finishes, so both runs treated the same message as new. The fix was to claim each message atomically in a database table before replying.

6. What does the run report when an API says slow down?

A good answer sounds like: "Retries with backoff, limited concurrency, and a count of failed items in the run result, so a partial failure is visible."

A bad answer sounds like: "It either works or it throws an error."

The first live run of a daily call queue I built for the Florida brokerage finished without an error. It had still lost 28 contact reads and 16 tag writes to 429 rate limits, and nothing in n8n said so. I added retries with backoff, capped concurrency at 4 and put failure counters in the result. After the fix, a run read 118 of 118 contacts, wrote 43 of 43 tags and took 29 seconds instead of 152.

Time limits fail the same way. A Code node's 300-second limit covers the whole node, even in per-item mode, and a 32-contact night for a real estate wholesaler wrote nothing. Splitting the work with SplitInBatches gave each item its own time budget, and a 32-contact night then finished in 354 seconds with no timeout.

7. What happens when a Code node throws an error?

A good answer sounds like: "It fails loudly. The error reaches the error workflow, and a webhook answers with a failure code, not a 200."

A bad answer sounds like: "I wrap everything in try and catch so it never breaks."

A bare catch hides problems. Some Code node sandboxes lack things like the $helpers object and new URL(), and the failure disappears into the catch. A throw inside a Code node can also leave a webhook answering a bare 200, so the sender believes it worked.

Questions about changing and testing

8. How do you ship a change to something that is already running?

A good answer sounds like: "I patch from the published version, compare what ran against what is saved, and replay anything missed during the change. I can roll back."

A bad answer sounds like: "I just edit it live."

I once patched a chat bot router from the draft copy. That published stale code and took the router down for 15 minutes. Related traps: a partial update on an active workflow can leave its webhook unregistered until you deactivate and activate it, and on the New Mexico build, activating through n8n Cloud's public API did not register the triggers. Ask how they prove a trigger is live.

9. How do you test without touching my customers?

A good answer sounds like: "Test contacts only, a whitelist, and a test flag that every write checks. If the flag can't be read, the run stops."

A bad answer sounds like: "I try it on a few real leads first."

A test flag that is read once, after the run, is a report, not a guard. The med spa bot also has a tester whitelist. On a roofing contractor's bot in Kentucky, a test-mode string still reached a real lead, so ask for a demonstration, not a description.

10. If this includes an AI agent, how do you stop it from claiming things it did not do?

A good answer sounds like: "Tools return the facts, and a change counts as real only when a tool call succeeds. Limits that must hold live in code, not in the prompt. After any scripted edit I run a conversation that must call a tool."

A bad answer sounds like: "I wrote a really good prompt."

I have seen three versions of this failure. A router built from raw REST calls received every tool result as an empty string, so it invented times, prices and bookings. A script that rebuilt connections wiped 23 model, memory and tool connections, and executions still showed success. A prompt rule alone did not stop a bot from asking for a time in every reply, while a counter in code did.

The full list is in n8n AI agent mistakes from production.

11. What would you build first as a paid test task?

A good answer sounds like: "One small real workflow in your instance. Test data, a deliberate failure that fires an alert, the same input sent twice producing one result, and a one-page note on how to turn it off."

A bad answer sounds like: "Let me do the whole project and you can judge it at the end."

Pay for the test. It shows how they work and costs less than finding out on the full project. Read the execution log together afterward.

Most of my builds connect n8n to GoHighLevel, and I explain where that line sits in gohighlevel n8n. If the budget is the open question, read how much does an n8n developer cost. If you already have workflows nobody has checked, an n8n consultant review should come first.

How do I score the answers?

Give each answer 0 for a bad one, 1 for a vague one and 2 for a good one backed by a story from a real build. The maximum is 22. Score each bidder separately and write the numbers down before the call ends.

Treat two zeros among questions 4, 5 and 6 as a pass whatever the total, because those three decide whether you will hear about problems. You can book a call and I will answer the same eleven about my own work.

Total scoreWhat it meansWhat to do
19 to 22Has run production automations and learned from the failuresHire, and start with the paid test task
13 to 18Competent builder with gaps in monitoring or safe changesHire only with alerts and handover written into the scope
7 to 12Builds demos that work on a good dayPass, or limit to a low-risk workflow with no customer contact
0 to 6Has not run anything that matteredPass

About the author

Carlos Familia, CRM and AI automation expert

Carlos Familia, CRM & AI automation expert. GoHighLevel, n8n, AI agents, servers. Full-stack developer.

I build CRM systems in GoHighLevel, n8n automations on my own servers and AI voice and chat agents for service businesses. Full-stack developer: I write the workflow, the API integration, the database and the server it runs on, and I test every build with real journeys before handoff.

Book a call with Carlos

In 30 minutes we look at how you get customers today and what to automate first. Pick a time ยท contact@bluemiraisystems.com