How roles work
Roles group permissions into reusable access profiles. Assign roles to users to control what they can see and change in Maadify. Each permission uses this format:connectors.read lets a user view configured connectors, while connectors.update lets a user update connector settings.
System roles
System roles provide common access profiles that you can assign without building a custom role. You can copy a system role when you need a custom version.owner
owner
Full access to all resources.
admin
admin
Manage roles and assign them to internal users in your tenant. This role is for non-owned tenant users.
chat_only
chat_only
Access only the chat interface. This role does not provide admin portal access.
viewer
viewer
View access to all resources.
user_manager
user_manager
Manage internal users. This includes adding users, updating users, removing users, and assigning roles.
tenant_manager
tenant_manager
Manage tenants and their users. This includes creating, updating, and deleting tenants.
agent_manager
agent_manager
Manage agent creation. This includes creating and updating parent agents, sub-agents, prompt templates, assigning existing tools to agents, and assigning parent agents to tenants.
connector_manager
connector_manager
Manage connectors and tool configuration. Use this role to set up systems and make tools available for agents.
monitor_agents
monitor_agents
Manage agent activity and receive notifications.
notifications
notifications
Receive notifications from all users in your tenant and owned tenants.
index_store_manager
index_store_manager
Manage Index Data Store configurations and setup.
System roles are global roles. They are not tenant-owned custom roles and cannot be shared to managed tenants.

Create a role
1
Open role management
Go to Users and select Manage Roles.
2
Create the role
Select Create Role, then enter a role name and description.
3
Choose whether to share the role
Turn on Shared Role if users in owned tenants should be able to use this role.
4
Add permissions
Search permissions by resource, action, or description. Add each permission the role needs.
5
Save the role
Select Create Role.
The role appears in the role list and can be assigned to users.

Copy a role
You can copy an existing role when you want to start from a system role or a similar custom role.1
Open a role
Select the role from Manage Roles.
2
Enable copy mode
Turn on Copy Role.
3
Name the copied role
Enter a new role name and description.
4
Choose sharing
Turn on Copy Role Shared if the copied role should be available to owned tenants.
5
Create the copy
Select Copy Role.
System roles cannot be edited directly. Copy a system role when you need a custom version.
Share roles with managed tenants
Enable Shared Role when an owning tenant should make a custom role available to its owned tenants. Shared roles are used when assigning roles to managed company users:- Users in your own tenant can be assigned roles from your tenant.
- Users in owned or managed tenants can be assigned non-system roles that your tenant has shared.
- Shared roles help standardize access for managed companies.
Required permissions
You need role permissions to manage roles:roles.read: View roles and open Manage Roles.roles.create: Create roles and copy existing roles.roles.update: Update custom roles.roles.delete: Delete custom roles.
users.update: Assign roles to users in your own tenant.tenant_users.update: Assign roles to users in owned or managed tenants.
Permission catalog
Use these permissions to build roles.Admin portal
Admin portal
admin_portal.access: Access the admin portal. Without this permission, the user only has access to the chat interface.
Users and tenant users
Users and tenant users
users.read: View users in your own tenant.users.create: Create users in your own tenant.users.update: Update users and assign roles in your own tenant.users.delete: Delete users in your own tenant.tenant_users.read: View users in owned or managed tenants.tenant_users.create: Create users in owned or managed tenants.tenant_users.update: Update users and assign shared roles in owned or managed tenants.tenant_users.delete: Delete users in owned or managed tenants.
Roles
Roles
roles.read: View roles.roles.create: Create custom roles.roles.update: Update roles.roles.delete: Delete roles.
Companies and tenant relationships
Companies and tenant relationships
tenants.read: View the companies page. Connected tenants can still be visible for agent use.tenants.create: Create new owned tenants. Users in owned tenants cannot create tenants.tenants.update: Update existing tenants and create relationships. Users can create relationships from owned tenants, such as adding a supplier relationship for an existing channel.tenants.delete: Deactivate owned tenants.tenant_agent_relationships.read: View agent and tool configurations for tenant relationships.tenant_agent_relationships.create: Add agents to owned tenant relationships.tenant_agent_relationships.update: Update agent relationship configurations, including tool configurations.tenant_agent_relationships.delete: Remove parent agents from tenants.
Connectors and tools
Connectors and tools
connectors.read: View configured connectors.connectors.create: Add new connectors.connectors.update: Update connector settings.connectors.delete: Delete connector settings.tools.read: View tool configurations on the connectors page.tools.create: Create tools and configure default configurations for agents.tools.update: Update tools, update default configurations, and add or remove orphaned tools from connections.tools.delete: Delete tools on connector configurations.tools.share: Share and unshare tools to connected tenants.tools.execute: Execute tools through the API.
Parent agents and triggers
Parent agents and triggers
parent_agents.read: View parent agent configurations and show the parent agents section in the portal.parent_agents.create: Create parent agents. Addparent_agents.updateto configure parent agents with sub-agents.parent_agents.update: Update parent agents, including adding or removing existing sub-agents.parent_agents.delete: Delete parent agents.trigger_tools.read: View trigger tool configurations.trigger_tools.create: Create triggers on parent agents.trigger_tools.update: Update existing triggers on parent agents.trigger_tools.delete: Remove triggers from parent agents.
Sub-agents
Sub-agents
sub_agents.read: View the sub-agents page.sub_agents.create: Create sub-agents. This does not provide access to add sub-agents to parent agents.sub_agents.update: Update existing sub-agents, including system prompts, model changes, and adding or removing existing tools. Changes can affect parent agents.sub_agents.delete: Delete sub-agents. Deleting a sub-agent can affect parent agents.
Prompt templates
Prompt templates
prompt_templates.read: Access the prompt templates page.prompt_templates.create: Create prompt templates.prompt_templates.update: Update prompt templates. Changes can affect sub-agent configurations that use the template.prompt_templates.delete: Delete prompt templates. Deletions can affect sub-agent configurations that use the template.
Browser agent
Browser agent
browser_agent.access: Create and edit browser agent tools. Users also need the required tool permissions for the tools they configure.
Agent activity
Agent activity
agent_activity.access: View the tenant and shared tenant agent activity page.agent_activity.read: View activity across all users in the tenant, including trigger executions.
Index data store
Index data store
index_data_store.access: Access the Index Data Store page.index_data_store.read: Read and search data in tenant-owned data stores.index_data_store.create: Create rows of data and execute index data automations.index_data_store.delete: Delete rows in tenant-owned data stores.index_data_store_config.read: View Index Data Store configurations.index_data_store_config.create: Configure new data stores.index_data_store_config.update: Update data store configurations.index_data_store_config.delete: Remove configured data stores.
Notifications
Notifications
notifications.receive_owned_tenant: Receive notifications associated with owned tenants, including configured errors, warnings, and notices.notifications.receive_errors: Receive tenant-level errors.notifications.receive_warnings: Receive tenant-level warnings.notifications.receive_notice: Receive tenant-level notices.
Chat and search
Chat and search
universal_search.access: Use the universal search agent to search data in index data stores.
Suggested role patterns
Use these patterns as starting points:- Portal viewer:
admin_portal.accessplus read permissions for the pages the user needs. - User administrator:
admin_portal.access,users.*, androles.read. - Managed company administrator:
admin_portal.access,tenant_users.*, androles.read. - Role administrator:
admin_portal.access,roles.*,users.update, andtenant_users.updatewhen they should assign roles. - Agent builder: parent agent, sub-agent, prompt template, trigger, connector read, and tool read or update permissions.
- Data operator: index data store access, read, create, and the required universal search permission.
