n8n Hosting for Agencies: One Instance Per Client, Zero DevOps
The Agency n8n Problem Nobody Talks About
Selling automation retainers is straightforward until delivery day. Then you have to decide: do you build all clients in one shared n8n instance (risky, messy, a single bad workflow can affect everyone), or do you spin up a separate VPS per client (takes hours, means you're now a sysadmin, and still requires you to beg the client for their OpenAI API key)?
Neither option is good. The shared instance model breaks the moment you have more than three clients. The per-VPS model eats your margin in setup time before you've written a single node.
This guide covers a third option: provisioning an isolated, AI-ready n8n instance per client in about two minutes, with no server management and LLM credits already included.
Why Isolation Matters for Agency Work
Before getting into the mechanics, it's worth being explicit about why single-tenant matters commercially:
- Data separation. Client A's CRM data, Slack messages, and customer records never touch Client B's environment. This is a conversation you want to be able to close quickly when a prospect asks.
- Independent credentials. Each instance has its own n8n login. Clients can be handed their credentials as a deliverable — it's their box, not a seat in your account.
- Independent lifecycle. When a client churns, you cancel one instance. When a client wants to adjust their compute, you change one instance. Nothing cascades.
- Cleaner handoffs. If the engagement ends and the client wants to take over self-hosting, they export their workflows as JSON and import them anywhere. Workflows are portable; the infrastructure relationship is with AgentRoost, not you.
The Typical Agency Build: What the Workflow Stack Looks Like
Most agency automation projects land in a predictable tier list. Here's how they map to n8n nodes:
Tier 1 — Simple data pipelines (most common)
- Schedule Trigger → HTTP Request (pull from CRM or SaaS API) → Set (normalize fields) → HTTP Request (push to destination)
- No AI involved, ships fast, bills by the hour.
Tier 2 — AI-augmented workflows
- Webhook (inbound trigger from client's site or app) → HTTP Request (fetch context) → AI Agent or OpenAI node (draft email, classify lead, generate summary) → Send Email / Slack / HTTP Request
- This is where most competitors stall: the client needs an OpenAI API key, billing enabled, a usage cap set, and someone to monitor it. On AgentRoost, the AI Agent node works on arrival because credits are already funded — you just wire the node.
Tier 3 — Multi-step autonomous flows
- Schedule Trigger → HTTP Request (bulk data pull) → Split In Batches → AI Agent (process each item with context from a Vector Store or prior Set node) → conditional routing via IF → multiple downstream actions (write to Airtable, send Slack, create HubSpot deal)
- These take longer to build and are worth more. The AI Agent node in n8n lets you attach tools (HTTP Request sub-tools, code execution) that the LLM calls autonomously — you define the tools and the agent decides when to use them.
A minimal Tier 2 config snippet — an AI node that drafts a reply to an inbound support email:
{
"node": "AI Agent",
"model": "gpt-4o-mini",
"systemPrompt": "You are a support assistant for {{$json.clientName}}. Reply helpfully in under 100 words.",
"userMessage": "={{$json.body}}"
}
The ={{...}} syntax pulls values from the previous node's output. The model field accepts any of the 350+ models available on AgentRoost — switch without touching anything else.
Common Agency Mistakes (and the Fix)
Mistake 1: Building everything in your own n8n account first. You end up having to manually recreate every workflow in the client's instance. Build directly in the client's instance from day one. Use a staging folder (n8n supports folder-based organization) if you need a safe drafting area.
Mistake 2: Not setting execution limits on long-running workflows.
A misconfigured Schedule Trigger polling every 30 seconds against a slow API can exhaust included credits faster than expected. Scope the polling interval in the trigger node's settings (Interval: minutes, not seconds) and add an IF node early in the flow to bail out on empty responses.
Mistake 3: Sharing credentials across clients via a personal API key. Even if the AI credits are included, some workflows need client-specific credentials (their Slack workspace, their HubSpot account). Store these in n8n's Credentials panel inside the client's own instance — not in a shared spreadsheet, not hard-coded in an expression.
Mistake 4: Treating webhook URLs as permanent across rebuilds.
n8n generates webhook URLs from the instance base URL + a UUID. The base URL (https://<id>.agentroost.app) is stable for the life of the instance. Don't rebuild the instance to "fix" something — you'll break the webhook URL and have to update every upstream system.
How to Do This on AgentRoost
The actual provisioning flow:
- Sign up at agentroost.app — email/password, Google, Microsoft, or Discord.
- Pick the n8n framework, give the instance a name (this becomes the subdomain).
- Your n8n editor opens at
https://<your-id>.agentroost.app. Log in with the credentials shown in your AgentRoost dashboard. - Start building. The AI Agent, OpenAI, and Anthropic nodes work immediately — no API key entry, no billing setup.
- Repeat for the next client. Each gets their own URL, their own credentials, their own isolated environment.
Total time from checkout to a working n8n editor: about two minutes. Total time to hand over credentials to a client: another two minutes.
Pricing starts at $19.99/mo all-in — one price covers the compute, the subdomain, the SSL, and the LLM credits. There's a 14-day money-back guarantee, and subscriptions are monthly with no long-term commitment.
For agencies managing multiple concurrent client builds, the Plus and Pro tiers add more included credits and more compute headroom per instance.
Compare plans — or go straight to the n8n framework page if you're ready to spin up a first instance.
The Economics in Plain Terms
A basic VPS capable of running n8n typically runs a few dollars per month. Add SSL setup, a subdomain, Docker maintenance, and the client's own OpenAI API spend on top of that. You're quickly above $19.99 before accounting for your own time.
AgentRoost's $19.99 base tier bundles compute, credits, and infrastructure into a single line item. For agency billing purposes, this passes cleanly through as a managed infrastructure fee or rolls into a retainer — one predictable number, no surprise API invoices landing in the client's inbox.
The real saving is setup time. An afternoon of VPS provisioning that you skip is time you can bill elsewhere — or simply not spend.
Frequently asked questions
Does each client get a truly separate n8n instance, or is it a shared environment?
Fully separate. Each instance is single-tenant — its own n8n editor URL (https://<client-id>.agentroost.app), its own login, its own workflow data. Nothing is shared between clients. This matters for data handling and for giving clients confidence that they own their environment.
Who holds the API keys for the AI nodes?
Nobody on the client side needs to. LLM/AI credits are included in the AgentRoost subscription, so the AI Agent, OpenAI, and Anthropic nodes work straight away. You can still connect a client's own API key to a specific node if a workflow requires a particular account, but it's never a prerequisite.
Can clients access and edit their own workflows, or is that locked to the agency?
It's entirely up to you. Clients get their own login to the n8n editor, so they can review, tweak, and even build new workflows themselves. Most agencies hand over credentials after the build phase — it's one of the deliverables that justifies the retainer.
What happens if a client wants to stop and take their workflows elsewhere?
n8n has a built-in export: in the editor, go to Settings → Export (or right-click any workflow → Export) and download a JSON file of any workflow. The client can import that file into any other n8n instance. There is no lock-in at the workflow level.
Can I cancel a client instance without affecting others?
Yes. Each instance is a separate subscription. Cancelling one has no effect on any other client's environment. The 14-day money-back guarantee applies to new instances — useful for onboarding trial clients before a retainer starts.