Skip to content
← All Posts
Essay

80 workflows later: how n8n replaced my SaaS stack

Most of the tools I paid for were workflow automation with a monthly invoice. What I rebuilt in n8n, the patterns that held up and what it saved.

Written in April 2026. The setup has grown since, and the current map is at duncansmith.tech/homelab.

I replaced about $120 a month of tools, including Zapier and IFTTT, with n8n workflows on my own server. Most of them did the same thing: take data in, apply some rules and push data out.

An email digest service reads RSS feeds and sends a summary. A document processor runs OCR and tags files. A notification tool watches for events and pings you. n8n does all of it self-hosted, with no per-execution limits.

n8n workflow pattern diagram

Three sub-workflows came first

Almost every workflow I run calls one of three shared building blocks:

  • LM Studio call. A webhook takes a system prompt and a user message, sends them to my local model and returns clean text. It allows three attempts and has a 120-second timeout.

  • OpenRouter fallback. The same call, but it tries a larger cloud model first and falls back to the local one. I use it for long documents and harder analysis.

  • Qdrant embedder. It takes any text, generates an embedding with nomic-embed-text, validates it and stores it in Qdrant with metadata.

Building these first was the best architectural decision I made. Every new workflow gets LLM calls and vector search by calling a sub-workflow.

What the 80 workflows do

  • Document processing (12). New files in Paperless-ngx are OCR’d, tagged by the model and embedded for search. Receipts yield amounts, vendors and dates. A contract comes back as a summary of terms, dates and obligations in under a minute.

  • Knowledge management (15). New Obsidian notes are embedded automatically. Every Sunday the model reads the week’s daily notes and writes a summary with themes and action items. Linkwarden bookmarks are summarized and tagged.

  • Notifications (10). At 7am, RSS items filtered for relevance and the weather arrive on my phone through ntfy. Uptime Kuma failures become readable alerts. Raw events are reworded, so I get “Paperless processed 3 new documents” instead of “webhook_event: docs_added, count: 3”.

  • Content and media (8). High-value feeds become a daily digest email. Voice memos are transcribed by SolScribe, summarized and saved as Obsidian notes. New 3D prints get draft listings for several platforms.

  • System operations (15). Backups are checked for size, checksum and freshness. A health check covers all 24 services. Docker is pruned weekly. TLS certificates raise an alert 30 days before they expire.

  • AI and integration (20). Important Claude conversations are scored, summarized and stored. New content is cross-referenced against what I already have, and checked for near-duplicates before it is embedded.

Patterns that held up

Webhook, LLM, action. About 90% of the workflows have this shape: something triggers a webhook, a model enriches or analyzes the payload and an action follows. Once that shape is familiar, a new workflow takes minutes.

Errors that don’t wake me up. Every workflow has an error branch. A failed LLM call retries, and a second failure logs the error and sends a low-priority notification. Backups and security checks alert at high priority. RSS summaries and bookmark enrichment fail quietly and run again on the next schedule.

Safe to re-run. A workflow should check before it acts: whether a document is already embedded, whether a note with that title exists and whether the same alert went out in the last hour. That prevents duplicates during error recovery.

What I stopped paying for

  • Zapier: $49 a month

  • IFTTT Pro: $5

  • Notion AI: $10, replaced by LM Studio and Obsidian

  • Readwise: $8, replaced by FreshRSS and an n8n digest

  • Monitoring tools: $15, replaced by Uptime Kuma and n8n alerts

  • Cloud transcription: $30, replaced by SolScribe

That is roughly $120 a month, plus semantic search and local LLM processing those tools didn’t offer.