Accepting Your Trainer's Invitation

How to accept the email invite from your trainer and finish your account.

client guide/invite/[token]
What this is for: Get from "got an email" to "logged in and connected to your trainer" in under 2 minutes.

What you'll receive

You'll get an email from EvoFit Trainer with the subject line "{Trainer Name} invited you to EvoFit". The email contains:

  • A friendly intro ("Hi, your trainer wants to onboard you...").
  • An optional custom message from your trainer.
  • A big blue Accept Invitation button.
  • A plain-text fallback link.

Check spam if you don't see it within a few minutes.

Step-by-step

If you're NEW to EvoFit (most common)

  1. Click Accept Invitation in the email.
  2. You land on /invite/{token}, then get redirected to /auth/register with the invite token and your email pre-filled in the URL.
  3. The register form pre-fills your email and shows a banner: "You're accepting an invite from {trainer}".
  4. Fill in:
  • First name, last name
  • Password (8+ characters)
  • Tick the Terms checkbox
  1. Click Sign up (or Continue with Google for one-click).
  2. The system creates your account AND links you to the trainer in one atomic operation.
  3. You land on /dashboard/client — you're ready to go.

If you ALREADY have an EvoFit account

  1. Click Accept Invitation.
  2. If you're logged in already → the API runs the link directly. You see a success toast and redirect to /dashboard.
  3. If you're logged out → the page asks you to log in first. After login, the link auto-runs.

What happens next

  • Your trainer's name appears on your dashboard.
  • The floating green WhatsApp button shows up (if your trainer set up WhatsApp).
  • You're on their roster — they'll usually message you within 24h to set expectations.

Common pitfalls

Where to find this

  • Landing page: /invite/[token].
  • Register page: /auth/register (token-aware since 2026-04-28 — reads inviteToken and email from the URL).
  • Endpoint: POST /api/auth/register (extracts inviteToken, validates, creates TrainerClient atomically).
Was this article helpful?