Team & permissions
Team members & roles
Invite your team to collaborate on client work. CoPortal uses three roles to control what each person can see and do — from full Owner access to a focused Member view for collaborators.
Roles
Full access to everything. Manages billing, invites and removes team members, and can delete the workspace. Only one owner per workspace — ownership can be transferred to another member.
- •All clients, projects, invoices, quotes, and contracts
- •All workspace settings including billing and plan
- •Invite and remove team members
- •Change any member's role
- •Access the service item library
- •Configure integrations (Xero, QuickBooks, Paystack)
Trusted team members who need full operational access without billing control. Ideal for a studio manager or senior team member.
- •All clients, projects, invoices, quotes, and contracts
- •Workspace settings (except billing and plan changes)
- •Invite team members (but cannot remove the owner)
- •Access the service item library
Regular collaborators who work across projects day-to-day. Cannot access settings or billing.
- •View and update all projects (not restricted to assigned projects)
- •Log time and expenses
- •Create and edit invoices
- •View and reply to client messages
- •Cannot access workspace settings or billing
- •Cannot invite or remove team members
Inviting a team member
Go to Settings → Team and click Invite member. Enter their email and choose a role. They receive an invitation email with a link to create their account and join your workspace.
- •Invitations expire after 7 days — resend from the same screen if needed
- •The member is added to your workspace immediately on accepting
- •You can have multiple pending invites at once
- •Existing CoPortal users joining your workspace do not need to create a new account
Changing a member's role
Owners and Admins can change any member's role from Settings → Team. Click the role badge next to a member's name and select the new role. Role changes take effect immediately — no re-login required.
Access presets
A role sets the broad shape of what someone can do. Beyond that, each member row in Settings → Team carries a set of permission toggles — and rather than starting you on a wall of switches, each row opens with three one-click presets:
Delivery
Does the work — clients and leads, no money anywhere. This is where a newly invited member starts, so a fresh row already reads Delivery rather than Custom.
Sales
Quotes, invoices and the amounts on them, plus portal invites and their own commission. Not the workspace-wide revenue rollups.
Ops
Runs the place — workspace settings and revenue rollups included. No cash flow, no commission management.
A preset is a starting point, not a mode. Clicking one writes the toggles once and then steps out of the way — every individual permission stays there to fine-tune afterwards. Change any toggle and the row simply reads Custom; nothing is locked, and nothing silently re-applies later.
- •A preset can only set the toggles you are allowed to set. Revenue rollups, cash flow, and commission stay owner-only, so an admin applying a preset can never grant more than they hold themselves.
- •Toggles the member's role locks are left alone — a Member can never be given commission management, whatever preset is applied.
- •Applying a preset is one save, so it either lands completely or not at all.
What each permission controls
- •Manage clients — create, edit, and delete clients and their contacts
- •View leads — access the lead pipeline; without it, Leads is hidden
- •Send quotes and Send invoices — independent of each other and of financial access; a member can send an invoice with the amounts masked
- •Invite clients to portal — send and manage portal invitations
- •Workspace settings — edit workspace-level settings. Without it, a member can still open Settings for their own notifications and feedback.
- •See financial amounts — money on individual invoices, quotes, and project budgets
- •See revenue rollups — the workspace-wide headline numbers: Dashboard revenue card, Analytics, MRR. Granted separately so staff can invoice without seeing the year's total.
- •See cash flow — owner draws, tax set-asides, runway. Owner-only by default.
- •Manage commission — configure rates and pay out, for the whole workspace
- •See own commission — a member's own entries and unpaid balance, their row only
Commission visibility now sits in this same grid alongside every other permission, rather than in its own corner of the Commission page. Both routes write the same setting, so it doesn't matter which one you use — but the Team tab is the one place to see a member's whole access in a single row.
Removing a team member
From Settings → Team, click the three-dot menu next to a member and select Remove. The member loses access immediately. Their historical contributions — time entries, messages, comments — are preserved and attributed to them.
Seat limits by plan
During your 14-day free trial you have the Studio allowance of 5 seats, so you can invite the team and try CoPortal the way you actually work before picking a plan.
Task assignment
Any team member can be assigned to individual tasks on the project board. Open a task and click Assignee to pick from your team. Assigned tasks appear in the member's task view, making it easy to see who is responsible for what across all projects.
Mentioning a teammate
Type @ followed by a teammate's name to pull them into a discussion. It works in task comments and in project conversations — both client-facing threads and internal notes. In either case the person you named gets a notification addressed to them (“Sarah mentioned you in Launch checklist”), not the general “someone posted a message” ping everyone else receives.
- •Nobody gets pinged twice — if you're mentioned, you get the mention and not the generic notice
- •A mention overrides a muted thread. Muting says “stop telling me about the general chatter”, not “stop telling me when someone needs me”.
- •The notification opens the thread the mention was posted in
- •Push notifications use the same setup as everything else; if your teammate has push enabled, they'll see it on their lock screen
- •Mentions never trigger an email — keeps your team's inbox quiet for internal communication
- •Type
@FirstLast— mentions resolve against your workspace member list, so a mention can never reach a client
@ in their portal can reach the team member they name — but nothing anyone types can notify a client or a portal contact, internal threads included.Private comments to a single teammate
When a comment is just for one specific person, tick Private to @Name below the comment input — it appears automatically when your comment resolves to exactly one teammate. The comment is then visible only to you and the named recipient. Other workspace members never see it; clients never see it. Useful for discreet feedback, quick clarifications, or pulling someone in on a sensitive call without exposing it to the whole team.
- •The team-wide “new task comment” notification is suppressed for private comments — only the recipient is told
- •Private comments render with an amber “Private” pill in the thread so the recipient knows it's just for them
- •Mentioning two or more people disables private mode automatically (it's a 1-to-1 directed message, not a small group)
- •Row-level security enforces visibility — even with the API, no one outside author + recipient can read the comment
@client_name) are coming separately — for now, @ is teammates only.Time entries and attribution
Each time entry is attributed to the team member who logged it. In the project Time panel, you can filter by team member to see individual contributions. This flows through to the Analytics profitability view, so you can see labour costs broken down by person if needed.