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.
What happens
Section titled “What happens”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.
What the user sees
Section titled “What the user sees”| Visible text | Translation key |
|---|---|
| Page title | auth.common.create-account |
| Name label | auth.CreateAccount.labels.name |
| Email label | auth.common.email-address (typically pre-filled and non-editable) |
| Submit button | auth.CreateAccount.agree-and-create |
| Terms and conditions | auth.CreateAccount.terms-and-condition |
| ”Already have an account?” link | auth.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.
What you can customise
Section titled “What you can customise”Translations
Section titled “Translations”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.
Email verification
Section titled “Email verification”If your Ory project sends a verification email after registration, the template is configured in Ory.
Variations for your deployment
Section titled “Variations for your deployment”| Invitation type | What’s different |
|---|---|
| Adopting an orphan company | Page 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 user | Page skips the company preview (the invitation was already accepted by an admin). After registration, the user is sent to the Joining a company flow. |
Need more detail?
Section titled “Need more detail?”For the token validation logic, the company preview query, and post-registration routing, see Registering via an invitation link (engineering).