Skip to content
Atomic Software Studio

Multi-client automation platform

One environment, many clients, no shared blast radius.

isolation model · one platform, separate walls

shared platform

  • Tenant A

    wa · +57 ···

    • workflows
    • credentials
    • data
    • failure domain
  • Tenant B

    wa · +57 ···

    • workflows
    • credentials
    • data
    • failure domain
  • Tenant C

    wa · +57 ···

    • workflows
    • credentials
    • data
    • failure domain

shared: the platform definition only. nothing else crosses a wall.

The problem

Running automation for several clients out of one shared environment is the fastest way to start and the fastest way to get hurt. Credentials sit next to each other. A workflow edited for one client runs for all of them. One rate limit, one bad deploy, or one noisy integration becomes everybody’s outage.

The alternative most studios land on is a separate hand-built setup per client, which trades one problem for another: nothing is consistent, nothing is reusable, and onboarding gets slower with every client added.

How a tenant is stood up

  1. Give every client their own walls

    Each client runs in an isolated environment with their own workflows, their own credentials, and their own data. Nothing is shared by default, so a change made for one client has no path to another.

  2. Containerize the unit, not the client

    The environment is defined once and provisioned per tenant with Docker. What each client gets is identical in shape and separate in state, which is what makes the setup reproducible rather than bespoke.

  3. Separate the channel identities

    Each client connects through their own Meta app and WhatsApp number, so messaging identity, rate limits and permissions belong to the client rather than to a shared pool.

  4. Make onboarding a provisioning step

    Adding a client is standing up a new tenant from a known-good definition, not rebuilding an integration from scratch. The cost of the tenth client looks like the cost of the second.

What it handles

  • Per-client workflow isolation
  • Per-client credential storage
  • Separate WhatsApp identities and rate limits
  • Reproducible tenant provisioning
  • Independent failure domains

Stack

Automation

  • n8n

Channel

  • Meta Apps
  • WhatsApp Cloud API

Infrastructure

  • Docker

Outcome

A change or a failure inside one client environment has no path into another. Onboarding a client is a provisioning step from a known-good definition rather than a rebuild, so the cost of the tenth looks like the cost of the second.

Next case study

Appointment automation