New: How we build — modern AI tooling, strict guardrails, every line reviewed by a person. Read our engineering practices →New: How we build. AI tooling, strict guardrails, human review. Read more →

Revolutionizing SaaS scalability: automating multi-client onboarding with a single codebase

How we turned a manual, error-prone client onboarding process that took hours to days into a one-click, fully automated workflow that provisions a new tenant in minutes, cutting deployment time by 80%.

At a glance

Every new client meant hours of manual AWS setup, and a real chance of getting it wrong. We rebuilt onboarding into a single-click, fully automated workflow, so a new tenant goes live in minutes, with 80% less deployment time.

Introduction

Every time this SaaS platform signed a new client, an engineer sat down and set the whole environment up by hand: a custom domain, an Amazon Cognito user pool, email templates, secure storage. It worked, but it was slow, repetitive, and one mistyped value away from a broken setup.

As a SaaS platform grows, how fast and how consistently you can onboard new clients becomes a defining factor in whether you can scale at all. These repetitive setup tasks don't just burn engineering time; they invite misconfiguration, delays, and an inconsistent experience from one client to the next.

So we built a fully automated onboarding framework for multi-tenant SaaS. A new client environment is now provisioned in minutes, from a single click, with security, consistency, and scalability built in. It removes the dependency on manual work and creates a foundation that can absorb exponential client growth without a matching growth in effort.

Challenges in traditional SaaS client onboarding

A close look at the existing onboarding workflow revealed several bottlenecks that were holding back both scale and reliability.

  • Time-consuming, repetitive setup every client needed manual configuration of domain mapping (Route 53 / Amplify), Amazon Cognito user pools and app clients, email templates, and client-specific S3 storage. Onboarding routinely stretched from hours to days.
  • Configuration errors and inconsistency manual steps meant frequent human error, mismatched Cognito pool ARNs, misconfigured DNS, producing unpredictable behaviour and higher maintenance cost.
  • Limited scalability every new client meant more DevOps effort, one for one. Without automation, the process simply couldn't keep up with demand surges.
  • Resource management challenges provisioning and tracking each client's storage, authentication, and configuration became operationally messy, with a real risk of resource leakage, duplicate allocations, and poor visibility.
  • Delayed time-to-value slow onboarding directly delayed revenue and client adoption. The business needed a faster, more reliable way to bring clients online.

The Ellocent Labs solution: an automated onboarding framework

We designed and built a serverless, event-driven automation framework on AWS, defined entirely in infrastructure as code. It provisions everything a new tenant needs, domains, authentication, storage, configuration, from a single reusable codebase and a one-click workflow.

  • Single codebase, multi-tenant architecture serve many clients efficiently, with no duplicated code or per-client deployments.
  • Infrastructure as code AWS CloudFormation and Terraform templates make every setup reproducible and version-controlled.
  • Event-driven automation onboarding is triggered programmatically the moment a new client registers.
  • Security by design strong tenant isolation and data protection built in from the start.
  • Observability and auditing every provisioning event is tracked and traceable for compliance.

How we built it — the detailed solution

4.1 Centralized automation orchestrator

A central onboarding service runs the whole sequence. The moment a new business subscribes, it triggers, in order:

  • Domain provisioning creates and validates custom subdomains via AWS Route 53 and Amplify or CloudFront.
  • User authentication setup deploys a pre-defined Amazon Cognito user pool and app client for the new tenant.
  • Email template configuration automatically sets up Amazon SES templates for verification, password reset, and transactional messages.
  • Storage allocation provisions an S3 bucket or partition for the tenant, with IAM policies enforcing strict data isolation.

Each step is fully automated with CloudFormation templates, executed via the AWS SDK or a Step Functions workflow.

Key insight

One subscription event kicks off the entire environment, with no engineer in the loop.

1New client subscribes
trigger
2Orchestrator
provision
3Route 53 / Amplify
write IDs
4Amazon Cognito
5Amazon SES
6S3 storage
7Database
  • Orchestrator one subscription event runs the whole sequence.
  • Route 53 / Amplify custom subdomain provisioning.
  • Amazon Cognito tenant user pool and app client.
  • Amazon SES verification and transactional email templates.
  • S3 storage isolated per-tenant bucket with IAM policies.
  • Database all resource identifiers written for later use.

One trigger, full environment. No engineer in the loop.

4.2 Reusable CloudFormation templates

We built reusable CloudFormation stacks for Cognito user pool creation, Route 53 record management, SES email template creation, and S3 provisioning. Each stack takes dynamic parameters (tenant name, domain, region) and deploys the full resource hierarchy identically every time. Every resource identifier, Cognito pool IDs, domain URLs, SES ARNs, is written straight into the database for later reference and API use.

Key insight

The same templates produce an identical, correct setup for every client, every time.

4.3 Multi-tenant database management

The platform uses a shared database with strong logical isolation:

  • Tenant IDs act as partition keys.
  • Row-level access control keeps each tenant's data separate.
  • Encrypted columns sensitive data (credentials, Cognito pool details) is stored encrypted.

Key insight

The efficiency of a shared database with the safety of per-tenant isolation.

4.4 Event-driven workflow orchestration

Using AWS Step Functions and Lambda, each onboarding step runs as an independent, fault-tolerant task. Step Functions define the flow (domain → Cognito → SES → S3); Lambda executes each step; and any failure triggers an automatic rollback or retry, with alerts through Amazon SNS.

Key insight

Elastic, observable, and self-correcting, with zero manual intervention.

1Domain
then
2Cognito
then
3SES
then
4S3
on failure
5Rollback / retry
6SNS alert
  • Step Functions define the flow domain → Cognito → SES → S3.
  • Lambda executes each independent, fault-tolerant step.
  • Rollback / retry any failure triggers automatic recovery.
  • SNS alert the team is notified the moment something fails.

Elastic, observable, and self-correcting, with zero manual intervention.

4.5 Security and compliance

Security is embedded at every level:

  • VPC isolation all resources sit in private subnets, with no direct internet access.
  • IAM role segmentation each automation module runs with least privilege.
  • KMS encryption all sensitive data is encrypted at rest and in transit with AWS KMS and TLS 1.2+.
  • Audit trails CloudTrail logs every action, supporting SOC 2 and ISO 27001 compliance.
1Route 53
governed by
2Cognito
3S3
4IAM
5KMS / TLS 1.2+
6CloudTrail
  • Amazon VPC all resources in private subnets, no direct internet access.
  • IAM least-privilege role per automation module.
  • KMS / TLS 1.2+ encryption at rest and in transit.
  • CloudTrail audit logging for SOC 2 and ISO 27001.

Everything inside a protected VPC boundary, with audit logging capturing every action.

4.6 Monitoring and observability

  • CloudWatch metrics and dashboards track onboarding duration, success rate, and latency.
  • Centralized logging via the ELK stack aggregates Lambda and Step Functions logs for troubleshooting.
  • SNS alerting notifies the DevOps team the moment something fails or crosses a threshold.

4.7 One-click onboarding dashboard

A secure web dashboard (React + API Gateway + Lambda) lets administrators trigger onboarding for a new client with one click, watch provisioning happen live (e.g. "Creating Cognito pool", "Configuring SES template"), and review or retry any failed task.

Key insight

Even a non-technical user can onboard a client, safely, in one click.

Results and business impact

The framework changed onboarding from a manual bottleneck into a competitive advantage.

80%
Reduction in deployment time
Hours/days → minutes
Time to onboard a new client
1
Reusable codebase serving every tenant
Zero
Manual steps in the onboarding workflow
  • Faster go-live new clients are using the platform within minutes.
  • Consistency every client gets the same uniform, compliant setup.
  • Reliability automated rollbacks keep every deployment safe.
  • Developer efficiency the team builds product instead of running manual setup.

Strategic outlook

This framework is the foundation for the next stage of SaaS scale. Planned enhancements include a self-service onboarding portal so clients can start the process themselves, multi-region deployment for lower global latency, AI-driven resource optimisation that predicts and auto-scales based on usage, and a full Terraform migration for hybrid IaC and greater portability.

Conclusion

Automating multi-client onboarding changes how a SaaS company scales. With a single codebase, infrastructure as code, and event-driven automation, we turned a labour-intensive, error-prone process into a workflow that's fast, consistent, and secure, a cloud-native onboarding engine that speeds up growth while strengthening stability and customer trust. Scale shouldn't come at the cost of complexity, and automation is what makes that possible.

Tech stack

Technologies we built with

The stack behind this integration, grouped by function.

Backend
PythonFastAPI
Databases
PostgreSQL
Cloud & infrastructure
AWSMulti-tenant architecture

More solutions

View all solutions

Got a similar problem worth solving?

Tell us what you're building, and we'll tell you honestly how we'd approach it.

Book a discovery call