🔐 Roles & Permissions
UniPulse uses a 5-tier role-based access control (RBAC) system to ensure every team member and client has exactly the right level of access. Roles are assigned per workspace, so a user can be an Owner on one workspace and a Viewer on another.
Role Hierarchy
| Role | Content | Conversations | Analytics | Team Management | Billing | Workspace Settings |
|---|---|---|---|---|---|---|
| Owner | Full access | Full access | Full access | Invite, remove, change roles | Full access | Full access (including deletion) |
| Admin | Create, edit, approve, delete | Full access | Full access | Invite, remove, change roles (except Owner) | View only | Most settings |
| Editor | Create, edit, schedule | Reply to conversations, use AI suggest | View reports | No access | No access | No access |
| Viewer | View only (read-only) | View only | View reports | No access | No access | No access |
| Client | Review & approve content | View conversations | View Client Reports | No access | No access | No access |
Role Details
👑 Owner
The workspace creator. Every workspace has exactly one Owner who can:
- Do everything an Admin can do
- Access and manage billing and subscription
- Delete the workspace entirely
- Transfer ownership to another member
🛡️ Admin
A trusted team member with broad access:
- Manage team members (invite, remove, change roles — but cannot remove or demote the Owner)
- Approve content and manage publishing
- Configure AI Auto-Reply and Escalation Rules
- Access all analytics and reports
- Manage workspace settings (brand voice, integrations, etc.)
✏️ Editor
The content creator role:
- Create, edit, and schedule posts
- Reply to conversations in the Unified Inbox
- Use AI suggestion tools
- View analytics dashboards
- Cannot approve content for publishing (requires Admin+)
- Cannot manage team or settings
👁️ Viewer
Read-only access for stakeholders:
- View all content, conversations, and analytics
- Cannot create, edit, or reply to anything
- Useful for executives or external auditors who need visibility
🤝 Client
Designed specifically for agency clients:
- Review and approve/reject scheduled content
- View performance reports generated for them
- Leave comments and feedback on content
- View conversation history (read-only)
- Cannot create or edit content
- Cannot access settings, team management, or billing
Managing Members
Inviting Members
- Navigate to Settings > Team
- Click Invite Member
- Enter their email address and select a role
- Click Send Invitation
The invitee receives a WorkspaceInvitation email containing a unique token. The invitation includes:
| Field | Description |
|---|---|
| The invited email address | |
| role | The role they will receive upon accepting |
| invitedBy | Who sent the invitation |
| expiresAt | When the invitation expires |
| acceptedAt | Timestamp when accepted (null while pending) |
API: POST /workspaces/:id/members
Changing Roles
Owners and Admins can change any member's role from Settings > Team:
- Click the member's current role badge
- Select the new role from the dropdown
- Confirm the change
API: PUT /workspaces/:id/members/:userId
Removing Members
Owners and Admins can remove members from Settings > Team:
- Click the remove button next to the member
- Confirm removal
API: DELETE /workspaces/:id/members/:userId
When removing a member, their authored content and conversation replies remain in the workspace. Only their access is revoked.
Roles in the Escalation System
Roles integrate directly with Escalation Rules:
- assignToRole — Escalation rules can route conversations to any role (e.g., assign all VIP complaints to Admins)
- notifyRoles — Additional roles can be notified when an escalation fires (e.g., notify Owners on CRITICAL priority)
- Only members with Editor role or above can respond to escalated conversations
API Endpoints
| Method | Endpoint | Purpose |
|---|---|---|
GET | /workspaces/:id/members | List all members and their roles |
POST | /workspaces/:id/members | Invite a new member with a specified role |
PUT | /workspaces/:id/members/:userId | Update a member's role |
DELETE | /workspaces/:id/members/:userId | Remove a member from the workspace |
Related Pages
- Multi-Workspace — Each workspace has its own team and role assignments
- Client Reports — Reports accessible to the Client role
- Escalation Rules — Role-based assignment and notification
- White Label — Client-facing branding for the Client role experience