Zodiac Tech CRM Docs

Add team members

Wizard step 9 — invite your sales agents and managers, understand seats and roles, and manage the team afterwards.

client admin Easy ⏱ 5 min Updated 2026-10-05

Add team members

This is wizard step 9: "Who will use the CRM?". Invite the people who sell for you — each gets their own login, their own leads, and (optionally) the Android app. This step is optional: you can skip it and invite the team any time from Settings → Team.

Who this is for

  • Workspace owners and admins.
  • Managers onboarding new sales agents mid-year.

Difficulty: Easy · Time: 3–5 minutes · Prerequisites: none. The step works before any other setup and can be re-run later.

Step by step

1. Add rows for your people

  1. In the step, click + Add team member for each person and fill:

    Field Notes
    Name Shown across the CRM (lead activities, reports, assignment)
    Email Where the invitation is sent — double-check it
    Phone Optional, used for their mobile app identity and call matching
    Role Sales Agent (works leads day to day) or Manager (sees the whole team's work)
  2. Send invitations.

  3. What happens: each person gets an email invitation with a link to set a password and join your workspace. The invitation is valid for 7 days.

  4. Expected result: the step's seat line updates (for example "3 of 5 seats used"), and the wizard marks the step done once your workspace has more than one user.

All seats in use? If the plan's seat limit is reached, the step shows "All seats are in use" and new invitations are blocked. Remove a member or upgrade the plan (your account manager can help), then invite again.

2. What people see

  • Sales Agents land in the regular CRM: their leads, pipeline, calls, WhatsApp, follow-ups.
  • Managers additionally get team-wide views: all leads, assignment controls, agent reports.
  • The full picture is in Roles & who does what.

3. Manage the team afterwards

Open Settings → Team for the single team hub:

  • see seats used vs available,
  • invite more members (same flow as the wizard),
  • suspend an account (they can no longer sign in),
  • reset a password,
  • remove a member.

Team members and the mobile app Inviting someone is enough — their CRM login works immediately. To get them on the phone app, see Mobile app setup.

Expected result

  • Every invited person appears in Settings → Team (pending until they accept).
  • At least two users exist in the workspace, so the wizard step settles.
  • New leads can now be routed to real people (Lead assignment & follow-ups).

Common mistakes

  • Typo in the email. Invitations go to whatever address you type; if a person says "I never got it", verify the address first.
  • Inviting someone who is already a member. The CRM refuses duplicates with a friendly "already a member" message rather than double-counting your seats.
  • Choosing Manager for everyone. Manager is for people who need team-wide visibility; agents get everything they need for their own leads.
  • Skipping the phone field. It is optional, but without it call matching on the Android app is less precise.
  • Confusing the invitation email with a marketing email. It comes from your CRM's configured SMTP; check spam if not received.

Troubleshooting

Symptom Likely cause Fix
Invitation email never arrives Wrong address, or spam filtering Verify the address; check spam; your admin can re-invite
"All seats are in use" Seat limit reached Remove a member or upgrade the plan
"…is already a member" The email belongs to an existing user No action needed — ask them to log in (or use password reset)
Invitation link expired Invitations last 7 days Invite again from the wizard or Settings → Team
Person can log in but sees nothing They are a member with no leads assigned yet, or they accepted a different workspace Check assignment rules and their workspace

Technical details

  • Service: App\Services\InvitationService::invite($tenant, $actor, $email, $role) — creates an invitations row with expires_at = now + 7 days, sends the email, and refuses duplicates (re-invite of an existing member).
  • Roles written by the wizard: member (Sales Agent) or manager (Manager); the workspace owner remains admin.
  • Seats: App\Services\PlanService::seatLimit($tenant) resolves plan-first (tenant override → plan limits.max_seats → legacy column → 5; -1 means unlimited). tenant.seat_count tracks usage and is recalculated when invitations are accepted or members removed.
  • Users belong to the workspace via users.tenant_id plus the tenant_users pivot; all CRM data is scoped to the tenant automatically.
  • Team hub: App\Filament\Pages\Settings\TeamSettingsPage (Settings → Team) — invite, suspend, reset password, remove.

Was this page helpful?