Skip to main content

Qontak | Platform | One Team Migration — ANCHOR

Product Requirements Document · ANCHOR v1.0


HEADER BLOCK

FieldValue
PMQontak PM Group
PRD Version1.0
StatusDRAFT
PRD TypeANCHOR
Labelsepic:qontak-platform | module:usman | feature:one-team-migration
Last Updated2026-06-22

Phase Index:

PhaseGoalPRD LinkEpicStatus
Phase 1: Legacy Team MigrationMigrate Chat Divisions and CRM Teams into Launchpad USMAN; enforce mandatory team assignment for new user invitationsprd-qontak-one-team-migration.mdTBDDRAFT

⚠️ 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


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

PersonaRoleGoalPainWorkaround
Primary — AdminCompany admin managing users in Qontak OneSingle place to manage all team structures across Chat and CRMTeams are split across Chat Divisions and CRM Teams — no unified viewManages teams separately in Chat Divisions settings and CRM Teams settings
Secondary — Backend DeveloperEngineer maintaining USMANTraceable team origins and idempotent migrationNo source tracking on current team recordsManual 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

DateDecisionRationale
2026-06-22Unify all team structures under Launchpad USMAN — not build a new team layer in Chat or CRMLaunchpad is the long-term home for user management in Qontak One; building elsewhere would require a second migration later
2026-06-22Use source_identifier + reference_id on all migrated teams for origin traceabilityEngineers need to identify which records came from Chat Divisions vs. CRM Teams without a DB lookup across legacy systems
2026-06-22Mandatory team assignment on invitation — not optionalOptional enforcement would allow the legacy fragmented state to persist in new users; enforcement is the only path to full consolidation
2026-06-22Gate rollout by one_team_migration_enabled per-CID — not a big-bang cutoverAllows phased rollout, isolated rollback per CID, and controlled migration pace without affecting all CIDs at once

14b — Alternatives Rejected

AlternativeWhy RejectedDate
Keep Chat Divisions and CRM Teams as separate parallel systemsDoes not achieve Qontak One unified UX and perpetuates dual-system maintenance burden2026-06-22
Make team assignment optional on invitationOptional enforcement allows fragmentation to persist in newly invited users — undermines the migration goal2026-06-22
Big-bang cutover without feature flagNo per-CID rollback path; failure for one CID would block all or require emergency rollback affecting all CIDs2026-06-22

15. Open Questions

#TypeQuestionOwnerDeadlineResolution
OQ1TECHNICALWhen a CID has a team with the same name in both Chat Divisions and CRM Teams, what is the merge/conflict resolution strategy?Bifrost EngineeringBefore Phase 1 RFC✅ Resolved 2026-06-23 — Create two separate teams with prefixed names: Chat-{team_name} and CRM-{team_name}. No merge.
OQ2PRODUCTAfter 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 squadsPhase 1 RFC approval✅ Resolved 2026-06-23 — Chat Division UI is hidden. CRM Team UI is replaced by the unified team UI.
OQ3TECHNICALIs there a de-migration (rollback) path if Phase 1 migration fails mid-flight for a CID?Bifrost EngineeringBefore Phase 1 RFC✅ Resolved 2026-06-23 — No rollback path. If migration fails or bugs are found, fix immediately — no planned reversion mechanism.
OQ4PRODUCTDoes USMAN support the same permission granularity as legacy Chat Divisions and CRM Teams?Bifrost Engineering + USMAN teamBefore Phase 1 RFC✅ Resolved 2026-06-23 — Yes, USMAN supports equivalent permission granularity.

PRD CHANGELOG

VersionDateBySectionTypeSummary
1.02026-06-22ClaudeAllCREATEDANCHOR PRD created alongside Phase 1 PRD as part of ANCHOR + NEW initiative setup for Qontak One Team Migration.
1.12026-06-23ClaudeS14, S15FILLEDAdded 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.