Skip to content

Invite User to Tenant

  1. Any user of a tenant can send an invitation.
  2. The system does not send the email automatically; it provides a sample message with an invitation link that the user sends manually.
  1. Create an invitation to a user (identified by email) to join the tenant.
  2. View all invitations sorted by creation date (descending), filterable by status (PENDING, ACCEPTED, EXPIRED, REJECTED, ARCHIVED) with pagination.
  3. Cancel an invitation in PENDING status.
  4. Reopen an invitation in CANCELLED or REJECTED status, returning it to PENDING.
  5. Archive an invitation from any status, moving it to ARCHIVED.
  6. Refresh an invitation in PENDING status, updating its invitationDate to the current date and time and its expirationDate to the current date and time plus the configured expiration interval.
  1. Accept the invitation (joining the tenant).
  2. Reject the invitation.
  1. Provide the invitation as a link encoding the invitation identifier and (for convenience) the invitee’s email.
  2. Validate the invitation:
    • Exists
    • Is in PENDING status
    • Is addressed to the logged-in user
FieldTypeDefaultEditableDescription
invitationDateDateCreated atNoDate invitation was created
expirationDateDateinvitationDate + configurable intervalNoExpiry date
statusEnumPENDINGNoCurrent lifecycle status (PENDING, CANCELLED, REJECTED, ACCEPTED, ARCHIVED)
inviteeStringBlankYesEmail of invited user
inviterIdUUIDCurrent user idNoID of inviting user
tenantIdUUIDCurrent tenant idNoTenant being invited to

PlantUML diagram

  1. Inviter creates invitation via the Organization Page.
  2. System registers a PENDING invitation and returns an invitation URL.
  3. Inviter shares the URL (email, message, QR code).
  4. Invitee opens the URL, signs in or creates an account if needed.
  5. System validates the invitation.
  6. On accept: a new AgentFor is created linking the invitee’s UserAccount to the tenant; invitation transitions to ACCEPTED.
  7. On reject: invitation transitions to REJECTED.