Skip to main content

Multi-BSUID Support — CDP × CRM Phone Sync

Sync phone numbers with per-phone BSUID from CDP (contact-service, Go) to CRM (qontak.com, Rails), enabling CRM to persist the correct crm_phones.bsuid per row. Scoped to CDP × CRM integration only — Chat paths are explicitly out of scope.

Scope Changes

Backend

QA Lane

Lane B — keeps a human QA gate. Security/isolation: multi-org BSUID scoping for phone-number sync where a silent failure could cross org boundaries. No E2E test specs exist for this initiative yet, so the Lane-A entry bar (100% E2E, spec-mapped coverage) is unmet regardless. Classified 2026-06-29.

Initiatives

ArtifactPath
PRDprds/prd-multi-bsuids-cdp-x-crm.md
RFCrfcs/rfc-multi-bsuids-cdp-x-crm.md
Deliverydelivery/timeline.md (not yet created)

Jira Tickets

TicketServiceDescription
TF-3154CRM (qontak.com)Schema prerequisite — add bsuid column to crm_phones + immutability guard
TF-3155CDP (contact-service)Producer — new payload structs + feature-flag-gated sync
TF-3156CRM (qontak.com)Consumer — backward-compatible normalize_phones in Crm::CentralizedContacts::Update