Deploy n8n Zoom
Zoom meetings to Slack briefs Self Host
n8n-worker
Just deployed
Redis
Just deployed
/data
Just deployed
/var/lib/postgresql/data
Just deployed
/home/node/.n8n
Deploy and Host self hosted n8n Zoom (Open-Source Zoom Automation) on Railway
You record a Zoom call, it ends, and twenty minutes later Slack gets a clean summary with attendees and transcript highlights. This queue-mode n8n stack on Railway - editor, worker, Postgres, Redis - catches Zoom webhooks without your laptop staying awake.
About Hosting n8n Zoom open-source software on Railway (self hosted n8n template)
n8n Community Edition (fair-code) runs in queue mode: editor handles UI and webhooks, worker executes jobs. Editor uses n8nio/n8n:2.36.8 on port 5678; worker runs n8n worker pulling from a Redis Bull queue. Postgres stores workflows, credentials, execution history. Volume /home/node/.n8n persists encryption key and configs across redeploys.
Zoom stays external. Connect via OAuth in n8n's Zoom node, register a webhook endpoint at your Railway URL, and let Zoom push meeting.ended events. Worker fetches cloud recording transcript or attendee list, posts a formatted brief to Slack.
Queue mode adds moving parts versus SQLite single-container n8n, but SQLite cannot run queue mode. Six meetings ending at once risk timeouts on Slack steps in single-process; worker model smooths it.
Why Deploy n8n Zoom, the Zapier alternative on Railway (Railway Free Trial)
Zapier's Zoom integration fails when you need to fetch a transcript after recording, retry because Zoom's transcription lagged, then post to a Slack thread. Linear zaps can't retry across a 20-minute delay; per-task pricing hurts. n8n handles retry loop natively with Wait, Loop Over Items, and HTTP Request nodes.
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying n8n Zoom on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Railway vs Other Hosting Providers and VPS for n8n Zoom self hosting
I've run this on a $10 DigitalOcean droplet, a Hetzner CX22, and Railway. The table sums up what matters when a Zoom webhook lands at 9am.
| Provider | Queue-mode setup effort | Webhook ingress | Scaling worker count | Monthly cost for this stack |
|---|---|---|---|---|
| DigitalOcean | Manual Docker Compose, open firewall ports | Needs Nginx/Caddy | Manual - clone worker service | ~$12-$18 |
| AWS | High - ECS, ALB, RDS, ElastiCache | ALB with TLS, target groups | Moderate - ECS autoscaling | $40-$90 |
| Hetzner | Manual, cheap; reverse proxy required | Needs TLS cert and proxy | Manual - systemd/Compose | ~$8-$15 |
Railway sits between Hetzner and DigitalOcean on price but removes reverse proxy and TLS work. You get a public URL for the editor immediately, which Zoom webhooks need. Scaling the worker is a slider, not a Compose edit.
Common Use Cases for hosted n8n Zoom
Meeting brief: webhook fires on meeting.ended, worker waits for recording, pulls transcript and attendees, posts to Slack. Sales route summaries to CRM and flag competitor mentions. Support triggers ticket updates on low CSAT. Research archives transcripts to Notion. HR matches attendance against schedules. Thread: Zoom event to system of record, n8n handles waiting, retrying, transforming.
Dependencies for n8n Zoom Docker hosted on Railway
Four services, two same image, one volume, and env vars that matter more than they look.
Deployment Dependencies for Managed n8n Zoom Service (Zoom Automation)
Editor uses n8nio/n8n:2.36.8, port 5678. Needs EXECUTIONS_MODE=queue, DB_TYPE=postgresdb, Postgres connection string. WEBHOOK_URL must be the public Railway editor URL or Zoom signature validation fails. Worker uses same image, command n8n worker, same Postgres/Redis details, plus QUEUE_HEALTH_CHECK_ACTIVE=true. Postgres and Redis are managed Railway services.
Implementation Details for n8n Zoom (Using n8n official docker image)
Set N8N_ENCRYPTION_KEY before first boot, never lose it. Regenerate and all stored Zoom OAuth tokens become unreadable. N8N_PROXY_HOPS=1 required because Railway terminates TLS. EXECUTIONS_DATA_PRUNE=true keeps Postgres from ballooning. Volume stores transcript files, VTT in /home/node/.n8n; without persistence, redeploys wipe files while DB still references them.
How does n8n Zoom compare against other meeting automation platforms
Each alternative has a real advantage somewhere.
n8n Zoom vs Zoom Apps (Zoom Apps Alternative)
Zoom Apps run inside the Zoom client for in-meeting polls/whiteboards, not post-meeting workflows. n8n runs on your infra, reacts to webhooks after meeting closes. Zoom Apps win on zero deployment and in-meeting latency; n8n wins on Slack, Notion, CRM after the fact.
n8n Zoom vs Zapier (Zapier Alternative)
Zapier's Zoom/Slack integrations are easy, but retry-and-wait breaks: transcription lags 15 min, Zap fails or needs separate delay without re-check. n8n's Wait + Loop handles it natively. Zapier wins on simple triggers; n8n wins on long-running, conditional, retry-heavy workflows.
n8n Zoom vs Make (Make Alternative)
Make's visual router beats Zapier for branching; Zoom modules solid. Free tier caps operations, paid plans expensive when one brief uses 6-8 ops. Self-hosted n8n no per-op cost beyond Railway. Make wins on polish; n8n wins on cost at volume.
n8n Zoom vs Activepieces (Activepieces Alternative)
Activepieces younger, open-source, cleaner UI. Zoom piece exists but retry policies/webhook signatures less battle-tested. n8n handles OAuth refresh, API pagination better. Activepieces wins on DX for simple flows; n8n wins on Zoom API edge cases.
How to use n8n Zoom (the OSS Zoom Automation)?
Create Zoom OAuth app with meeting:read:admin and recording:read:admin scopes, connect n8n Zoom node. Add Webhook node, register URL in Marketplace, subscribe meeting.ended, copy token. On webhook: extract meeting UUID, hit recordings endpoint; if processing, Wait node pauses 5 min and loops.
How to self host n8n Zoom on other VPS Services (n8n Zoom self hosting guide)
Same stack runs on any VPS with Docker Compose.
Clone the Repository
Clone n8n repo and checkout 2.36.8, or just create dir with docker-compose.yml and .env; no full source needed.
Install Dependencies
Install Docker and Docker Compose; Postgres/Redis run as containers.
Configure Environment Variables
Copy .env.example to .env. Set DB_TYPE=postgresdb, DB_POSTGRESDB_HOST=postgres, EXECUTIONS_MODE=queue, WEBHOOK_URL=https://your-domain.com, N8N_PROXY_HOPS=1, random N8N_ENCRYPTION_KEY. Redis host redis, mount /home/node/.n8n as named volume.
Start the n8n Zoom Application
Run docker compose up -d. Editor on 5678, worker connects Redis, Postgres initializes. Point reverse proxy at 5678 with TLS, register webhook in Zoom.
Official Pricing of n8n Zoom (n8n Zoom pricing)
n8n Community Edition free, fair-code, includes queue mode, Zoom node, Slack, webhooks, unlimited workflows. Pay only Railway infra. n8n Cloud Starter ~$24/month for 2,500 executions. This Railway stack $10-$25/month depending on Postgres/Redis sizes, worker count.
n8n Zoom cloud vs self hosted comparison (Pricing, features, costs, and more)
Cloud Starter easier but caps executions; one meeting brief with retry can use 10+ node executions, so 2,500/month runs out. Self-hosted no per-execution cost, but you handle updates, backups, key. Cloud has SSO on higher tiers; Community Edition no SSO.
Monthly cost of self hosting n8n Zoom on Railway
Expect $10-$25/month: small Postgres ~$5, Redis ~$3, editor+worker $5-$15. Railway's $5 free trial on GitHub signup covers first experiments. For single daily Zoom-to-Slack flow, deploy cheapest n8n without queue mode and skip Postgres/Redis - lose worker isolation and long-running retry safety.
System Requirements for Hosting n8n Zoom on a VPS
Minimum: 1 vCPU/1GB editor, 512MB worker, 1GB Postgres, 256MB Redis. Real-world with transcript processing, parallel webhooks: 2 vCPU/2GB per service, 10GB disk Postgres+n8n volume. Webhook bursts spiky; worker needs headroom for transcript fetches and Slack formatting.
Frequently Asked Questions (FAQs)
Why does my Zoom webhook never arrive in n8n?
Nine times out of ten: webhook URL or signature. Ensure WEBHOOK_URL matches exact public Railway editor URL (path, trailing slash). Check Zoom Marketplace: verification token matches n8n, event subscription meeting.ended enabled.
How long after a meeting ends before the transcript is available?
Varies; cloud recordings ready in 2 min to 1+ hour. Don't assume immediate. Build retry loop checking recordings endpoint every 5 min for up to an hour.
Does the Zoom webhook include the transcript, or do I have to fetch it?
Webhook only says meeting ended, gives UUID/start time. Transcript is separate file requested from recordings endpoint after status completed. Two-step dance is why simple Zaps fail.
What timezone are Zoom webhook timestamps in?
UTC always. If Slack needs local time, convert with n8n's Date & Time node or Luxon. Don't hardcode offset - meetings span DST.
Can I run this without queue mode to save money?
Yes, but not for this use case. Queue mode lets worker retry transcript fetch 45 min without blocking editor's webhook listener. Second webhook during retry risks timeout on Slack step in single-process. SQLite can't do queue mode, so Postgres non-negotiable.
What happens if I lose my N8N_ENCRYPTION_KEY?
Every stored credential (Zoom OAuth, Slack token) becomes unreadable. n8n starts but connections fail. Store key in Railway secret manager and password manager. No recovery. Queue-mode workers keep n8n Zoom executions off the editor so webhooks stay fast under load.
Template Content
n8n-worker
n8nio/n8n:2.36.8Redis
redis:8.2