# Team Management & Invitation Workflow

**Document Version:** 1.0.0 (Phase 18)

---

## 1. Invitation Lifecycle

```
Admin Invites Teammate
          │
          ▼
Generate 40-char random token & store SHA-256 hash (Expires in 7 days)
          │
          ▼
User receives / clicks URL (`/invitations/{token}`)
          │
          ▼
Token validated & invalidated (`status = 'accepted'`)
          │
          ▼
User attached as active `WorkspaceMember`
```

---

## 2. Member Removal & Lead Reassignment

When removing or deactivating a team member:
- Option to reassign all active leads assigned to that user to another active teammate.
- If unassigned, `assigned_user_id` is set to `null` to ensure no historical lead data or activity notes are lost.
