Quick Reference
| Scope | Role | Maps To | Level of Control |
|---|---|---|---|
| Organization | Owner | COO / VP Ops / Director CX | Full control including billing, account termination |
| Admin | Head of CS / CX | Full control excluding billing, account termination | |
| Billing | Finance Team | Access to billing, financial reporting | |
| Member | Everyone | Minimal user access, default | |
| Viewer | CEO, Executive, Auditor | Read-only full access | |
| Project | Owner | Project Lead / CX Lead | Full project control |
| Contributor | Support Manager / Engagement Manager | Operate, edit, redeploy, view metrics | |
| Member | Support Agent / Analyst | Operate, label, triage | |
| Viewer | Client / QA / Stakeholder | Read-only full access |
Understanding Roles
botBrains uses a two-tier role system to give you precise control over who can access, view, and modify your AI agent projects.Two-Tier System
Every team member has both an organization role and a project role for each project they access: Organization Roles - Baseline access across your entire account:- Apply to all projects by default
- Control administrative capabilities like billing and team management
- Cannot be customized - use built-in roles only
- Best practice: Assign most team members Organization Member
- Only apply within a single project
- Can be customized with granular permissions
- Enable per-project access control
Organization Roles
| Role | Typical Title(s) | What They Can Do | What They Cannot Do |
|---|---|---|---|
Organization Owner (o_owner) | COO, VP Operations, Director of CX | Full access to all projects, billing, team management, create/delete projects | Transfer ownership (contact support), be removed from organization |
Organization Admin (o_admin) | Head of CS/CX, Technical Lead | Full access to all projects, create projects, manage integrations, view team | Modify billing, remove team members, change org settings |
Billing (o_billing) | Finance Team, Controller | View billing, usage tracking, invoices, read-only project info | Modify projects, access conversations, manage team |
Organization Member (o_member) | Most team members (90%+) | Access assigned projects, view profile | See unassigned projects, create projects, billing access |
Organization Viewer (o_viewer) | CEO, Executive, Auditor | Read-only visibility across organization | Change any settings or data |
Project Roles
| Role | Typical Title(s) | What They Can Do | What They Cannot Do |
|---|---|---|---|
Project Owner (p_owner) | Engagement Manager, CX Program Manager | Complete project control, manage team, create custom roles, delete project | - |
Project Contributor (p_contributor) | Support Manager, Senior CSM | Edit knowledge, debug, run evaluations, redeploy, configure integrations | Delete project, create custom roles |
Project Member (p_member) | Support Agent, Operations Analyst | View conversations, label, triage, update knowledge sources | Modify deployments, delete knowledge, manage team |
Project Viewer (p_viewer) | Executive, Account Executive, Client | Read-only access to performance, transcripts, reports | Modify any project settings or data |
Custom Roles
Create custom roles with precise permission combinations tailored to your team’s workflow. Why create custom roles:- QA teams who can label conversations but not edit knowledge
- Contractor access with limited permissions
- Compliance requirements separating conversation access from configuration
- Development workflows with different permissions per environment
- Go to Project → Settings → Team → Roles tab
- Click Add Role
- Enter name and description
- Select specific permissions grouped by functional area
- Save and assign to team members
- Permissions: conversation:read, conversation:write, label:*, metric:read, topic:read
- Permissions: knowledge:, conversation:read, table:, file:read
- Permissions: metric:read, topic:read, conversation:read, export:read, label:read
Which Role Should I Choose?
Organizations have one or more projects. Permissions are defined at organization level and project level. Organizational roles and permissions are automatically inherited in projects. For explicit project-level control, assign Organization Member and then grant specific project roles.
Organization-Level Roles
| Role | Typical Title(s) in a Service Organization | Functional Analogy |
|---|---|---|
Organization Owner (o_owner) | COO, VP Operations, Director of Customer Experience (CX) | Senior operations leader overseeing all company-wide systems, billing, compliance, and account-level management. Owns contracts, organization settings, and access governance. |
Organization Admin (o_admin) | Head of Customer Success (CS), Head of Customer Experience (CX) | Manages customer delivery teams and organization resources. Full operational control except for billing and account termination. |
Billing (o_billing) | Finance Team, Controller, Procurement Lead | Handles invoices, usage tracking, renewals, and cost approvals. Limited to financial visibility and read-only project information. |
Organization Member (o_member) | Everyone with limited access to one or more projects — e.g., CSMs, Project Managers, Support Managers, Agents | Standard employee or leader working across multiple projects. Can read and manage project memberships but not change billing or org policies. |
Organization Viewer (o_viewer) | Executive Leadership, CEO, VP Strategy, External Auditor | Read-only visibility across the organization for reporting, reviews, or oversight. Cannot change settings or data. |
Project-Level Roles
| Role | Typical Title(s) in a Service Organization | Functional Analogy |
|---|---|---|
Project Owner (p_owner) | Engagement Manager, Service Delivery Lead, CX Program Manager | End-to-end accountable for a project’s success. Can deploy models, manage integrations, and assign roles within the project. |
Project Contributor (p_contributor) | Support Manager, Project Lead, Senior CSM / CX Lead | Operates and improves the deployed AI systems. Can edit knowledge, debug, run evaluations, and redeploy—trusted to change live behavior safely. |
Project Member (p_member) | Support Agent, CX Associate, Operations Analyst, Quality Assurance | Works in day-to-day operations: handles conversations, labeling, data triage. Can’t modify knowledge or deploy models. |
Project Viewer (p_viewer) | Executives, Account Executive, Client | Read-only access to performance dashboards, transcripts, and reports. For oversight, validation, or executive review. |
Key Principles
- Every user has one organization role and up to one role per project
- Organization roles are prefixed with
o_, project roles withp_(built-in) orpc_(custom) - Every user can have at max 50 project roles
- Custom roles are always project scoped
- If any role allows an action, the action can be performed (union of permissions)
- You cannot edit your own role
- By default, users are organization members with no permissions - admins must explicitly grant project access
Inviting Team Members
How to Invite Colleagues
Organization-Level Invitations
Invite people to join your botBrains organization:- Go to Organization → Settings → Team
- Click the Invitations tab
- Click Invite User button
- Enter email addresses (press space or enter after each)
- Select organization role: Owner, Admin, Billing, Member, or Viewer
- Click Send Invitations
- Recipients receive email with join link
- They create an account or sign in
- Upon accepting, they join with assigned role
- New members appear in Members tab
Project-Level Invitations
Invite people to join a specific project:- Go to Project → Settings → Team
- Click the Invitations tab
- Click Invite User
- Enter email addresses
- Select project role: Owner, Contributor, Member, Viewer, or custom role
- Click Send Invitations
Managing Pending Invitations
Track invitations in the Invitations tab: View: Email, assigned role, sent date, expiration, status Revoke: Click trash icon to cancel before acceptance Resend: Available if invitation wasn’t receivedManaging Team Access
Changing Roles
Change organization role:- Go to Organization → Settings → Team → Members
- Find the member
- Click role dropdown
- Select new role - takes effect immediately
- Go to Project → Settings → Team → Members
- Find the member
- Click Project Role dropdown
- Select new role or “No Project Role” to remove access
Permission Conflict Warnings
botBrains warns you when organization roles override project restrictions: Example warning:- Proceed anyway (user keeps broad access)
- Cancel to reconsider
- Demote organization role first, then assign restrictive project role
Removing Team Members
Remove from organization (removes from all projects):- Go to Organization → Settings → Team → Members
- Click trash icon in Actions column
- Confirm removal
- Go to Project → Settings → Team → Members
- Select “No Project Role” from dropdown
Common Team Setups
Small Team (2-5 people)
Setup:- Assign Organization Member to everyone
- Give Project Contributor to team leads
- Give Project Member to other contributors
- Use built-in roles only
Department-Based Teams
Setup:- Separate projects per department (Support Bot, Marketing Bot, Sales Bot)
- Organization Member for all employees
- Project Owner for department leads
- Project Member for department team members
- Executives get Organization Viewer to access all projects
Development, Staging, Production
Setup:- Three projects (Dev, Staging, Prod)
- Developers: Project Contributor in Dev, Project Member in Staging, Project Viewer in Prod
- QA team: Project Contributor in Staging, Project Viewer in Dev/Prod
- Support team: Project Viewer in all three
- Senior engineers: Project Contributor in all three
External Consultants
Setup:- Create custom “Consultant” role with limited read access
- Organization Member role
- Remove export and API key permissions
Multi-Brand Organizations
Setup:- Separate projects per brand
- Organization Member for all team members
- Brand-specific Project Owners per brand
- Analysts get Project Viewer across brands
Best Practice
Principle of Least Privilege
Principle of Least Privilege
Principle of Least Privilege
Good practice:- Start with Organization Member for all users
- Grant project-specific roles based on actual responsibilities
- Use custom roles for specialized needs
- Regularly audit and reduce excessive permissions
- Making everyone Organization Admin “just to be safe”
- Giving Project Owner to anyone who asks
- Using broad permissions when narrow ones would work
Frequently Asked Questions
User can't see invited project
User can't see invited project
Possible causes:
- Invitation not yet accepted - check Invitations tab
- User assigned “No Project Role” - verify role assignment
- User signed in with different email - check email match
- Cache issue - have user sign out and back in
- Go to Project → Settings → Team → Members
- Search for user by email
- If not found, check Invitations tab
- If found with “No Project Role”, assign appropriate role
- Have user refresh browser
Role change didn't restrict access
Role change didn't restrict access
Cause: User has permissive organization role that overrides project restrictionsSolution:
- Go to Organization → Settings → Team
- Check their organization role
- If Organization Admin, change to Organization Member
- Verify project role restrictions now work
Can't remove team member
Can't remove team member
Possible causes:
- Only Organization Owners and Admins can remove members
- Trying to remove yourself
- Trying to remove the sole Organization Owner
- Ask an Organization Owner or Admin to perform removal
- Organization Owner cannot be removed
- Have another admin remove you if needed
Invitation expired
Invitation expired
Solution:
- Go to Settings → Team → Invitations
- Find expired invitation
- Revoke expired invitation
- Send new invitation with same role
Wrong role assigned
Wrong role assigned
Before acceptance:
- Revoke existing invitation
- Send new invitation with correct role
- Go to Settings → Team → Members
- Find the user
- Change to correct role using dropdown