User Roles & Permissions
Role Hierarchy
| Role | Scope | Assigned By | Key Capabilities |
|---|---|---|---|
| Super Admin | Full system | Database backend only | All access. Cannot be assigned via UI. |
| Admin (Company Admin) | Company-wide | Super Admin | Full access to company settings, user management, all agents/clients. |
| Team Admin | Team-level | Admin or Super Admin | Manage team-related settings, view team members and their data. |
| Manager | Team-level | Admin or Super Admin | Visibility into team data. "View Prompt Data" access for AI features. |
| Agent | Individual | Admin or Super Admin | Standard agent access: own clients, searches, deals, CMA, tours. |
| Client | Individual | Automatic (FUB sync or manual) | Portal access for property search, tour viewing, document review. |
Role Assignment Rules
- Only Company Admins and Super Admins can change user roles.
- Team Admins cannot promote or demote team members. This is a known limitation.
- Super Admin can only be assigned at the database level.
- New FUB-synced users default to the Agent role.
User Types
FUB Users (Connected): Created automatically via FUB sync. Display "Connected" in the Users list. Data stays in sync with FUB.
Manual Users (Not Connected): Created directly via Admin > Create Users. Display "Not Connected" in the Users list. Log in via SSO using their email. Function fully without a FUB account. When associated with agents, they can access those agents' data.
The Users list (formerly "Agents") includes a FUB Connection Status column and a filter to toggle between Manual Users, FUB Users, or All.
Admin-Only Features
- View Prompt Data (AI): Available to all admin types and managers. Hidden from agents.
- User role management: Company Admin and Super Admin only.
- Feed-specific UI configuration: Admin only.
- Dynamic GTAG configuration: Admin only.
- Agent settings fields: MLS ID, License Number, Start Date.
- Create manual users: Admin only.
Deactivating & Trashing Users
When deactivated: loses portal access, data retained. When trashed: embedded app shows descriptive error message (not generic "Something went wrong"). Trashed users are handled gracefully across all views.
Architectural Note on User Types
The long-term goal is to minimize differentiation between manual users and FUB-synced users. Users are users -- they are either connected with FUB or not. A FUB-connected user can also hold a Manager role. The system should not force a choice between "manual user features" and "FUB user features."