惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
GbyAI
GbyAI
P
Proofpoint News Feed
B
Blog
MyScale Blog
MyScale Blog
V
V2EX
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
量子位
Jina AI
Jina AI
博客园 - 叶小钗
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
罗磊的独立博客
L
LangChain Blog
I
InfoQ
云风的 BLOG
云风的 BLOG
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
小众软件
小众软件
V
Visual Studio Blog
月光博客
月光博客
The Cloudflare Blog
雷峰网
雷峰网

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
The n8n bug that took three tries to find (and the free w...
Ibrahim Edhem Harbutlu · 2026-06-28 · via DEV Community

I built a free n8n workflow that writes your launch content for you. It broke three times before it worked, and the third break is the only part of this post worth reading.

The problem

Every time I ship a new digital product, I write the same five things: a short blog intro, a LinkedIn post, an X post, an Instagram caption, and a launch email. Same structure every time, different product. The kind of task that's boring enough to automate but annoying enough that I kept putting it off.

So I built Launch Content Pack: an n8n workflow that takes one product description and generates all five, using an LLM node wired up with Claude Code on the customization side. It's free, it's on Gumroad, and the JSON is the whole product — open it, see every node.

Why bother when there are 9,000+ free n8n templates already

There are. I checked before building this, because there's no point shipping a workflow that already exists for free somewhere else.

What's actually missing from most of those templates: nobody validates the nodes. A huge chunk of free n8n templates floating around were generated by someone (often an LLM) guessing at node types and parameters, and they quietly break the moment n8n ships a version update. I used n8n-mcp, a free MCP server, to confirm every single node type, version, and parameter against n8n's actual schema before writing any JSON. No guessing.

That sounds like a small difference. It's the reason this post exists.

The bug that actually mattered

I tested the workflow in n8n Cloud. Two nodes ran clean — green checkmarks, no errors. Then the Code node that's supposed to take the LLM's output and split it into five labeled fields threw:

Cannot read property 'text' of undefined

My first guess was wrong. I assumed the LLM node's output field was named something other than textoutput, maybe, or response — and that I just had the wrong field name in the Code node. Reasonable guess. Also not the actual bug.

Here's what was really happening. The OpenAI Chat Model node had Response Format set to JSON. When that setting is on, the Basic LLM Chain node doesn't hand you raw text to parse yourself — it parses the JSON for you and dumps the keys straight onto the item, at the top level. So instead of item.json.text containing a JSON string I'd need to parse, I had item.json.blog_intro, item.json.linkedin_post, and so on, already sitting there as separate fields.

My Code node was looking for text to parse. There was no text. The data I wanted was already exactly where I wanted it, just one level up from where I was looking.

Nobody tells you this. It's not in the node's description, and I didn't find it until I asked n8n-mcp to pull up a real production template that uses the same response format and looked at how it actually structures its output. Pure trial-and-error would've taken a lot longer than checking a real example.

Fixed version reads defensively: check if the five fields are already at the top level, and only fall back to parsing raw text if they're not. Works either way the LLM node decides to behave.

That fix, plus the two smaller bugs before it, are written up in the kit's GOTCHAS.md with the real error messages and the real cause. Not a "here's what could theoretically go wrong" list — the actual failures from this actual build.

What's in the free kit

  • The validated n8n workflow JSON
  • Sample data so it runs in about two minutes with zero of your own product info
  • A START-HERE file
  • GOTCHAS.md (the bug above and two others)
  • A short doc on customizing the workflow further with Claude Code

One credential required: an OpenAI API key. n8n Cloud's free trial currently throws in some free OpenAI credits, so you can test the whole thing without paying for API calls.

Grab it here: https://ibrh96.gumroad.com/l/zbmpzn

What I'm still deciding

I'm weighing a paid follow-up: the same idea but built around one specific niche, with a filled-in build-brief instead of a generic prompt. Genuinely undecided on which niche is worth the time. If you try the free one and have an opinion, the comments are open.