Workspaces enable organizations to manage multiple business contexts within one FlowX instance while maintaining logical data isolation.
Scope: This page covers Designer-side access to workspaces and projects. For runtime authorization â how end users access published solutions on 5.9.x â see Runtime authorization.
A workspace is a logical grouping of entities and assets defined in FlowX that are only available to a subset of users who are given explicit access. Each workspace operates independently, ensuring data and configuration separation between different business contexts.
Users can be granted access to multiple workspaces and can switch between them as needed. When a user has access to multiple workspaces, they can select which workspace to enter after authentication.
Workspaces provide logical data isolation, meaning that resources (projects, libraries, themes, etc.) are scoped to specific workspaces and cannot be accessed from other workspaces without explicit sharing configurations.
Group: A collection of users who share common characteristics, responsibilities, or access needs within a system. Groups are used to simplify access control by managing permissions collectively rather than assigning them individually to each user.
Permissions: Define what actions can be performed on resources. They are fine-grained access controls that specify privileges for a resource type, such as: read process, edit process, delete process.
Roles: Collections of permissions grouped together based on job functions or responsibilities. They simplify permission management by assigning a set of permissions to users instead of managing them individually.
Role assignment rule: Roles are never assigned directly to users or groups. A user or group is assigned a role ONLY when given access to a workspace OR a project/library. Exception: org_admin role is the only one assigned to users directly at the organization level.
When a user has multiple roles assigned in the context of a workspace or project, their access level is the union of all permissions from all roles associated with the user.
Isolation Level: HighDifferent use cases, projects, permissions, and users between business verticals (e.g., retail vs. corporate vs. investment banking).Shared Resources:
Shared users across business lines
Shared library builds
Shared themes (configurable)
Example: A multinational bank with separate workspaces for Retail Banking, Corporate Banking, and Investment Banking, each with its own processes but sharing common user authentication and compliance libraries.
Regional Separation
Isolation Level: MediumSame business line across different regions, subject to local regulations.Shared Resources:
Libraries and common processes
Some shared users with multi-region access
Example: An insurance company with workspaces for US, EU, and APAC operations, sharing global insurance processes but maintaining region-specific compliance and regulatory processes.
Distinct Organizations
Isolation Level: HighestComplete separation for different customers or organizations.Shared Resources: NoneExample: A consulting firm providing FlowX services to multiple clients, with completely isolated workspaces for each client organization.
User logs in using OAuth 2.0 through the configured identity provider (Keycloak or clientâs existing provider). Authenticated users are saved with subject ID in FlowX database.
2
Permission Retrieval
System fetches the userâs workspace permissions and available workspaces
3
Workspace Selection
If user has access to multiple workspaces, they select which workspace to enter
4
Context Loading
FlowX Designer loads with workspace-specific content, projects, and permissions
The workspace selection experience varies based on user access:
Single Workspace Access
Multiple Workspace Access
No Workspace Access
Direct Navigation: Users with access to only one workspace are automatically redirected to the projects page within their workspace.UI Behavior: The workspace dropdown selector is disabled since no selection is needed.Session Flow: Simplified experience with no additional selection steps required.
Homepage Display: Users see a âYour Workspacesâ homepage after authentication.Workspace Layout:
Workspaces displayed in alphabetical order
3 workspace tiles per row
Name truncation with ââŚâ for long names
Hover tooltips show full workspace names
Navigation to Organization Admin view: when a logged in user is an organization admin, Organization Settings button appears on Select Workspace page in top right corner.
Empty State Display: Users without access to any workspace see an informational message instead of the workspace list.Message Content: âYouâre not assigned to a workspace yetâ or similar notification
Next Steps: User must wait for an organization admin to grant workspace access before they can proceed
This scenario commonly occurs for new users from LDAP/Active Directory after their first login, before an admin assigns workspace access.
Session Persistence: Workspace selection is saved for the user session. On subsequent visits within the same session, users are automatically redirected to their previously selected workspace.
Trigger: User attempts to access a workspace they donât have permissions for, or workspace ID is incorrectSystem Response: User is redirected to workspace/403 error pageCommon Causes:
Workspace access was revoked
User navigated to an invalid workspace ID
Workspace was deleted or renamed
Resolution: Contact workspace admin or organization admin to restore access
No Access to Resource
Trigger: User attempts to access a specific resource (project, library, etc.) they donât have permissions forSystem Response: User is redirected to 403 error pageCommon Causes:
Insufficient project-level permissions
Resource is restricted to specific roles or groups
Project access was revoked
Resolution: Request access from the project owner or workspace admin
Workspace Scoping: Each project is tagged with its workspace ID and only accessible within that workspaceIndependent Lifecycle: Projects in different workspaces can have the same names and follow independent versioningCross-Workspace Import: The same project can now be imported into multiple workspaces on the same environment. Each imported project maintains its own independent lifecycle with separate active policies and access controls.Import Behavior: Projects created from version or build import are created with access only for the currently logged in user with âProject Ownerâ role. Workspace admins are also able to view projects. Access can be extended to required users subsequently.Runtime Permissions: Permissions for Runtime section are received by users with workspace role. Users inherit runtime permissions from workspace role for ALL projects/libraries they have access to.
Build Sharing: Library builds can be reused across workspaces on the same environmentControlled Access: Libraries from other workspaces can be added as dependencies if permissions allowVersion Management: Single version constraint applies across workspace boundaries for shared librariesWorkspace Access: All builds created in workspace for any library have âpublicâ access within workspace. When adding library dependencies, all libraries with builds are available as dependencies.Cross-Workspace Sharing: Library builds can be shared across workspaces using export/import mechanism
Important: Library builds from Workspace A can be imported into Workspace B on same environment. Libraries containing only builds are not viewable to workspace users outside the Dependencies page.
Library Creation: Libraries are created only with version import (not created when importing a build of a library).
Workspace Themes: Each workspace can have its own themes and brandingShared Themes: Themes can be shared between workspaces when configured appropriatelyBrand Consistency: Maintain consistent branding across business units or customize per workspaceDefault Theme: Default theme can be set in each workspace. When creating a project or library, the project/library version inherits the workspace default theme as the configured theme in Version settings.Export/Import: Themes can be shared across workspaces using export/import.
Media Files: Each workspace can create and manage workspace specific media files, not accessible to be used by other workspaces. However, when exporting themes, media files will also be exported and can be imported easily in other workspace together with the theme.Fonts: Fonts can be uploaded only in Organization Settings section, and all uploaded fonts will be shared by all workspaces.
Audit log entry in main menu for every workspace will be available only for users with Workspace Admin role. The reason for this is that global audit log includes all logs for all projects/libraries in workspace.
Project editor - Can modify project content, processes, and configurations. Includes all Project Viewer permissions.
Project viewer - Read-only access to project content and processes. Cannot make modifications.
Workspace user - View only access to workspace entities. Can create projects, but only sees projects they have explicit access to.
Owner - Automatically assigned to project creators. Full control over project settings, access management, and can delete the project.
Theme editor - Extends workspace user role to include permissions to manage themes and associated resources (global media files).
Workspace admin - Manages all workspace level resources including users, roles, themes. Can configure access and content, but cannot manage organization-wide settings.
Runtime editor - Enables users to test runtime functionality and manage runtime policies without full configurator permissions. Commonly used by QA teams and testers who need to manage âchange active policyâ operations and test processes during runtime without broader editing capabilities.
Workspace-Specific
Roles are specific to each workspace - a user can have different roles in different workspaces
Only pre-defined roles are available for workspace and project/library access.
To add a user to a workspace, and to assign a role to the user, you need to go to Organization settings page and select your desired workspace, then add the user to the workspace and assign the role to the user.
Workspace admin: Manages all workspace level resources including users, roles, themes. Can configure access and content, but cannot manage organization-wide settings.
Workspace admins will be able to view and edit ALL projects and libraries in workspace, regardless of project/library access settings.
Workspace user: View only access to workspace entities. Can create projects, but only sees projects they have explicit access to.
Theme editor: Extends workspace user role to include permissions to manage themes and associated resources (global media files).
Runtime editor: Enables users to test runtime functionality and manage runtime policies without full configurator permissions. Commonly used by QA teams and testers who need to manage âchange active policyâ operations and test processes during runtime without broader editing capabilities.
Grant fine-grained control over individual resources within a workspace, allowing exceptions to general role permissions.Example: A user with project_viewer role can be granted edit access to a specific project without becoming a full configurator.
Exception-Based Access
Provide specific users or groups access to individual resources without requiring full platform permissions.Use Case: External consultants can be given access to specific projects theyâre working on without broader workspace access.
Owner Management
Resource creators can manage access to their specific resources without requiring full admin intervention.Benefit: Project owners can add team members to their projects without needing admin approval for each addition.
The org_admin role is the only role assigned directly to users at the organization level, not workspace level.
Organization admins will be able to see all workspaces and have the same permissions as Workspace Admins inside each workspace. Multiple users can have this role assigned. Role can be assigned/revoked by other org admins.To promote an existing Designer user to organization admin:
Go to Organization Settings â Users.
Find the user in the list and open their context menu (the three-dot menu).
Select Set as ORG Admin.
Only an existing organization admin can promote another user. Use Set as ORG Admin directly â changing the role through the userâs Edit form is a different flow and is not how the organization admin role is assigned.
Users from an external identity provider appear in FlowX only after their first login to FlowX Designer. An organization admin can add someone ahead of that by inviting them or creating them directly â see User creation scenarios.
The Organization Users page lists only Designer users â users who have logged into FlowX Designer at least once, or who were manually created by an organization admin. It does not list end users, who access published solutions at runtime. Designer users and end users are managed separately:
Designer users â managed in Organization Settings â Users. Control access to the FlowX Designer, workspaces, projects, and libraries.
End users â managed in Organization Settings â Access Management (End-Users and End-Users Groups). Control access to published solutions at runtime (e.g., who can start or view a process). End-user roles are defined per project in Version Settings â End-User Roles.
End-user groups are managed inside FlowX (not in Keycloak), and a role grants access only on the solutions where itâs been explicitly shared from the Solutions page. See Runtime authorization.
The User Details page shows the Designer userâs Workspace access summary (which workspaces they belong to and what roles they hold).
Sync Behavior: Users from customerâs LDAP/Active Directory are not automatically created in FlowX.Onboarding Steps:
User logs into FlowX Designer for the first time
They are redirected to a âYouâre not assigned to a workspace yetâ message page
User account is now created in FlowX and appears in the Users list in Organization Settings
Organization admin assigns workspace access with appropriate role (Workspace User, Workspace Admin, Theme Editor, or Runtime Editor)
On next login, user will have access to assigned workspaces
Users synced from LDAP will only appear in FlowX after their first login attempt.
Prerequisites: Only available when using Keycloak as the authentication provider.Creation Process:
Organization admin clicks the + icon in Users section
Enter user details (name, email, password, runtime roles)
User is immediately created in both Keycloak and FlowX Designer
Organization admin can immediately assign workspace access
User can log in directly without the initial âno workspaceâ flow
This method is primarily for internal use and may not be available in all deployments. If direct user creation is needed, users should be created directly in Keycloak.
Use when: onboarding someone who has not signed in yet, and you donât want to set a password on their behalf.Invitation process:
Go to Access Management â Designer Users
Select Invite user
Enter the User Email and pick an Organization Role
Optionally toggle Set User First and Last Name and fill in both fields
The invited person sets their own password when they first sign in
To onboard several people at once, use Import from CSV instead of inviting them individually.
Inviting creates the user, not their workspace access. Assign workspaces and roles separately afterwards â until you do, the person can sign in but has nothing to work in.
Assigning roles while inviting
SaaS ¡
Available on SaaS with FlowX.AI . This feature is live on managed (SaaS) deployments now. Self-hosted deployments will receive it with the next LTS release family.
The invitation form also assigns access, so a person can be invited and given somewhere to build in a single step. Invite Designer User contains:
Field
Purpose
Email
The invited personâs address. Required.
Set User First and Last Name
Optional toggle that reveals First Name and Last Name.
Organization-Level Roles
Workspace Member (access to one or more workspaces only), Organization Admin (full administrative access to the organization and workspaces), or Organization Owner (manage users and solutions, and monitor usage). Required.
Workspace-Level Roles
Select a workspace and a role in it. Use Add Workspace to grant access to more than one. Required.
Runtime Attributes
Optional attributes applied to the user at runtime.
This is the shortest path when onboarding a whole client or partner team, because you can grant workspace access before anyone has signed in.
Runtime roles and end-user groups are managed in FlowX (not in Keycloak). End users and end-user groups live under Organization Settings â Access Management (End-Users and End-Users Groups); runtime roles are defined per project in Version Settings â End-User Roles. Together they control the permissions end users hold on published solutions.
Role assignment to a user or group is set per-solution from the Share modal on the Solutions page. See Runtime authorization.
Roles and groups are defined at organization level, so all workspaces share the same list.
Runtime Roles and Runtime Groups require Keycloak as the IAM backend. External identity providers (Azure AD, Okta, etc.) federate into Keycloak â they donât replace it. See Configuring an IAM solution for setup.
Workspaces are labeled with an Environment Type that indicates their purpose within your deployment. The label is visible in every workspace listing, so users can immediately tell whether they are working in development, testing, or live data â particularly important when the same project (by UUID) is imported into more than one workspace via cross-workspace project import.
The Environment Type is set at workspace creation and can be changed later by a Workspace or Organization Admin:
At creation: the Create Workspace dialog includes an Environment Type dropdown. Pick the type that matches the workspaceâs intended use.
After creation: go to Organization Settings â select your workspace â adjust the Environment Type dropdown.
The selected type is displayed as a Type column in the Designer workspace list, so administrators and users can identify the environment without opening workspace settings.
Because the same FlowX environment can host multiple workspaces, and the same project (same UUID) can be imported into more than one workspace, the Environment Type label is the primary cue for where a user is working. Without it, a designer opening a project cannot tell at a glance whether they are about to edit a Sandbox copy or the Production copy of the same project.Recommended patterns:
On a non-production FlowX environment, label every workspace Sandbox â the environment itself is not customer-facing, regardless of how the workspaces are organized internally.
On a production FlowX environment that hosts multiple workspaces (for example, UAT, Staging, and Production for the same project), use Staging for the validation workspace and Production for the live workspace. The Environment Type lets users distinguish them inside the same Designer.
Avoid mixing labels arbitrarily across an environment â the value of the cue depends on the label matching the workspaceâs role.
Pair Environment Type with a clear workspace naming convention (for example, retail-prod, retail-staging, retail-sandbox). The combination of name and type makes the destination of every action â sharing, importing, deploying â unambiguous.
To create the first user in FlowX Designer with organization admin role, an environment variable SPRING_LIQUIBASE_PARAMETERS_DEFAULTORGADMINUSERNAME needs to be configured with the username of the user from Identity Store (Keycloak/ other Identity Store from where the users are used to login in FlowX.AI).
If request to Keycloak fails, the fallback is to use SPRING_LIQUIBASE_PARAMETERS_DEFAULTORGADMINUSERSUBJECTID to create the organization admin user. Value that must be set is the subject identifier. (sub in JWT token OR userâs id in Keycloak).
This step is important for creating any environment, no matter if thereâs a pre-existing env or a newly created one.
IMPORTANT: Instruct the DevOps team to set this user id BEFORE system startup. Otherwise the authorization-service startup will fail. Ensure the correct value is set. The correct value is the subject id of the user, value that will be populated by the authorization service in the access token used for FlowX login.
For existing FlowX customers
Workspaces already exist in FlowX 5.1.x, so upgrading to 5.9.x does not create or restructure workspaces: your existing workspaces, projects, libraries, themes, and Designer users carry over unchanged.What does change in the upgrade is the runtime access model (end-user roles and groups move fully into FlowX, with per-solution role assignment). See the 5.1 to 5.9 migration guide for the complete upgrade impact.
You can import the same project into multiple workspaces on the same environment. This feature enables organizations to use workspaces to represent different operational environments (such as UAT, staging, pre-production) on a single FlowX deployment, reducing operational costs.
The imported build is automatically set as the active policy in the new workspace
User Access
Workspace users must be granted appropriate rights on the imported project (e.g., project viewer) to interact with it
Database
Projects across workspaces on the same environment share the same database
Configuration
All project configuration lives within each specific workspace independently
Use case: Organizations like banks and insurance companies can use this feature to represent different upper environments (UAT, Staging, Production) as separate workspaces on the same FlowX deployment, significantly reducing infrastructure and DevOps costs.
Workspace import/export is out of scope; each FlowX environment has its own default workspace and workspaces are managed independently on each instance.
Library builds from other workspaces are only visible on the Dependencies page after import, not as full library entries in the workspace.