Skip to content

Registering via an invitation link

When someone is invited to a company or project, they receive an email with a link. Clicking the link takes them to this page, where they create their account. The form is pre-filled with the email the invitation went to, and (when the link is for adopting an orphan company) the company name is shown for confirmation.

This is the same form used by the “create account” flow, just with extra context driven by the invitation token in the URL.

sequenceDiagram
    actor Invitee
    participant App as Your app
    participant Ory as Identity system

    Invitee->>App: Click invite link, /register-user?token=...
    App->>App: Validate token, fetch company preview
    App-->>Invitee: Form with name, email (pre-filled), password
    Invitee->>App: Submit
    App->>Ory: Register account
    App->>App: Update profile (name)
    App-->>Invitee: Redirect to invitation acceptance flow

The token in the URL determines what the page shows and where the user goes after creating their account.

Visible textTranslation key
Page titleauth.common.create-account
Name labelauth.CreateAccount.labels.name
Email labelauth.common.email-address (typically pre-filled and non-editable)
Submit buttonauth.CreateAccount.agree-and-create
Terms and conditionsauth.CreateAccount.terms-and-condition
”Already have an account?” linkauth.CreateAccount.already-have-account

If the link includes a valid token for adopting a company, the page also shows a small preview of the company name and contact details, so the user can confirm they’re accepting the right invitation.

If the link has no token or an invalid one, the user is redirected to the regular create-account flow.

The form uses the same translation keys as the Creating an account flow — auth.CreateAccount.*. Override per client in clients/{client}/translations/{locale}/overrides.json.

If your Ory project sends a verification email after registration, the template is configured in Ory.

Invitation typeWhat’s different
Adopting an orphan companyPage shows the company name + contact info preview. After registration, the user is sent to the Becoming a company admin flow to confirm adoption.
Joining an existing company as a userPage skips the company preview (the invitation was already accepted by an admin). After registration, the user is sent to the Joining a company flow.

For the token validation logic, the company preview query, and post-registration routing, see Registering via an invitation link (engineering).