Qontak | Platform | One Team Migration — ANCHOR
Product Requirements Document · ANCHOR v1.0
HEADER BLOCK
| Field | Value |
|---|---|
| PM | Qontak PM Group |
| PRD Version | 1.0 |
| Status | DRAFT |
| PRD Type | ANCHOR |
| Labels | epic:qontak-platform | module:usman | feature:one-team-migration |
| Last Updated | 2026-06-22 |
Phase Index:
| Phase | Goal | PRD Link | Epic | Status |
|---|---|---|---|---|
| Phase 1: Legacy Team Migration | Migrate Chat Divisions and CRM Teams into Launchpad USMAN; enforce mandatory team assignment for new user invitations | prd-qontak-one-team-migration.md | TBD | DRAFT |
⚠️ PHASE INDEX FLAG Phase 1 PRD is in DRAFT status. Update this ANCHOR's Phase Index with the Confluence link and Epic key once the Phase 1 PRD is published and an Epic is created in Jira.
Table of Contents
- HEADER BLOCK
- 3. One-liner + Problem
- 4. Target Users + Persona Context
- 13. Success Metrics
- 14. Key Decisions + Alternatives Rejected
- 15. Open Questions
- PRD CHANGELOG
3. One-liner + Problem
One-liner: Centralize all Qontak team structures from Chat Divisions and CRM Teams into a unified Launchpad User Management system, enabling consistent team tracking and enforcement across Qontak One.
Problem: Qontak's team management is fragmented across Chat (Divisions) and CRM (Teams), creating disconnected user experiences and data inconsistency. As Qontak One consolidates User Management into Launchpad, there is no unified team structure, no way to trace where a team originated, and no enforcement ensuring new users belong to a team. This initiative migrates all legacy team structures into Launchpad, introduces mandatory team assignment for new invitations, and establishes source tracking for all teams.
4. Target Users + Persona Context
| Persona | Role | Goal | Pain | Workaround |
|---|---|---|---|---|
| Primary — Admin | Company admin managing users in Qontak One | Single place to manage all team structures across Chat and CRM | Teams are split across Chat Divisions and CRM Teams — no unified view | Manages teams separately in Chat Divisions settings and CRM Teams settings |
| Secondary — Backend Developer | Engineer maintaining USMAN | Traceable team origins and idempotent migration | No source tracking on current team records | Manual DB lookup across Chat and CRM databases |
13. Success Metrics
⭐ Primary KPI: % of active CIDs with one_team_migration_enabled = true that have all legacy teams successfully migrated to Launchpad
- Baseline: 0% (pre-migration)
- Target: 100% within 30 days of GA
Quality:
- Migration failure rate (
team_migration_failed/ total teams attempted): ≤ 1%
Enforcement:
- % of new user invitations that include a team assignment (for CIDs with
one_team_migration_enabled = true): 100%
14. Key Decisions + Alternatives Rejected
14a — Decisions Made
| Date | Decision | Rationale |
|---|---|---|
| 2026-06-22 | Unify all team structures under Launchpad USMAN — not build a new team layer in Chat or CRM | Launchpad is the long-term home for user management in Qontak One; building elsewhere would require a second migration later |
| 2026-06-22 | Use source_identifier + reference_id on all migrated teams for origin traceability | Engineers need to identify which records came from Chat Divisions vs. CRM Teams without a DB lookup across legacy systems |
| 2026-06-22 | Mandatory team assignment on invitation — not optional | Optional enforcement would allow the legacy fragmented state to persist in new users; enforcement is the only path to full consolidation |
| 2026-06-22 | Gate rollout by one_team_migration_enabled per-CID — not a big-bang cutover | Allows phased rollout, isolated rollback per CID, and controlled migration pace without affecting all CIDs at once |
14b — Alternatives Rejected
| Alternative | Why Rejected | Date |
|---|---|---|
| Keep Chat Divisions and CRM Teams as separate parallel systems | Does not achieve Qontak One unified UX and perpetuates dual-system maintenance burden | 2026-06-22 |
| Make team assignment optional on invitation | Optional enforcement allows fragmentation to persist in newly invited users — undermines the migration goal | 2026-06-22 |
| Big-bang cutover without feature flag | No per-CID rollback path; failure for one CID would block all or require emergency rollback affecting all CIDs | 2026-06-22 |
15. Open Questions
| # | Type | Question | Owner | Deadline | Resolution |
|---|---|---|---|---|---|
| OQ1 | TECHNICAL | When a CID has a team with the same name in both Chat Divisions and CRM Teams, what is the merge/conflict resolution strategy? | Bifrost Engineering | Before Phase 1 RFC | ✅ Resolved 2026-06-23 — Create two separate teams with prefixed names: Chat-{team_name} and CRM-{team_name}. No merge. |
| OQ2 | PRODUCT | After migration completes for a CID, are Chat Divisions and CRM Teams UI surfaces removed immediately or kept in read-only mode? | Bifrost PM + Chat/CRM squads | Phase 1 RFC approval | ✅ Resolved 2026-06-23 — Chat Division UI is hidden. CRM Team UI is replaced by the unified team UI. |
| OQ3 | TECHNICAL | Is there a de-migration (rollback) path if Phase 1 migration fails mid-flight for a CID? | Bifrost Engineering | Before Phase 1 RFC | ✅ Resolved 2026-06-23 — No rollback path. If migration fails or bugs are found, fix immediately — no planned reversion mechanism. |
| OQ4 | PRODUCT | Does USMAN support the same permission granularity as legacy Chat Divisions and CRM Teams? | Bifrost Engineering + USMAN team | Before Phase 1 RFC | ✅ Resolved 2026-06-23 — Yes, USMAN supports equivalent permission granularity. |
PRD CHANGELOG
| Version | Date | By | Section | Type | Summary |
|---|---|---|---|---|---|
| 1.0 | 2026-06-22 | Claude | All | CREATED | ANCHOR PRD created alongside Phase 1 PRD as part of ANCHOR + NEW initiative setup for Qontak One Team Migration. |
| 1.1 | 2026-06-23 | Claude | S14, S15 | FILLED | Added Key Decisions (4 decisions, 3 alternatives rejected) and resolved all 4 Open Questions: OQ1 name-conflict → prefix Chat-/CRM-; OQ2 Chat UI hidden + CRM replaced by unified; OQ3 no rollback; OQ4 USMAN permission parity confirmed. |