Organization invitation fails: expired invites, wrong org, JIT membership
Symptom: invite link errors or the user lands outside the org. Cause: expired invitation, email mismatch, or the login skipped the organization context. Confirmation: the invitation record and the login event's organization field. Not for different error messages.
TL;DR: Symptom: invite link errors or the user lands outside the org. Cause: expired invitation, email mismatch, or the login skipped the organization context. Verify New invite to a test email, accept in incognito, confirm membership in the dashboard and the organization claim in the token.
The error
invitation not found/expiredThe fix
- Expired: invitations expire after 7 days. Old links die.
- Email mismatch: the invite is bound to an email; logging in with a different email (or a social account with a different email) fails acceptance.
- Already accepted or already a member: re-invites error.
- The accept login did not carry the organization context (invitation + organization params both required on the authorize call).
- Connection mismatch: invite specifies a connection; user authenticated via another.
- Organizations > your org > Members > Pending invitations: status and expiry.
- Tenant logs: the failed acceptance event names the reason (expired, email mismatch).
- The login event: does it carry the organization id? If not, the app dropped the context.
- Resend the invitation for expired ones; confirm the email matches the user's login identity first.
- Have the app pass both
invitationandorganizationon the authorize call. - For high-volume onboarding, switch to just-in-time membership on the org's connections and skip invites entirely.
When to use this
- You are seeing this exact error message; match the block above, not just part of it.
- The failing call matches the scenario in the title: Organization invitation fails.
- You want the fastest verified fix before digging through logs.
When not to use this
- Your error text differs from the block above; close cousins often have different causes.
- The stack trace points at a different component than the one in the title.
- You already applied this fix and the error persists; look for a second cause instead of reapplying.
Compatibility
- Not pinned to a specific version; follows current Organization behavior.