- Navigation: Settings -> Team
- Required role: Owner or Admin
Workspace structure
The Agent Platform organizes resources across three levels. You don’t need all three. Start with a workspace, add projects as your work grows, and set up an organization only when you need to manage several workspaces together.
What the workspace controls:
- Who has access and what they can do, through team membership and roles.
- Which AI models and providers your team can reach, through LLM policies, token budgets, and rate limits.
- Which features your plan tier unlocks.
- Projects draw their members from workspace members and give them project-specific roles.
- You can scope environment variables and secrets per project and per environment, covering development, staging, and production.
Roles and permissions
The platform uses hierarchical role-based access control. Each role inherits every permission the roles below it hold, so you grant the level someone needs rather than assembling one from parts.Workspace roles
Workspace roles apply everywhere in the workspace. Assign the narrowest role that still lets someone do their job.Project roles
Project roles apply inside one project. A member can hold different project roles in different projects.
How workspace and project roles interact:
- Workspace Owners and Admins hold workspace-wide authority and can administer every project without joining it.
- Other workspace members need explicit project membership before they reach a project.
- Whoever creates a project becomes its Admin and can add other workspace members from Settings -> Members.
Managing members
Only workspace Owners and Admins manage team membership. Everything in this section needs one of those two roles.View current members
Go to Settings -> Team -> Members. The list shows each member’s name and email, workspace role, status, and join date. Status covers active, suspended, locked, and deactivated.Invite a member
Invitations carry the role you choose, so decide the role before you send one rather than correcting it afterward.- Select Invite member.
- Enter the invitee’s email address.
- Select a role: Admin, Operator, Member, or Viewer.
- Select Send invite.
If a member reports that the invitation never arrived, find it in the pending list and resend. You don’t need to revoke it first.
Change a member’s role
A role change takes effect immediately. The member’s permissions update on their next page load or API call.- Find the member in the Members list.
- Select the role dropdown next to their name.
- Select the new role and confirm.
- You can’t assign a role above your own. An Admin can’t promote anyone to Owner.
- Only the workspace Owner promotes a member to Admin.
- Only the workspace Owner transfers ownership.
- You can’t demote yourself. Ask another Owner or Admin to change your role.
Remove a member
Removing a member cuts their access at once, so confirm the person no longer needs the workspace before you start.- Find the member in the Members list.
- Select the three-dot menu next to their row.
- Select Remove member and confirm.
- They lose access to every workspace resource immediately.
- The platform drops their project memberships inside this workspace.
- Resources they created, such as agents and knowledge bases, stay in the workspace.
- Sessions they started keep running, but they can’t start new ones.
Removing a member doesn’t delete their Agent Platform account. They keep access to any other workspace they belong to.
Transfer workspace ownership
Only the current workspace Owner transfers ownership, and the transfer changes both people’s roles at once.- Go to Settings -> Team -> Members.
- Select the three-dot menu next to the target member.
- Select Transfer ownership, then confirm by typing the workspace name.
Role management
Role Management decides what people can see and do across your workspace and projects. Roles come in two types.- Custom roles, which you define yourself.
- System roles, which the platform provides and which cover the most common access levels.
Custom roles
Custom roles let you build access levels that match your team, such as a role that only reads configuration or one that releases to a limited set of environments. The Custom roles tab lists every custom role in your workspace, showing its name and description, how many permissions it carries, when someone created it, and quick actions to edit or delete it.Creating a custom role
Select + Create Role to open the creation panel, then complete these fields.- Role name, a short identifiable name.
- Description, optional context for what the role does. It earns its place once you hold several similar roles.
- Parent role, optional. Base the role on an existing custom role to inherit its permissions, or choose No parent role to start from nothing. The panel shows the resulting parent chain, so you can see what you’re inheriting before you save.
Assigning permissions
The panel groups permissions by category. Select the actions this role may perform. A running count at the bottom tracks how many you’ve selected. The picker gives identifiers without describing them. See the Permissions reference for what each permission grants, which ones reverse a protection, and which ones to keep apart from one another.The picker shows permissions outside your own role’s grant scope but won’t let you select them. You can’t grant access you don’t already hold.
Scoping release environments
Release scoping decides where a role may push configurations, which matters most for production. When the role includes the Workbench release permission, you can also restrict where it releases configurations, across Development, Staging, and Production. The scoping covers release actions only. It grants no production access on its own, and you must still select the underlying release permission separately. Select Create to save the role, or Cancel to discard it.System roles
The System roles tab lists the built-in roles, grouped by where they apply. You can’t edit or delete them, but you can expand any role to see the grants it carries. Select View grants next to a role to read its full permission list.When to use custom or system roles
Choose a system role whenever a built-in option already matches what someone needs. System roles need no setup and stay current on their own. Build a custom role when you need finer control, such as read-only access to a subset of permissions, a role scoped to specific release environments, or a role that extends another custom role through a parent chain.Security and compliance
Go to Team -> Security & Compliance to manage authentication and access controls. The page carries two tabs: SSO and Audit Logs. Required role: Owner or Admin.Single sign-on
SSO lets your users authenticate through an external identity provider. Plan requirement: Enterprise plan only.Only organization owners or admins can manage SSO for a workspace. Other roles see the SSO tab as read-only.
Choose a protocol
Under SSO Protocol, select the protocol your identity provider uses:
Then select an Identity provider from the dropdown. Choosing Custom SAML 2.0 lets you enter the IdP SSO URL, entity ID, and certificate details manually.
SAML Configuration
Up to 2 signing certificates are accepted.
Select Save Configuration to store the values. Once saved, use Test configuration to verify the connection, Activate SSO to turn it on, or Pause SSO to turn it off without deleting the configuration.
Set up OIDC SSO
Go to Team -> Security & Compliance -> SSO, select OpenID Connect, enter the configuration details, and select Save Configuration.
Domain verification
Use the Domain Verification section in the SSO tab to claim and verify your organization’s email domain before you enforce SSO.
SSO Access Policy
Control workspace access behavior after successful SSO authentication. These settings save separately from your provider credentials.
Once you enable Force SSO:
- Verified domain users lose password-based login.
- Users outside the verified domain carry on as before.
- Workspace Owners keep password-based login as a fallback.
Audit logs
Audit logs give you a tenant-scoped, filterable record of every significant workspace action. Use them to investigate incidents, confirm compliance, and review team activity.- Navigation: Settings -> Team -> Audit Logs
- Required role: Owner or Admin
- Export: Professional and Enterprise plans
Summary metrics
These five figures sit above the log and describe the view your filters produce.Event categories
Categories group actions by the part of the platform they touch, which is how you narrow a broad search quickly.Log table columns
Each row records one action, and these columns tell you who did what, where, and when.Retention
Retention decides how far back an investigation can reach, so check it before you rely on the log for compliance evidence.- Audit logs follow the workspace retention policy.
- Professional and Enterprise plans keep at least 90 days.
- Contact support to extend retention.
Key management
The Key Management Service lets you control the encryption keys that protect sensitive workspace data. Rather than relying on platform-managed keys, you can supply your own key material from a supported cloud provider.- Navigation: Settings -> Team -> Key Management
- Required role: Owner
- Plan requirement: Enterprise plan only
Configuration
Select a Provider to configure the tenant-level KMS. The provider you choose decides which fields the page shows. Supported KMS providersPlatform Managed
Use the platform-managed KMS provider. This mode stores no tenant-specific external key connection.Kore governs Platform Managed encryption. You can select it, but its policy, compliance, rotation, and re-encryption settings stay read-only. To bring your own key, choose a different provider.
AWS KMS
AWS KMS signs and wraps with a customer managed key you already hold in AWS.Azure Key Vault
Azure Key Vault holds the key, and the auth method you choose decides whether the platform reaches it through your own service principal or its own managed application.
Service Account / Service Principal
Use the Azure app registration or service principal that can read, wrap, and unwrap this key.
For cross-tenant access, register this application in the customer Azure tenant through admin consent, then assign the Key Vault Crypto User role on the target key vault.
Platform workload identity
Enter the customer Entra directory ID. The platform uses its own managed Azure application, so you supply no client ID, secret, or federated credential.
Your Azure administrator must grant the platform’s managed Azure application access to the target key vault.
Select Test Connection to verify the provider connection before you save the configuration.
Azure Managed HSM
Azure Managed HSM stores the key in dedicated hardware, which suits compliance regimes that won’t accept a software-backed vault.
Service Account / Service Principal
Use the Azure app registration or service principal that can read, wrap, and unwrap this key.
For cross-tenant access, register this application in the customer Azure tenant through admin consent, then assign the Key Vault Crypto User role on the target key vault.
Platform workload identity
Enter the customer Entra directory ID. The platform uses its own managed Azure application, so you supply no client ID, secret, or federated credential.
Google Cloud KMS
Google Cloud KMS holds the key, and the platform addresses it through its full resource path rather than a name.External KMS
Connect any REST-compatible KMS, whether you host it yourself or consume it as a service.
External endpoint validation
Before you save the tenant KMS configuration, enter the endpoint, key ID, and auth method, then select Validate Endpoint to confirm that the platform reaches and authenticates with the external provider.
Policies
These two settings decide how the platform behaves when the KMS becomes unreachable and which compliance profile it applies.Rotation and re-encryption settings
Keys rotate automatically when your provider supports scheduled rotation, or manually when you create a new key version on demand from the Encryption Keys tab. Tune how often the platform generates DEKs, how long a KEK may live, and whether retired DEKs are ever destroyed.
Re-encryption also carries Concurrency, which sets parallel jobs, Batch Size, which sets records per batch, and Max Retries, which sets how many times a failed job retries. Select Save Configuration to apply your changes.
Scopes
Scopes let you run different KMS providers for tenant environments, projects, and project environments, so one project can hold its own key without changing the rest.Environment variables
Environment variables are key-value pairs that inject configuration into your agents and tools, so you don’t hardcode values in ABL definitions. Use them for endpoints, feature flags, timeouts, and anything else that differs between environments. The platform resolves them at runtime and scopes them by environment and project. A variable takes its identity from its key within a project. It can carry a Global value that every environment shares, plus optional values for Development, Staging, and Production. When a key holds both a global value and an environment-specific one, the environment-specific value wins. Environment variables behave as follows:- Environment-specific. One key carries different values in development, staging, and production.
- Encrypted at rest. The platform encrypts stored values using AES-256-GCM.
- Resolved at runtime. The agent resolves values when it runs.
- Immediately effective. Changes reach new agent sessions without a redeploy.
- Environment variables belong to a project.
- Manage variables centrally from Workspace Settings -> Env Variables, or from the project’s Deployments -> Environments page.
Add environment variables
Adding a variable takes five steps, and the namespace you choose at step 4 is the one decision you can’t change afterward without recreating the variable.- Go to Workspace Settings -> Env Variables.
- Select the project.
- Select the target environment, or create a global variable that covers every environment.
- Select Add Variable. The platform adds the variable to the Default namespace. To use a different namespace, select it from the Namespace dropdown before you create the variable.
- Enter the following details, then select Save.
Reference environment variables
Reference a variable using{{env.KEY}} syntax. The agent resolves it at runtime based on the active deployment environment.
You can reference environment variables in these constructs:
- HTTP tool endpoint, headers, auth, and request body
- MCP tool call arguments
- RESPOND text and rich content, covering quick replies, cards, forms, and KPI or chart widgets
- ESCALATE and handoff messages, GATHER re-prompts, and guardrail block or redirect messages
- Agent persona, goal, and limitations, meaning the system prompt
Edit a variable
Select the Edit icon next to a variable to change its value, description, or secret setting. Your change reaches new agent sessions immediately.Sessions already running keep the values they resolved when they started, and only new sessions pick up your change. HTTP tools and MCP tools are the exception and use the updated values as soon as you save.
Delete a variable
Select the Delete icon and confirm.Before you delete a variable, confirm that nothing references it. Anything that references a deleted variable hits a runtime resolution error.
Import or export environment variables
A bulk import creates or updates many variables at once, which saves you entering them one by one when you set up a new environment.- Select Import.
- Select the target environment.
-
Paste the keys in JSON format, as shown below.
- Review the import preview.
- Select Import.
.json or .env file.
Variable namespaces
Namespaces organize environment variables into groups, which keeps a large set navigable. Every project holds a default namespace, and you can create up to 25 namespaces per project.Create a namespace
- Go to Settings -> Environment Variables.
- Select Namespaces.
- Select New Namespace.
- Enter a namespace name, display name, description, and color.
- Select Create.