Role Types
Recruitier’s agency system uses four distinct roles to manage access and permissions.
Each role serves a specific purpose within the agency hierarchy, and understanding them
is essential for setting up your team correctly.
Owner
The Owner is the person who created the agency by subscribing to an Agency plan.
There is exactly one owner per agency, and this role cannot be transferred or assigned
to another user. The owner has unrestricted access to everything in the agency,
including billing, subscription management, settings, member management, and all
administrative functions.
In practice, the owner functions the same as an Admin but with the additional ability
to manage billing and subscription settings (adding/removing seats, changing plans,
viewing invoices). This billing access is exclusive to the Owner role.
Admin
An Admin manages the agency without occupying a recruiter seat. Admins can view
the agency dashboard, manage members (invite, remove), access shared resources, view
team analytics, and review team projects. However, they do not have their own recruiter
workspace — they cannot upload candidates, run searches, save jobs, or send outreach.
The Admin role is ideal for agency managers, directors, or operations staff who oversee
the team but do not recruit directly. Because they do not occupy a seat, they do not
consume a credit allocation and do not add to the agency’s seat costs.
Admin Member
An Admin Member is an admin who has activated their seat. They have full
administrative access plus a complete recruiter workspace. This is the most
comprehensive role — it combines team management capabilities with hands-on
recruitment tools.
An Admin Member occupies one of the agency’s seats and receives their own credit
allocation (5,000 credits per 30-day cycle). They can switch back to the Admin role
at any time by deactivating their seat, freeing it for another team member.
The Admin Member role is the recommended role for “player-coach” managers who both
manage their team and actively recruit. It gives them full visibility into team
performance alongside the tools they need to do their own recruitment work.
Member
A Member is a standard recruiter on the team. Members have full access to all
recruitment features (candidates, searches, jobs, outreach, projects) and can use
shared agency resources (tones of voice, pitch decks, outreach flows). They cannot
access administrative functions like the agency dashboard, member management, team
analytics, or team projects.
Members are invited by an admin and join the agency through the invitation flow. They
receive their own seat with a 5,000 credit per month allocation.
Permission Matrix
The following table shows exactly what each role can access:
| Feature | Owner | Admin | Admin Member | Member |
|---|
| Agency Management | | | | |
| Agency Dashboard | Yes | Yes | Yes | No |
| Team Analytics | Yes | Yes | Yes | No |
| Member Analytics | Yes | Yes | Yes | No |
| Invite Members | Yes | Yes | Yes | No |
| Remove Members | Yes | Yes | Yes | No |
| Revoke Invitations | Yes | Yes | Yes | No |
| Manage Seats | Yes | Yes | Yes | No |
| View Team Projects | Yes | Yes | Yes | No |
| Manage Shared Resources | Yes | Yes | Yes | No |
| Agency Settings | Yes | Yes | Yes | No |
| Billing & Subscription | Yes | No | No | No |
| Recruitment Tools | | | | |
| Upload Candidates | No | No | Yes | Yes |
| Run Job Searches | No | No | Yes | Yes |
| Save Jobs | No | No | Yes | Yes |
| Client Discovery | No | No | Yes | Yes |
| Send Outreach | No | No | Yes | Yes |
| Create Projects | No | No | Yes | Yes |
| Use Shared Resources | No | No | Yes | Yes |
| Use Personal Tags | No | No | Yes | Yes |
| General | | | | |
| Personal Settings | Yes | Yes | Yes | Yes |
The key distinction is between administrative access (managing the team) and
recruiter access (using the platform for recruitment work). Only Admin Member
and Member roles have recruiter access because they occupy seats. The Owner and
Admin roles without activated seats can only manage — they cannot recruit.
The Role Hierarchy
The roles follow a clear hierarchy:
Owner (billing + all admin + optional seat)
|
+-- Admin (all admin, no seat)
|
+-- Admin Member (all admin + seat + recruitment)
|
+-- Member (seat + recruitment, no admin)
- The Owner sits at the top with all permissions including billing
- Admins have management permissions but no recruiter workspace
- Admin Members have everything — management plus recruitment
- Members have recruitment permissions only
This hierarchy ensures that management capabilities and recruitment capabilities
are clearly separated, while the Admin Member role provides a bridge for those who
need both.
An Admin without an activated seat cannot use any recruitment features. They cannot
search for jobs, save opportunities, or send outreach. If you need to recruit, you
must activate your seat to become an Admin Member. This is by design — seats
represent paid capacity, and recruitment tools require a seat allocation.
Switching Between Admin and Admin Member
If you are an Admin Member, you experience both the admin panel and the recruiter
workspace. The interface adapts to show you:
- The admin navigation in the Agency section, with access to the dashboard,
members, analytics, shared resources, and team projects
- The recruiter navigation everywhere else, with access to candidates, searches,
jobs, clients, and outreach
You do not need to manually switch between views — the interface displays the
appropriate options based on the section you are in. The Agency section shows admin
tools, while the rest of the application shows recruiter tools.
To switch from Admin Member back to Admin (freeing up your seat):
- Navigate to the Members page
- Click Deactivate Seat
- Your role changes from Admin Member to Admin
- Your seat becomes available for another team member
To switch from Admin to Admin Member (activating a seat):
- Navigate to the Members page or respond to the “Activate Seat” banner
- Click Activate Seat
- An available unassigned seat is assigned to you
- Your role changes from Admin to Admin Member
- You receive the seat’s credit allocation
How Roles Are Assigned
During Agency Creation
When you create an agency (by subscribing to an Agency plan), you are automatically
assigned the Owner role. You start as an Admin (without a seat) and can activate
your seat to become an Admin Member if you also want to recruit.
During Invitation Acceptance
When a team member accepts an invitation, they are automatically assigned the
Member role. They receive a seat, their credit allocation, and begin with the
standard member permissions. All invited members start as Members — they cannot be
invited directly as Admins.
Changing Roles
Currently, role changes work as follows:
| Transition | How | Who Can Do It |
|---|
| Admin -> Admin Member | Activate seat | Self-service (the admin themselves) |
| Admin Member -> Admin | Deactivate seat | Self-service (the admin themselves) |
| Member -> Admin | Not currently supported through UI | Contact support |
| Admin -> Member | Not a standard transition | N/A |
If you are the agency owner and also want to recruit, activate your seat to become
an Admin Member. This gives you the best of both worlds — full admin control,
billing management, and a personal recruiter workspace all in one role.
Best Practices for Role Management
- Keep admin access limited — Not everyone needs admin access. Only people who
need to manage the team, view analytics, or handle shared resources should have
admin roles. Most team members should be Members.
- Use Admin (without seat) for managers — If someone only manages the team and
does not recruit, keep them as an Admin to avoid consuming a paid seat.
- Admin Member for player-coaches — If a manager also recruits, the Admin Member
role gives them everything they need without requiring two accounts.
- Review roles periodically — As your team evolves, make sure roles still match
responsibilities. A recruiter who gets promoted to team lead might need admin access.
- Document your role assignments — Keep a simple record of who has which role
and why. This helps when onboarding new admins or when team structure changes.
- Limit Owner role awareness — Since the Owner role cannot be transferred, make
sure the person who creates the agency will be a long-term stakeholder. Do not
create the agency from a temporary or test account.
Advanced
How Roles Work Under the Hood
Roles are stored in the UserAgency junction table that links users to agencies. Each
record contains:
- user_id — The user this role assignment belongs to
- agency_id — The agency the user is part of
- role — The role type: ADMIN, ADMIN_MEMBER, or MEMBER
The Owner role is determined by the admin_id field on the Agency entity itself,
not through the UserAgency table. This makes the owner-agency relationship immutable
at the agency level.
Role-Seat Coupling
The relationship between roles and seats follows strict rules:
| Role | Seat Required? | Credits? |
|---|
| Owner (without seat activation) | No | No |
| Admin | No | No |
| Admin Member | Yes (occupies a seat) | Yes (5,000/month via seat) |
| Member | Yes (occupies a seat) | Yes (5,000/month via seat) |
When an Admin activates their seat, the system:
- Finds an available unassigned seat in the agency
- Assigns the admin’s user_id to the seat
- Changes the role in UserAgency from ADMIN to ADMIN_MEMBER
- Checks the seat for credit refresh eligibility
- Increments the agency’s
active_seats counter
When an Admin Member deactivates their seat:
- Sets the seat’s user_id to null (unassigned)
- Changes the role from ADMIN_MEMBER back to ADMIN
- Preserves the seat’s credit balance and refresh timer
- Decrements the agency’s
active_seats counter
Member Removal Protection
Two critical constraints prevent problematic member removals:
- Cannot remove the agency owner: The owner must always exist. Since ownership
cannot be transferred, removing the owner would leave the agency without billing
management capability.
- Cannot remove the last admin: There must always be at least one user with admin
capabilities. If the only admin is also the owner, they are doubly protected.
These constraints are enforced at the service layer and cannot be bypassed through the API.
Connection to Shared Resources
Role determines shared resource permissions:
- Admin/Admin Member: Can create, edit, and delete shared resources. These are
marked with
is_shared = true and agency_id = agency_id.
- Member: Can view and use shared resources but cannot modify them. Members see
shared resources in their selection dropdowns alongside their personal resources.
Connection to Analytics
Role determines analytics visibility:
- Admin/Admin Member: Can access the agency dashboard, team leaderboard, and
individual member analytics. Can view outreach statistics, credit usage, and
activity logs for any team member.
- Member: Can see their own activity data through their personal dashboard but
cannot access other members’ analytics or the team-level dashboard.
Connection to Billing
Only the Owner role has billing access:
- View subscription details and invoices
- Change subscription plan (monthly/quarterly/yearly)
- Add or remove seats (which triggers Stripe subscription updates)
- Manage payment methods
- View credit allocation and usage across all seats
Admins and Admin Members can manage seats through the member management interface
but cannot access billing details or change the subscription plan directly.
Business Rules for Credit Allocation
Credits are allocated to seats, not to roles. This means:
- A Member and an Admin Member with the same seat age receive the same credits
- The Admin role (without seat) has zero credit allocation
- Credit refresh is based on the seat’s
last_credit_refresh_at, not the user’s
join date or role assignment date
- Changing from Admin Member to Admin does not affect the seat’s credits — they
are preserved for the next user assigned to that seat
Power-User Tips
- Assign Admin Member role sparingly. Each Admin Member consumes a seat. If you
have 5 seats and 2 are used by Admin Members who rarely recruit, you are effectively
limiting your recruiting capacity. Keep admin-only seats for people who actively need
to recruit.
- Use the permission matrix during onboarding. When explaining Recruitier to new
team members, share the permission matrix so they understand what they can and cannot
access. This prevents confusion and reduces “why can’t I see the dashboard?” questions.
- Plan role transitions. If a Member is being promoted to a management role, plan
the transition: they will need admin access but should keep their recruiter workspace.
The Admin Member role is the natural fit for this scenario.
- Audit role assignments quarterly. Check if any Admins should be Admin Members
(or vice versa) based on their actual activity. A non-recruiting Admin Member is
wasting a seat; a management-active Member might benefit from admin visibility.