Team, roles, and workspaces
A workspace holds one set of connected accounts, posts, media, API keys, and members. Use one workspace per brand or client. Members get one of four roles that control what they see and can do.
Open Team in the sidebar to manage members. Open Settings for the workspace name and deletion. Use the workspace switcher at the top of the sidebar to move between workspaces. The concept is explained in Workspaces.
How do I invite a team member to Socifyr?
- Open Team. You need
member.invite, which Owners and Admins have. - Click Invite Member.
- Enter Email Address, choose a Role (Admin, Editor, or Contributor), and click Send Invitation. The dialog notes that Editors can manage content and Contributors can only draft posts.
- The person gets an email with a link. Until they accept, the invitation shows under Pending Invitations, where you can cancel it.
If you receive an invitation, it shows under Your Invitations on the Team page with accept and decline actions. During first-run onboarding, the "Join a Workspace" tab lists invitations too.
The number of seats depends on the plan. The owner counts as one seat, and pending invitations count too.
| Plan | Team members (including owner) |
|---|---|
| Free | 1 (owner only) |
| Pro | 3 |
| Business | Unlimited |
Self-hosted installs have no seat limit.
What can each role do?
| Permission | Owner | Admin | Editor | Contributor |
|---|---|---|---|---|
Create posts and drafts (post.create) | Yes | Yes | Yes | Yes |
Publish, publish now, retry (post.publish) | Yes | Yes | Yes | No |
Approve or reject (post.approve) | Yes | Yes | Yes | No |
| Archive, unarchive, delete posts | Yes | Yes | Yes | No |
| View posts | Yes | Yes | Yes | Yes |
| Upload media | Yes | Yes | Yes | Yes |
| Delete media | Yes | Yes | Yes | No |
| View accounts | Yes | Yes | Yes | No |
| Connect and disconnect accounts | Yes | No | No | No |
| View analytics | Yes | Yes | Yes | Yes |
Use AI (ai.use) | Yes | Yes | Yes | Yes |
| View, create, edit, delete API keys | Yes | Yes | No | No |
| View members | Yes | Yes | Yes | Yes |
| Invite, remove, change roles | Yes | Yes | No | No |
| Edit workspace (rename, AI key) | Yes | Yes | No | No |
| View billing | Yes | Yes | No | No |
| Manage billing, delete workspace | Yes | No | No | No |
The table is built from the shared permission map, the same one the API enforces. Contributors do not see Accounts or API Keys in the sidebar.
How do I change a member's role or remove them?
On Team, open the three-dot menu on a member row. It shows Change to Admin, Change to Editor, or Change to Contributor (the role they already have is left out), and Remove Member. You need member.assign_role or member.remove. You cannot change or remove the Owner or yourself.
How do I create a workspace for a client?
- Click the workspace switcher at the top of the sidebar.
- Choose Create Workspace.
- Enter a name such as "My Brand" or "Agency Client" and click Create. A toast confirms "Workspace created" and the dashboard switches to it.
Each workspace has its own accounts, so connect accounts again inside it.
In code, every request names its workspace with the X-Workspace-Id header. See Workspace header and the workspace SDK.
How do I rename or delete a workspace?
On Settings, the Workspace card has Workspace Name, a copyable Workspace ID, and the Slug. Rename it and click Save Changes. You need workspace.edit.
Danger Zone has Delete Workspace, which removes its connected platforms, API keys, and upload history. Only the Owner can do this. The API refuses to delete your last workspace or your default (oldest) one. Delete Account is also in the Danger Zone.
Common problems
| Symptom | Fix |
|---|---|
| Invite is rejected | Either the plan's seat limit is reached (pending invitations count), or an invitation for that email already exists. Cancel one or upgrade. |
| Teammate cannot see Accounts | Only Owner, Admin, and Editor have platform.view. |
| Teammate cannot connect an account | Only the Owner can connect accounts. |
| Invitation expired | Cancel it and send a new one. |