Team

Team Invitations & Permissions

Team Invitations & Permissions

Invite team members to your venue via email, control their access level with roles, and understand exactly what each role can and cannot do — so the right people have access to the right features.

Where to find it — Web: Sidebar → Team+ button. Mobile: MoreTeamInvite.


Overview

Team invitations let you:

  • Send email invitations with a secure link that expires after 7 days
  • Assign a role (Owner, Manager, or Stylist) that controls what the team member can access
  • Pre-configure a staff record (calendar colour, name) before the invitee accepts
  • Track invitation status (Pending, Expired) and resend or revoke as needed
  • Automatically set up the new team member with a welcome onboarding wizard when they join

Note

FREE accounts are limited to 1 active team member (including pending invitations). PRO accounts have unlimited team members.


Sending an invitation

On web

  1. Go to Team in the sidebar.
  2. Click the + button in the Team Members header.
  3. In the Invite Team Member dialog, enter the team member's Email Address (placeholder: "colleague@example.com").
  4. Select a Role:
Option Display label Description
STAFF "Staff (Stylist)" Can view own calendar and manage own bookings
MANAGER "Manager" Can manage bookings, stylists, and day-to-day operations
OWNER "Owner" Full access to everything, including billing and venue settings
  1. Click Send Invitation.

On mobile

  1. Go to MoreTeam.
  2. Tap Invite in the header.
  3. Enter the Email (placeholder: "staff@example.com").
  4. Select a Role using the radio buttons: Stylist, Manager, or Owner.
  5. If you manage multiple venues, select the target Venue.
  6. Tap Send Invite.

What happens when you send

  1. A staff record is pre-created for the invitee (inactive, with a name derived from their email and an auto-assigned calendar colour).
  2. An invitation email is sent with the subject: "You're invited to join {venue name} on OpenChair".
  3. The email contains an Accept Invitation button linking to a secure claim page.
  4. The invitation is valid for 7 days from the time it is sent.

PRO billing notice

When inviting on a PRO plan, the invite dialog shows a cost notice:

  • If your plan is already at the seat cap: "Your plan is already at the ${cap}/mo cap — no additional cost."
  • If under the cap: "Adding this team member will change your monthly plan to ${newCost}/mo when they accept."

The claim process (what the invitee sees)

When the invited team member clicks Accept Invitation in their email, they land on a claim page at /invite/{token}.

If not signed in

The claim page shows a context card ("You've been invited to join {venue name}") and an authentication form with three options:

  1. Continue with Google — Google OAuth sign-in
  2. Create Account tab — Full Name, Email (locked to the invitation email), Password (minimum 8 characters), then Create Account & Join
  3. Sign In tab — Email, Password, then Sign In & Join

After authenticating, the invitation is automatically accepted and the team member is redirected to the welcome onboarding wizard.

If already signed in

The claim page shows the current user's details and a Join {venue name} button. Clicking it accepts the invitation immediately.

Claim page states

State What the invitee sees
Valid Authentication form (if not signed in) or "Join" button (if signed in)
Expired "This invitation has expired" — shows the expiry date and asks the invitee to request a new invitation
Already accepted "Invitation already accepted" with a link to go to the venue
Already a member "You're already a member of {venue name}" with a link to the venue
Email mismatch "Account mismatch" — the signed-in email does not match the invitation email. Option to sign out and try again.
Not found "This invitation is no longer valid" — the invitation may have been revoked or the link is incorrect

After accepting

  1. The staff record is activated and linked to the invitee's user account.
  2. A membership is created at the venue with the assigned role.
  3. The invitee is redirected to the welcome onboarding wizard (/app/{slug}/welcome) to set up their profile, services, and availability.
  4. The venue owner receives a notification email: "{member name} has joined {venue name}".

Managing pending invitations

Pending and expired invitations appear in the PENDING INVITATIONS section below active staff on the team page (web). Each invitation shows a status badge and the time since it was sent.

Resending an invitation

  1. Find the pending or expired invitation in the team list.
  2. Click the action menu → Resend Invitation.
  3. A new email is sent with a fresh link and the 7-day expiry is reset.

The pre-configured staff record is preserved — resending does not create a duplicate.

Revoking an invitation

  1. Click the action menu → Revoke Invitation (or Revoke in the detail pane).
  2. Confirm in the dialog: "This will permanently remove the invitation. Any pre-configured services and availability will be deleted."

Revoking permanently deletes the invitation and the pre-created staff record, including any services and availability that were configured before acceptance.

Warning

Revoking an invitation is permanent. The pre-configured staff record, service assignments, and availability are deleted. To re-invite the same person, send a new invitation.


Roles and permissions

OpenChair has three roles. The role determines what the team member can access across the web app and mobile app.

Permission matrix

Feature area Owner Manager Stylist
Calendar & bookings Full access — all staff calendars Full access — all staff calendars Own calendar and bookings only
Customers Full access — create, edit, view all Full access View own clients only
Services Create, edit, delete, reorder Create, edit, delete, reorder View only
Team management Invite, edit, offboard all roles Edit and offboard stylists only No access
Invite team members All roles (Owner, Manager, Stylist) Stylists only — cannot invite Managers or Owners Cannot invite
Marketing campaigns Create, send, schedule Create, send, schedule No access
Inbox (messages) Full access Full access Quick SMS/Email only
Intelligence (analytics) Full access Full access Full access
Concierge approvals Approve/reject pending actions Approve/reject pending actions No access
Invoices Create, send, manage No access No access
Commission rates Set venue defaults and per-staff overrides No access No access
Billing & subscription Full access — payment settings, payout schedule, Stripe portal No access No access
Payouts View payout history and schedule No access No access
Gift cards Issue, void, bulk generate No access No access
Loyalty programme Configure programme rules and rewards No access No access
Deposits Configure and assign to services Configure and assign to services No access
Business memory Add, edit, remove, reorder No access No access
Corporate clients Create, edit, delete No access No access
Venue settings Full access View only No access
Timesheet View all staff timesheets No access (web) No access
Device activity View shared device sessions No access No access

Role hierarchy for team management

  • Owners can manage all roles — invite, edit profiles, change roles, and offboard anyone.
  • Managers can only manage Stylists — they cannot invite, edit, or offboard other Managers or Owners.
  • Stylists cannot access the team management page at all.

Tip

Assign the Manager role to shift leaders or senior team members who need to handle day-to-day operations without accessing billing or financial settings.

What Stylists can do

Although Stylists have the most restricted access, they can still:

  • View and manage their own calendar and bookings
  • Send quick SMS and email messages to clients
  • View their assigned services
  • Clock in/out via the timeclock
  • Update their own profile (name, photo, bio)
  • Set their own availability (if permitted by the venue owner)
  • Use the kiosk PIN to claim a shared device

Invitation security

Invitations use secure token handling:

Security feature Detail
Token generation Cryptographically random UUID
Token storage SHA256 hash stored in the database (plaintext token is never stored)
Token verification Incoming token is hashed and compared against the stored hash
Expiry 7 days from creation (reset on resend)
Single use Token is invalidated after acceptance
Revocation Revoking permanently deletes the token and associated staff record

Platform differences

Feature Web Mobile
Invite trigger + icon button in Team Members header Invite button in list header
Role selector Dropdown: "Staff (Stylist)", "Manager", "Owner" Radio buttons: "Stylist", "Manager", "Owner"
Venue selector (multi-venue) Not shown (invites to current venue) Radio list if multiple venues
Submit button "Send Invitation" "Send Invite"
Pending invitations Listed in team sidebar with action menus Not manageable — web only
Resend / Revoke Action menu on pending row Not available
Claim page Works on any browser — responsive layout Same web page (not a native screen)

Troubleshooting

Issue Solution
Invitation email not received Ask the team member to check their spam/junk folder. Go to Team, find the pending invitation, and click Resend Invitation to send a new email with a fresh 7-day link.
"Free tier limit reached" when inviting FREE accounts are limited to 1 active team member including pending invitations. Upgrade to PRO for unlimited team members, or revoke an existing pending invitation first.
Invitation expired Invitations expire after 7 days. Find the expired invitation in the team list (it shows an "Expired" badge) and click Resend Invitation to generate a new link.
"Account mismatch" on the claim page The team member is signed into a different account than the one the invitation was sent to. They should sign out and either create an account with the invited email or ask you to send a new invitation to their current email.
"This invitation is no longer valid" The invitation may have been revoked. Send a new invitation from the Team page.
Team member accepted but does not appear in the team list Refresh the team page. The team member should appear as active after completing the welcome onboarding wizard. If they still do not appear, check that the invitation status shows "Accepted".
Cannot invite a Manager or Owner Only venue owners can invite Managers and Owners. If you are a Manager, you can only invite Stylists.
Team member cannot access a feature Check their role. Stylists have restricted access — they can only view their own calendar and bookings. Managers cannot access billing, invoices, commission, or payouts. See the permission matrix above.

Related Articles


Last updated: March 2026