n8n Hosting for Agencies: Give Each Client Their Own Instance

AgentRoost · May 21, 2026 · 7 min read · View as Markdown
AgentRoost — Self-Hosting & Ownership

The Agency Problem Nobody Talks About

You built a great n8n workflow for a client. Now you have five clients. Some shops solve this by running one shared n8n instance and giving every client a different username. That works right up until one client's runaway workflow pegs the CPU and two others can't run their triggers. Or until the client asks, "Can you export my data before we end the contract?" and you're untangling shared credentials at midnight.

The other approach: spin up a VPS per client, install n8n, configure SSL, set up Postgres, sort out backups, then charge the client for their own OpenAI API key on top of your retainer. For one client this is fine. For eight, you've become a systems administrator with a side gig in workflow consulting.

There's a cleaner model, and it's worth thinking through before you scale.


Why "One Instance Per Client" Is the Right Architecture

Shared instances have three failure modes for agencies:

  1. Blast radius: A broken webhook loop in one client's workspace can exhaust memory for everyone on the same instance.
  2. Data commingling: Credentials, execution history, and env vars sit in one database. A misconfigured export or a nosy admin can cross wires.
  3. Messy offboarding: When a client leaves, you're surgically removing their workflows from your instance rather than handing them a key.

Single-tenant isolation — one n8n instance per client, each with their own subdomain, their own login, their own execution data — solves all three. It also makes the commercial conversation cleaner: the client owns what you built for them, and you can hand it off or resell the seat directly.


What "Their Own Instance" Actually Means

When each client gets their own n8n instance, here's what that looks like in practice:

  • Their own login — the client logs into https://acme-co.agentroost.app with credentials only they know. You don't hold the password unless they share it with you.
  • Their own data — execution history, workflow state, and credentials live in their isolated database. Nothing is shared with other clients.
  • Their own subdomain — publicly accessible HTTPS endpoint, ready for webhooks from Stripe, HubSpot, Notion, wherever.
  • Their own AI nodes — the LLM/AI nodes in n8n connect to included credits. No OPENAI_API_KEY conversation with the client, no invoices you have to forward, no month-end reconciliation.

That last point is the one that changes the agency economics most. Every competitor in the self-hosting infrastructure space — Elestio, Sliplane, Hostinger VPS — ships you the container and stops there. The AI integration is your problem. On AgentRoost, the AI nodes work out of the box, already funded, on every instance you provision.


How the Agency Model Works in Practice

Here is a realistic delivery flow:

Step 1 — Scope the workflow, quote the seat.

When quoting a client engagement, include the cost of their n8n instance as a line item (or bundle it into your retainer). AgentRoost starts at $19.99/mo all-in. You can pass that through at cost, mark it up as "automation infrastructure," or absorb it — up to you. Monthly billing, cancel anytime, 14-day money-back guarantee.

Step 2 — Provision the instance in ~2 minutes.

Sign into AgentRoost, pick the n8n framework, give the instance a name (the client's company slug works well), and it spins up. The n8n editor opens at https://<your-id>.agentroost.app. You now have a private, single-tenant n8n instance to build on.

Step 3 — Build the workflow under your account, then hand it off.

During development, the instance is under your AgentRoost account. When the engagement is done:

  • Hand-off path A: Export the workflow JSON (Workflow → Download) and import it into a new instance the client provisions on their own AgentRoost account. Clean separation — they own the seat, you billed for dev time.
  • Hand-off path B: Keep the seat in your account and share the n8n editor credentials with the client for direct access (useful for retainer clients where you're still maintaining the automation).

Step 4 — Deliver working AI nodes, no API key conversation needed.

Because AI/LLM credits are included in the AgentRoost subscription, the n8n AI nodes — the AI Agent node, OpenAI node, LangChain chains — are wired and ready. The client doesn't need to hand you an OpenAI API key, and you don't need to explain why their bill went up $200 in a busy month. The cost is flat and predictable.


Building a Multi-Client Workflow: What the n8n Nodes Look Like

For a concrete example: a client wants a workflow that monitors their support inbox, summarizes new tickets with AI, and posts a digest to Slack every morning.

The n8n graph looks like this:

[Schedule Trigger] → [Gmail node: fetch unread] → [AI Agent node: summarize]
    → [Set node: format message] → [Slack node: post to #support-digest]

Key node config notes:

  • Schedule Trigger: Set to 0 8 * * 1-5 (weekdays at 08:00). Each client instance has its own trigger running independently — no contention.
  • Gmail node: Uses OAuth2 credentials stored in that client's credential vault only. Another client's instance never sees it.
  • AI Agent node: Point the model selector to whichever of the 350+ available LLMs fits the task (GPT-4o-mini is good for summarization). No API key field to fill — the credits are already there.
  • Set node: Shape the Slack message. Something like:
{
  "text": "*Support digest — {{ $now.toFormat('yyyy-MM-dd') }}*\n{{ $json.summary }}"
}
  • Slack node: Uses a Slack OAuth credential stored in this client's instance, isolated from every other client.

When you clone this workflow for the next client (export JSON, import into their instance, swap credentials), the isolation is complete. Their Gmail, their Slack, their AI spend — all self-contained.


How to Set This Up on AgentRoost

  1. Go to agentroost.app/en/agents/n8n and sign up (email/password, Google, Microsoft, or Discord).
  2. From your dashboard, create a new workspace — choose the n8n framework, pick a name.
  3. Your private n8n editor is live at https://<your-id>.agentroost.app in about two minutes.
  4. Build the workflow. The AI nodes have credits included — open any AI node, select a model, and run.
  5. Webhooks get a public HTTPS URL automatically (the Webhook node shows you the full URL). No Cloudflare tunnel, no reverse proxy to configure.

For each new client, repeat from step 2. Each instance is completely independent.

Compare plans and pricing — starts at $19.99/mo, 14-day money-back guarantee.


The Economics for Agencies

Setup Your time per client AI billing Handoff
Shared instance Low initially, high at scale Your API key, you reconcile Manual workflow export + re-credential
Self-managed VPS per client High (SSL, Postgres, updates) Client's API key or yours Full server transfer or rebuild
AgentRoost per-client instance ~2 min provisioning Included, flat-rate Export JSON or transfer account seat

The total cost per client seat (~$19.99/mo) is roughly what you'd spend on a minimal VPS plus a modest AI API budget, before counting your own time. For clients who need predictable costs and clean data isolation, the model sells itself.


Common Questions Agencies Ask

Can I manage multiple client instances from one AgentRoost account?

Yes — your dashboard lists all workspaces. You can build and maintain several client instances under your account while keeping each one completely isolated from the others.

What happens to a client's data if they want to leave AgentRoost?

n8n has first-class export support. From the n8n editor, a client can export all their workflows as JSON and import them into any other n8n installation. Credentials need to be re-entered (n8n never exports secrets in plaintext, by design), but workflow logic moves cleanly.

Do I need to worry about one client's workflows affecting another's?

No. Each instance runs in its own isolated container. A hung workflow on one client's instance doesn't touch any other.

Frequently asked questions

Can I run n8n instances for multiple clients from one AgentRoost account?

Yes. Your AgentRoost dashboard lists all your workspaces. You can provision and manage multiple client instances from one account — each instance is completely isolated (separate database, separate credentials, separate subdomain).

Do clients need their own AgentRoost account, or can I manage everything?

Either works. During a build engagement you can keep the instance under your account, then the client can sign up on their own AgentRoost account and you import the exported workflow JSON. Alternatively, keep the seat in your account and share the n8n-level credentials with the client for direct editor access during an ongoing retainer.

How do clients export their workflows if they want to leave?

n8n's built-in export (Workflow → Download) produces a portable JSON file that imports cleanly into any n8n installation — including a self-hosted server. Credentials are not included in the export (n8n never exports secrets), but workflow logic moves completely. There's no lock-in at the workflow level.

What exactly are 'included AI credits' — is there a usage cap?

AgentRoost includes a bundle of LLM credits in each subscription tier. Higher tiers (Plus, Pro) include more credits for heavier workloads. Check the pricing page for current tier details. If your workflows are credit-intensive, moving to a higher tier keeps everything flat-rate and predictable.

Can I cancel a client's instance when the engagement ends?

Yes — subscriptions are monthly and can be cancelled anytime from your dashboard. There's also a 14-day money-back guarantee on new instances. Before cancelling, export the client's workflows as JSON so they have a portable copy of what you built.