Documentation home / Access and workspaces / Join from an invitation
Join from an invitation¶
Join the invitation's workspace using a current roster account on the correct server and alliance.
At a glance¶
In Trapitan: /workspaces/join/{public_id}.
Who can open this page: Active invite resolves; signed-out users redirect to Discord login; invalid/expired/revoked links render terminal errors.
What you see¶
An active invitation opens a separate Join page showing Workspace, Travian server, Alliance, Expires and Invitation status. Search Your Travian name and select a roster suggestion. The selected alliance appears beneath the picker. Join stays disabled until the selection is eligible; an ineligible selection explains which alliance the workspace is for. Cancel returns to the workspace selector.
Who fills in each field¶
The invitation chooses the destination workspace and server. You choose a roster player, not a different workspace, server or alliance. The expiry and status are read-only here. The invitation is reusable; it does not target a preselected individual account.
| Field or data | What it means | Who fills it in | Can it be changed here? | When it updates |
|---|---|---|---|---|
| Workspace, server and alliance | Read-only destination from the invitation workspace; creator does not target an individual account. | workspace-manager, roster-ingest |
Read-only | Link resolution |
| Your Travian name | You select a current roster player; join rechecks alliance equals the workspace alliance and active user-server membership. | signed-in-member, roster-ingest |
Joining member chooses player ID | Roster search / transactional join |
| Expires and status | UTC expiration boundary and active/expired/revoked status; links remain reusable after a successful join. | workspace-manager, backend-derived |
Read-only | Link resolution and transaction recheck |
Calculations¶
No derived values on this page.
Freshness and updates¶
Opening an active link records a pending invitation in your web session. If signed out, you are sent to Discord sign-in and normally returned to the Join page. The server reads roster suggestions for the invitation server and rechecks the link, workspace, roster alliance and membership at join time. Expires shows the stored boundary in UTC; a previously opened page can become expired or revoked before submission.
Actions and permissions¶
Who can take action: The actor and permission for each action are listed below. Who can perform each action depends on the server's checks, independently of whether navigation or a button is visible.
| Action | Actor | Permission |
|---|---|---|
| Join | signed-in-member |
Authenticated user, same-origin request, pending active invite, roster alliance match, one active user/server membership; repeated same-workspace join is idempotent |
| Cancel | signed-in-member |
Same-origin request clears pending invite; no membership created |
In Trapitan, enter at least two characters, choose your current account and use Join only when the alliance matches. Successful join clears the pending invitation and returns to Choose a workspace. The link remains active for other eligible users until it expires or a manager revokes it. Join requires authentication and a same-origin request; the account must belong to the workspace's server and exact alliance. Cancel clears the pending invitation through a same-origin request and creates no membership.
States and edge cases¶
Malformed or unknown links produce a terminal missing-link page (404). Expired or revoked links produce a terminal error (410) without a join form. The legacy invitation address redirects to this Join page. A missing pending invitation prevents join/search. Roster search failure is displayed beside the form; changing search text clears the prior selection. If the account leaves the alliance or the invitation expires/revokes during the flow, the server rejects the join. A user may have only one active membership on a Travian server. A repeat eligible join to the same workspace returns the existing membership without changing its linked account or adding another attribution. A membership in a different workspace on that server is a conflict. New joins receive collection permission, but still need verification and enabled entitlement for protected features. Extension collection additionally matches the active server and game account to that membership.
Related pages¶
Source references¶
Source reviewed: 2026-10-05
Source references
Stable page ID: access.join-invitation.
src/trapitan/api/routes/invites.pysrc/trapitan/web/templates/workspace_join.htmlsrc/trapitan/memberships/service.pysrc/trapitan/web/static/js/workspace-invitation-join.js