Admin invite configuration
As admin, you control who can join your workspace and how invite links work.
Creating invite links
Admin → Members → "Invite Team" button
First time: Creates persistent workspace invite link automatically.
Link properties:
- Code: 32-character random string (cryptographically secure)
- Expiration: Never expires (persistent) by default
- Max uses: Unlimited by default
- Role assignment: Member (all invitees join as Members)
- Created by: You (admin user)
Link format: `` https://app.teamwins.com/invite/xK7mN9pQ2wR8sT4vU6yZ3aB5cD1eF0gH ``
Security:
- Server-side generation (clients can't forge codes)
- Unique across all workspaces
- URL-safe characters only
Auto-approve vs manual approval
Key workspace setting: Settings → Advanced Settings → "Auto-approve join requests"
Two approval paths:
Path 1: Auto-Approve (immediate join) Happens when:
- ✅ Workspace setting "Auto-approve join requests" = ON, OR
- ✅ Invite was created by workspace admin/owner
Result: User joins instantly, becomes active Member immediately.
Path 2: Manual Approval (join request) Happens when:
- ❌ Team member (non-admin) created invite link AND
- ❌ Workspace setting "Auto-approve join requests" = OFF (default)
Result: User submits join request, appears in pending queue, admin must approve.
Critical insight: Admin-created invites ALWAYS auto-approve, regardless of workspace setting. This ensures admins can onboard people quickly.
Managing join requests
Pending join requests appear in "Invite Team" popover:
- Requester name and email
- Days pending (e.g., "3 days ago")
- Actions:
- "Welcome!" button → Approve (creates active Member) - "Decline" button → Reject (user notified, can't reapply with same code)
Typical workflow: 1. Review requester email domain (is it @yourcompany.com?) 2. Verify they should have access (ask around if unsure) 3. Click "Welcome!" if legitimate 4. Click "Decline" if spam/unauthorized
Batch approvals: Select multiple join requests, click "Approve All" (future feature—currently one-by-one).
Email invites vs link invites
Shareable link invites (generic):
- One link, many users
- Can't target specific people
- Good for: Company-wide rollout, public Slack channels
Email invites (admin-initiated):
- Admin enters specific emails
- System generates per-email invite codes
- Email sent with personalized message
- Good for: Key stakeholders, targeted rollout, C-suite
Both methods use same underlying invite system, just different targeting.
Workspace settings affecting invites
Setting 1: Auto-approve join requests
- Location: Settings → Advanced Settings → Discoverability
- Default: OFF (manual approval required)
- Effect: When ON, all invite links (admin or team member) auto-approve joins
Setting 2: Incognito mode (invite-only)
- Location: Settings → Advanced Settings → Discoverability
- Default: OFF (workspace may appear in search)
- Effect: When ON, workspace hidden from public discovery
- Does NOT affect invite functionality—invites work either way
Recommendation:
- Internal teams: Enable auto-approve for faster onboarding
- Sensitive/client workspaces: Keep manual approval for security
- Incognito: Enable if workspace is confidential
Advanced invite features (API-only)
Not available in UI currently, but supported via API:
Max uses:
- Limit invite link to N uses (e.g., 50 people max)
- Once limit reached, link becomes invalid
- Useful for: Limited-access beta, specific cohort
Expiration time:
- Set invite to expire after X hours
- Use case: Temporary access, event-specific invites
Custom role assignment:
- Assign Reviewer or Admin role on join
- Currently fixed to Member in UI
To use these features: Contact support or use direct RPC calls (technical users only).
Future UI: Admin panel to configure max uses, expiration, and default roles.
Revoking invites
Not currently available in UI.
Workaround: 1. Go to Settings → Advanced Settings 2. Toggle "Auto-approve join requests" OFF 3. Old invite links now require manual approval 4. Decline any unwanted join requests
Or:
- Generate new invite link (delete old one from Slack/docs)
- Change workspace discoverability to Incognito
Future feature: "Revoke Invite" button to deactivate specific invite codes.
Tracking invite usage
What you CAN see:
- Total member count (Members page)
- Who joined and when (Members page)
- Pending join requests (Invite popover)
What you CAN'T see currently:
- Which specific invite code each user used
- How many people clicked invite link (vs actually joined)
- Invite code analytics (clicks, conversions)
Future enhancement: Invite analytics dashboard showing code usage stats.
Security best practices
Do:
- ✅ Share invite links only in private channels (not public Twitter/LinkedIn)
- ✅ Enable manual approval for client-facing workspaces
- ✅ Review join requests within 24 hours
- ✅ Remove ex-employees from Members page promptly
Don't:
- ❌ Share invite link publicly if workspace has sensitive data
- ❌ Auto-approve joins for external partner workspaces
- ❌ Leave join requests pending for weeks (poor UX)
Incident response: If unauthorized person joins: 1. Go to Members page 2. Find user → Click "..." menu → "Remove from Workspace" 3. User loses access immediately 4. Generate new invite link if breach suspected
Tips for scaling
Onboarding 10-50 people:
- Send email invites to key stakeholders
- Share generic link in Slack for rest of team
- Enable auto-approve to reduce admin overhead
Onboarding 50-200 people:
- Add invite link to HR onboarding checklist
- Create Slack bot with invite link in welcome message
- Monitor join requests daily
Onboarding 200+ people:
- Consider SSO integration (SAML) for auto-provisioning
- Disable manual approval (too much overhead)
- Set up webhooks for join notifications (API)
FAQs
Can team members create invite links? No—only admins can create invite links. Team members can share existing link.
How do I create role-specific invites? Not available in UI. Use API to create Reviewer/Admin invite codes, or promote users after they join.
Can I see who sent each invite? Sort of—created_by field shows which admin created the invite link. Email invites show sender.
What happens if admin who created invite leaves company? Invite still works—links aren't tied to creator's account status.
Can I edit an existing invite link? No—create new invite link if you need different settings. Old link remains valid unless revoked (future feature).
Next steps
- Inviting teammates (basic) - User guide for sharing invites
- Roles & permissions - Configure member roles
- Troubleshooting invites - Fix common issues