Build a Multi-Client App
A multi-client project contains multiple independent Web clients that share one backend. Each client can serve a different audience or workflow while using the same project data.
For example, an e-commerce project can provide a storefront for customers and an operations console for staff. The clients have different pages and entry points but share products, orders, and users.
Multi-client model
| Configuration | Shared | Description |
|---|---|---|
| Database and data model | Yes | All clients use the same project backend |
| Permissions and user roles | Yes | Configure them in the backend; each client enforces them for the current user |
| Actionflows, external APIs, and AI Agents | Yes | All clients can call the deployed backend capabilities |
| Pages, components, and frontend actions | No | Design and maintain them separately for each client |
| Published version | No | Publish each client independently |
When to use multiple clients
Use multiple clients when applications share business data but require substantially different frontend experiences, such as:
- A customer-facing app and an operations console
- An external service and an internal employee tool
- Separate Web entry points for different brands or business units
- Role-specific workspaces with different navigation and workflows
If roles only need small variations on the same pages, permissions and conditional visibility may be sufficient without another client.
Add a client
- On the project management page, check whether the current plan supports additional clients. See Upgrade a Project for plan and purchase information.
- Purchase or add another Web client.
- After the client is added, the project shows a backend editor, the default client, and the additional client.
- Open the new client and create its pages, components, and frontend interactions.
Build a multi-client project
Build the frontend
Use a client editor for configuration that belongs only to that client:
- Pages and page parameters
- Components and layouts
- Data bindings
- Frontend actions
Before making frontend changes, check the editor name to ensure that you are working in the intended client.
Build the backend
Use the backend editor for configuration shared by all clients:
- Data models and database operations
- Users and permissions
- Actionflows
- External APIs
- AI Agents
Publish a multi-client project
Multi-client projects publish the frontend and backend separately:
- In the backend editor, click Publish to deploy the database schema, permissions, Actionflows, external APIs, AI Agents, and other backend changes.
- Open an affected client and use Mirror to verify its pages and interactions.
- In that client editor, click Publish to create a pre-release build and release the client to production.
- Repeat the verification and publishing steps for every affected client.
All clients share the backend. When changing an Actionflow input, output, or data structure, review every client that depends on it and avoid publishing an incompatible backend for an existing client. See Publish an App for the complete publishing workflow.
Manage clients
Renew clients
Project renewal includes the clients that remain active. Before confirming an order, review the client list and price, and follow the interface instructions for clients you no longer need.
Downgrade and reactivate
If the project is downgraded to a plan that does not support multiple clients, additional clients can no longer be edited or published. The default client remains available. After upgrading again, use the project interface to select any historical clients that can be reactivated.
Delete a client
Before deleting a client, confirm that its pages, components, frontend configuration, and live entry points are no longer required. Deleting a client does not automatically delete shared backend data.