Automating with N8N and Claude Code: what I've been working on lately
An N8N pipeline that goes from RSS to a daily digest, and what it was like to build it with Claude Code.
This week the focus was my automated news curation flow: an N8N pipeline that goes from RSS to a daily digest, with deduplication in Supabase and the Claude API generating summaries and suggested angles. Not finished posts, but raw material for me to develop by hand. I'm also using this post to record what it has been like to use Claude Code to build it, with its wins and its friction.
The flow I built
The architecture is simple in concept:
- Two daily triggers that kick off reading the RSS sources.
- Each new article is compared against what already exists in Supabase to avoid duplicates.
- Whatever passes the filter is sent to the Claude API, which generates a summary and possible angles to develop.
- The result arrives ready for me to decide what's worth turning into real content for my personal brand.
None of this replaces my editorial judgment; the explicit goal was for the AI not to write the final post, only to lower the cost of finding something to write about.
Where Claude Code shined
Translating the idea of the flow into concrete N8N nodes. Going from "I want a pipeline that dedupes and summarizes" to a working workflow JSON was much more direct than I expected. Designing the Supabase schema for deduplication (which fields to index, how to avoid false duplicates) also came out solid on the first try.
Producing the three deliverables as a coherent package. I ended up with the workflow JSON, the Supabase schema, and a writing style guide that documents my stylistic fingerprint, all designed to work together. Having the three pieces stay consistent with each other, without me being the one tying up the loose ends, was a real win.
Where there was friction
The MCP connection to N8N. My instance runs on DigitalOcean, and connecting it to Claude via MCP only works reliably through the OAuth flow in a web browser. OAuth from the desktop app breaks. It's not a serious blocker, but it's a reminder that the integration still has rough edges you need to know about in advance so you don't waste time debugging something that isn't the workflow's fault.
Validating automation logic without seeing it run. Unlike web development, where I can see the UI and know right away if something is wrong, with N8N the error sometimes only shows up when the trigger actually fires, with real data, at the real time. That means iteration is slower by nature: it's not a Claude Code problem, it's a problem of the medium, but you have to plan for it.
Defining how "finished" the generated content should be. I had to be explicit that I wanted summaries and angles, not assembled posts, because the system's natural temptation is to solve the whole problem. It was a product decision I had to state upfront, not something that adjusted itself along the way.
What's next
The immediate next step is to run the SQL schema in Supabase and leave the pipeline running in production for a week to see how it behaves with real data, not just tests. That's where you find out whether the deduplication filter design really holds up.
If building the web development flow with Claude Code felt like delegating execution while I direct the product, building this pipeline in N8N felt more like designing a complete system end to end and using the tool to bring it to life quickly. A different kind of work, a different kind of help.