Until now, bringing someone into the kennel, changing their role or cutting their access meant going to the website. The owner now does it from Manage › Organization › Members, on the phone — at the kennel, the moment the person arrives.

What you do

Invite. "Invite a member" opens a screen: the email address, the role (Handler is ticked in advance), and, if the person is only here for a season, "Access until". An email goes out with the link; the screen says whether it went, and "Share the link" opens the phone's share sheet when the email doesn't arrive.

Follow the invitations. "Pending invitations" lists each address with its role. "Revoke" cancels an invitation until it is accepted. An invitation is good for fourteen days.

Manage a member. Tap them: their role (picking another role applies straight away, and each role carries its one-line explanation), the end date of their access (set, change, clear), and "Remove from the kennel", which asks for confirmation, naming the person.

Be invited. The person signs in, or creates their account, with the address that received the invitation. They can open the link they received; on the phone, the invitation also waits for them under "My invitations". An invitation meant for another address is refused.

What others see, and what they don't

Every member sees the team list, each with their role: first name, or failing that the email address. Only the owner sees the pending invitations — a teammate knows neither who is invited nor with which role — and only the owner opens a row of the list. The other roles read the list, nothing more.

The invited person sees the kennel according to their role from the moment they arrive. An access end date shows in the list ("Access until…", then "Expired" once it has passed); an expired access deletes nothing: the row stays, and you can extend it or remove it.

Removing someone erases nothing they entered: their entries stay in the kennel. One thing is erased: their name as the "designated musher" on the outings they drove and on the goals that were entrusted to them — those are left with nobody designated.

What it doesn't do

You can't demote or remove yourself from the phone. Your own row doesn't open. That is not an oversight: leaving your place as owner changes your role in the kennel, and the app then has to put you back where you belong. Giving a teammate the Owner role, though, works here — the kennel then has two. Demoting yourself afterwards is logged, not done yet; it stays on the website.

An invitation can't be re-sent. To send it again, revoke it and invite once more. MushMate sends at most twenty invitation emails a day per kennel: beyond that the invitation is created but the email is held back — the link still works.

Nothing goes through offline. Without a connection, "Invite a member" is greyed out and the screen says so; no gesture is queued, because an access half-granted or half-cut is worse than an access that waits.

The invitation link opens in a browser, not in the app: opening MushMate straight from a link needs a setup we haven't done yet.

Three choices we made

An owner has no end date. You might want "owner until April 30"; the database refuses it, and the phone refuses it too, before even trying: an owner who locks themselves out would leave a kennel nobody runs. For a limited access, give another role.

A role changes without confirmation, a removal with one. A wrong role is fixed in one gesture, the other way. A removal cuts the access, and is only undone by a new invitation the person has to accept.

When the database says no, the screen stays open and says why. Read-only kennel, last owner, owner with an end date: the screen doesn't close and let you believe it's done. "Removed" only shows if the database really removed someone.

See also the Guide: Inviting your team.