Skip to main content

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 the customer_behavioral_enrichment Hologres 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.
  • Backendcontact-service: net-new enrichment upload endpoint + async job (reuse the bulk-import gocraft/work pattern), a net-new Hologres query/lookup layer (app is Mongo/PG/Redis only today), result XLSX via the existing excelize + OSS + SendEmailWithAttachment path, and token check/deduct/refund via the existing Qontak Billing quota API (net-new billing code, e.g. ENRICHMENT-*).
  • Frontendqontak-customer-fe: CSV/XLSX upload page in CDP › Customers (reuse BulkUploadPage.vue / MpUpload), token balance (reuse BillingStore), 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 Documents
  • rfcs/ — Request for Comments
  • tests/ — Test plans
  • delivery/ — Timeline, status updates, decisions

Knowledge Graph

  • prds/prd-contact-enrichment.md depends on → Data/BI (customer_behavioral_enrichment datamart + 8 signals + daily refresh — largest risk, no app connectivity today), Legal (cross-tenant consent for cross-CID aggregation — privacy P0), Billing (new ENRICHMENT-* quota code + pack SKUs).
  • reuses → contact-service bulk-import async pipeline (POST /iag/v1/contacts/importgocraft/workexcelizeSendEmailWithAttachment) + Qontak Billing quota (check-quota/deduction/refund); qontak-customer-fe BulkUploadPage.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.