Skip to content
NewSee how

How to Use Roles & Permission Groups in FirstSales

Understand the five built-in roles, build custom permission groups from the resource matrix, respect the creator ceiling, and scope access per workspace.

  1. Start with the five built-in roles

    Every member has a role that sets their baseline access:

    • Owner (everything, including billing and org transfer/delete.
    • Admin) manage members, settings, and all workspace content.
    • Manager: manage campaigns, contacts, and workspace content.
    • Member: standard access to campaigns and contacts.
    • Viewer: read-only.

    For most teams these roles are all you need. Reach for custom groups only when a role doesn't fit.

  2. Understand permission groups

    Open Settings → Team → Groups. There are two kinds:

    • System groups (the built-in role definitions. Read-only; you can't edit or delete them.
    • Custom groups) permission sets you define for cases the standard roles don't cover.

    Groups map to a person's effective permissions, resolved per workspace.

    Understand permission groups
  3. Create a custom group

    Click to create a group and you'll get a permission matrix grouped by resource: campaigns, contacts, connectors, members, workspace, org, and more. Name the group and check the exact permissions it should grant (e.g. read campaigns + read/write contacts, nothing else).

    This is how you build a role like "SDR who can edit contacts but not touch billing or team settings."

  4. Respect the creator ceiling

    You can only grant permissions you yourself hold. In the matrix, anything above your own access is disabled: you can't create a group more powerful than you. Same rule applies when assigning roles on invite: options above your level are greyed out.

  5. Scope access to workspaces

    Permissions are workspace-scoped. A member can have different effective access in different workspaces, and their workspace-access setting (all vs specific) decides where a group even applies. Use this to give someone full rights in one workspace and none in another.

  6. Assign and verify

    Assign a group when inviting (or later, via a member's Edit workspace access). To check what someone can actually do, remember the app resolves effective permissions live per workspace: the safest test is to confirm the member sees (or doesn't see) the gated tabs and actions you intended.

Pro tips

  • Try a built-in role before a custom group

    The five roles cover most needs. Only build a custom group when you genuinely need a permission slice the roles don't offer: fewer bespoke groups is easier to reason about.

  • You can't out-grant yourself

    The creator ceiling means a group never exceeds your own access. If you can't check a box, you don't hold that permission: get an owner/admin to grant it.

  • Think in workspaces

    Access is per-workspace. Someone can be a manager in the client-A workspace and a viewer in client-B. Set workspace access deliberately, not just the role.

  • Least privilege for custom groups

    Check only the permissions the job needs. A group that grants everything is just an admin role with extra steps: and a bigger blast radius if the account is compromised.

Frequently asked questions

What roles exist?

Owner, Admin, Manager, Member, and Viewer. Owner has full access (including billing and org transfer); Viewer is read-only.

What's the difference between a role and a group?

Roles are the five built-in access levels (backed by read-only system groups). Custom groups are permission sets you define when the standard roles don't fit. Both resolve to effective permissions per workspace.

How do I create a custom permission set?

Settings → Team → Groups → create a group. Name it and check permissions in the resource-grouped matrix (campaigns, contacts, members, etc.). Assign it on invite or via a member's workspace-access editor.

Why are some permissions greyed out?

The creator ceiling: you can only grant permissions you hold yourself. Anything above your own access is disabled so you can't build a group more powerful than you.

Can access differ per workspace?

Yes: permissions are workspace-scoped. A member's group applies within the workspaces they're granted access to, so they can have full rights in one and none in another.

Can I edit the built-in roles?

No. System groups (the built-in roles) are read-only. To customize access, create a custom group instead.

Team & Workspace

Outreach that keeps going after you log off.Leads, emails, follow-ups and replies, handled.

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

$1 for 3 days · Cancel anytime · No contract

Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.