Skip to main content

🔐 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​

RoleContentConversationsAnalyticsTeam ManagementBillingWorkspace Settings
OwnerFull accessFull accessFull accessInvite, remove, change rolesFull accessFull access (including deletion)
AdminCreate, edit, approve, deleteFull accessFull accessInvite, remove, change roles (except Owner)View onlyMost settings
EditorCreate, edit, scheduleReply to conversations, use AI suggestView reportsNo accessNo accessNo access
ViewerView only (read-only)View onlyView reportsNo accessNo accessNo access
ClientReview & approve contentView conversationsView Client ReportsNo accessNo accessNo 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​

  1. Navigate to Settings > Team
  2. Click Invite Member
  3. Enter their email address and select a role
  4. Click Send Invitation

The invitee receives a WorkspaceInvitation email containing a unique token. The invitation includes:

FieldDescription
emailThe invited email address
roleThe role they will receive upon accepting
invitedByWho sent the invitation
expiresAtWhen the invitation expires
acceptedAtTimestamp 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

tip

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​

MethodEndpointPurpose
GET/workspaces/:id/membersList all members and their roles
POST/workspaces/:id/membersInvite a new member with a specified role
PUT/workspaces/:id/members/:userIdUpdate a member's role
DELETE/workspaces/:id/members/:userIdRemove a member from the workspace