Self-Hosted Automation Hub
A 30-person agency was paying for six SaaS automation tools that barely talked to each other. We replaced them all with a single self-hosted n8n instance — owned infrastructure, zero per-task fees.
Client overview
A 30-person digital marketing agency running client reporting, lead handoff and internal ops automations across a patchwork of vendor tools, billed per-task and per-seat, with no single person owning the full picture.
The challenge
The agency was running Zapier, Make, Integromat, a custom Node script on a fragile VPS, and two vendor-specific automation tools. Monthly costs were climbing, task limits were being hit in busy months, and when anything broke it was unclear which tool was responsible. The team had no unified visibility into what was actually running.
Objectives
- Consolidate six automation tools into one self-hosted, owned platform
- Eliminate per-task billing and recurring tool-sprawl costs
- Give the ops team full visibility into every workflow without vendor lock-in
- Migrate all 60+ existing automations with zero disruption to client-facing work
The solution
Infrastructure setup
Provisioned an AWS EC2 instance (t3.medium), deployed n8n via Docker Compose with PostgreSQL for persistence and Redis for queue mode. Configured an Nginx reverse proxy with SSL, daily backups to S3 and CloudWatch alerting.
Workflow migration
Audited all 60+ existing automations across six tools, categorized by complexity and dependency, and migrated in three sprints — simple webhooks first, then multi-step sequences, finally the fragile custom Node script rewritten as maintainable n8n Code nodes.
Error handling & observability
Built a global error-handler workflow that catches failures, logs to PostgreSQL and posts a structured Slack alert with the workflow name, the node that failed and the last three execution inputs. Every production workflow has retry logic configured.
Documentation & handover
Tagged every workflow by team and purpose. Wrote an internal runbook covering deployment, backup/restore, credential management and how to build new workflows. Ran a two-hour training session with the ops team.
Technical architecture
Key features delivered
- Dockerized n8n running in queue mode with PostgreSQL persistence and Redis for safe concurrency
- Global error-handler workflow posting structured Slack alerts with node-level failure detail
- Automated daily backups to S3 with a tested, documented restore procedure
- Retry logic configured on every production workflow
- Internal runbook covering deployment, credential management and workflow authoring
- Ops team trained to build, debug and monitor automations without external vendor support
Results
- 62 workflows running on a single owned platform — no per-task billing.
- Monthly automation costs reduced by roughly 73% versus the previous six-tool stack.
- 99.9% uptime over the first 90 days with zero data-loss incidents.
- Team builds, debugs and monitors automations in-house without vendor support tickets.
Challenges
Migrating 60+ live workflows without downtime
Cutting over all at once risked breaking client-facing automations mid-campaign. Sequencing the migration in three sprints by complexity and dependency meant the riskiest workflows moved last, once the platform had already proven itself on simpler ones.
A single-point-of-failure VPS script
One custom Node script running unmonitored on a personal VPS had become critical infrastructure nobody wanted to touch. Rewrote it as version-controlled n8n Code nodes with the same error-handling and retry logic as everything else, removing the "please don't restart that server" risk.
Correct queue-mode configuration
Running n8n in queue mode with Redis needed care to avoid race conditions on concurrent executions — validated under load with the busiest existing workflows before fully cutting over.
Lessons learned
- Self-hosting trades a vendor support contract for control and cost savings — worth it once workflow volume and tool-sprawl costs cross a certain threshold.
- Sequencing a migration by risk (simple things first) builds confidence in the new platform before the hardest workflows move over.
- A documented runbook is what actually lets a team own automations long-term, not just the tooling itself.
The agency went from six billed tools and an unmonitored VPS script to one owned, documented automation platform the team runs themselves. Nothing here is rented — every workflow, credential and failure log lives on infrastructure they control.
Lifecycle Automation Suite
Need something like this built?
Need help implementing n8n, AI automation or custom integrations? Tell me where the friction is — I'll map the system and hand it back clean.