I self-hosted n8n on my home server for months, behind a Cloudflare Tunnel. One of my favorite workflows was a home inventory tracker: snap a photo on my phone, send it to a Telegram bot, an AI vision model extracts the item and clothing details, and the structured record lands in my inventory database. It worked reliably the whole time.
Then I moved most of my automations back to plain local scripts anyway.
As a developer with a lot of automation experience who has also explored n8n hands-on, I can share my perspective on the question people are asking: with AI coding agents writing complete scripts in seconds, is n8n still worth learning?
What n8n Does That Raw Scripts Don't
Ask Claude Code or OpenCode for a standalone Python automation and you get code. You don't get an execution platform. The script needs error logging, retries, scheduling, and secret management, all built by hand. n8n ships with that stuff ready. Its Redis-backed queue mode (EXECUTIONS_MODE=queue) keeps runs from dropping when traffic spikes.
The bigger win is debugging. When a workflow fails at 2 AM, you open the execution log, see which node broke, inspect the input and output JSON down to the individual field, and rerun from the point of failure. No grepping server logs, no print statements. For non-developers this is the difference between "I can check it myself" and "call the developer."
The integrations matter too. Over 400 of them. Gmail, Telegram, Notion, PostgreSQL. No OAuth libraries to import, no token refresh cycles to babysit. Plug in credentials, work with the data.
n8n also speaks Model Context Protocol (MCP) natively. You can point OpenCode or Claude Code at a running instance to inspect nodes, fix misconfigurations, or scaffold new workflows. AI doesn't replace n8n here. It drives it.
Where the Canvas Stops Paying Off
My inventory tracker worked, but building it took more effort than the equivalent script would have. Webhook setup, OAuth redirects, routing JSON between visual blocks, node-specific formatting quirks. And once logic gets deeply nested, a diagram of conditional branches and loop nodes gets harder to read than fifty lines of clean code.
Then there was the hosting problem. Webhook nodes and OAuth callbacks (Gmail and similar services) demand a public URL with valid SSL. That means exposing the instance to the open internet and maintaining it: container updates, security patches, tunnel config. Even with Cloudflare handling DNS and SSL termination, I was running a public service to support my personal automations. I didn't want that job.
So I migrated back to localhost. Local scripts talk to local files, browser automation, and MCP servers directly, and nothing internal is ever exposed. For solo work like this, scripts are simply less overhead.
So Is It Worth Learning?
Yes, if you know where it fits.
Working with a team, or building client automations where non-engineers need visibility? n8n is still one of the best options available. Queued executions, visual history, MCP support for AI tooling. No raw script gives you that combination.
So my conclusion is: if you're a solo developer handling sensitive local data or deeply customized logic, scripts with an AI agent beside you are faster and lighter. Use n8n for observable team workflows and third-party plumbing, and keep standalone scripts for everything else.