CDP Contact Enrichment
Give CDP clients a behavioral intelligence layer on their contacts — 8 signals (Basic + cross-company Behavior) computed from Qontak's own first-party conversation/campaign/CRM data in a Hologres datamart — delivered as an enriched spreadsheet via a CSV/XLSX upload → email flow, priced per run (tokens). First-party behavioral enrichment (not 3rd-party firmographic); MVP is upload-to-email only (no in-product panel/embed).
Scope Changes
Engineering surfaces this initiative touches (controlled vocab: Backend · Frontend · Mobile · Infra · Data · Design · Docs · None). Aggregate of this initiative's PRDs; mirrors the scope_changes frontmatter above.
- Data / BI (largest, cross-team — NOT
contact-service) — build thecustomer_behavioral_enrichmentHologres datamart + daily 08:00 WIB refresh + the 8 signal computations. Grounding found 6+ of the named source tables and Hologres itself have zero app-code connectivity today; requires a data contract (schema + freshness SLA) to CDP. - Backend —
contact-service: net-new enrichment upload endpoint + async job (reuse the bulk-importgocraft/workpattern), a net-new Hologres query/lookup layer (app is Mongo/PG/Redis only today), result XLSX via the existingexcelize+ OSS +SendEmailWithAttachmentpath, and token check/deduct/refund via the existing Qontak Billing quota API (net-new billing code, e.g.ENRICHMENT-*). - Frontend —
qontak-customer-fe: CSV/XLSX upload page in CDP › Customers (reuseBulkUploadPage.vue/MpUpload), token balance (reuseBillingStore), run history, upsell/top-up prompt. - Design — Figma for the upload page, token balance / run history, edge-case + upsell states.
- Infra — Hologres datamart storage + refresh scheduling (Data/BI infra).
Contents
prds/— Product Requirements Documentsrfcs/— Request for Commentstests/— Test plansdelivery/— Timeline, status updates, decisions
Knowledge Graph
prds/prd-contact-enrichment.mddepends on →Data/BI (customer_behavioral_enrichmentdatamart + 8 signals + daily refresh — largest risk, no app connectivity today), Legal (cross-tenant consent for cross-CID aggregation — privacy P0), Billing (newENRICHMENT-*quota code + pack SKUs).reuses →contact-servicebulk-import async pipeline (POST /iag/v1/contacts/import→gocraft/work→excelize→SendEmailWithAttachment) + Qontak Billing quota (check-quota/deduction/refund);qontak-customer-feBulkUploadPage.vue/MpUpload/BillingStore.
Test specs + RFC not yet authored. An RFC is recommended before build (cross-team data contract). Re-run /okf-enrich after adding rfcs/ / tests/ documents.