/settings/team, click Invite. The slide-over asks for three things.
1
Required. This is how they are invited and how they are matched to a sign-in identity when they arrive.
2
Full name
Optional but worth filling in. Without it there is nothing to show on their row until they sign in and fill in their own profile — the column renders addresses and the feature looks broken.Asked for here, shown on the pending row in the same shape as a member row.
3
Role
Defaults to member. See Roles and permissions.
They are a member from that moment
There is no separate invitations table and no separate list on screen. An invitation is a member withstatus: invited and no user id yet.
The row is in the same table, in the same list, with the same role. What invited records is that they have not signed in yet.
What happens when they sign in
The first time they sign in with that address, the row is claimed:user_id is filled in, status becomes active, and they join your account with the role you gave them — rather than being handed an empty account of their own and wondering where the team went.
Matching is on the address, because that is the only thing an invite and a brand-new identity have in common: the row was written before the person existed.
No email is sent yet. Tell them to sign in with that exact address. The delivery job is separate work; the membership is real either way.