Documentation:Contacts Directory

Contacts Directory & DPDP Consent Registry

The central customer database and regulatory compliance engine. Track explicit user consent per India's Digital Personal Data Protection (DPDP) Act 2023, organize audience tags, import/export CSV files, and seed leads via WhatsApp chat exports.

1. Purpose of the Page

The Contacts Directory serves as the single source of truth for all WhatsApp recipients. More than a simple address book, it acts as a compliance safeguard: every contact record maintains an explicit consentGiven timestamp and optedOut flag. The campaign engine strictly cross-references this registry, guaranteeing that unverified or opted-out numbers can never receive marketing broadcasts.

2. Who Uses It (Target Roles)

Compliance & Data Officers

Verifies DPDP Act 2023 compliance, audit trails, opt-out requests, and data deletion requests.

Marketing Campaign Managers

Segments audience contacts using custom tags (VIP, Enterprise, Lead) and uploads bulk CSV lists.

Customer Success Agents

Inspects customer phone numbers, communication history, and manual contact creation.

Interactive Visual Preview

ContactsPage.tsx • /contacts
DPDP Compliant
Contacts Directory
3,420 Total Contacts • 3,420 Verified DPDP Consents (100%)
+ Add ContactImport CSVImport WhatsApp ChatExport CSV
ALL (3,420)Customer (2,100)VIP (480)Enterprise (320)
ContactWhatsApp NumberAudience TagsDPDP ConsentActions
AMAarav Mehta
+91 98765 43210Enterprise Verified ConsentDelete
PSPooja Sharma
+91 91234 56789VIP Verified ConsentDelete

3. Step-by-Step: Managing Contacts & Audiences

  1. Add a Single Contact: Click + Add Contact. Enter the customer's full name, phone number including the country code (e.g., +919876543210), assign an initial tag, and verify that the DPDP consent checkbox is checked.
  2. Bulk Import via CSV: Click Import CSV. Select a UTF-8 encoded .csv file containing columns: name,phone,tags,consent. NotifyIQ validates phone syntax (E.164) and deduplicates against existing records automatically.
  3. Import WhatsApp Chat Export: Click Import WhatsApp Chat. Upload an exported .txt transcript from WhatsApp. The parser extracts the participant phone number, creates a contact profile, and seeds message history into the Workspace Care Inbox.
  4. Filter & Segment Audiences: Click any tag pill (VIP, Customer, Lead) to instantly filter the list. When building Broadcast Campaigns, you can target specific tags.
  5. Execute Contact Erasure: Click Delete on any row to permanently delete the contact record and trigger a cascading erase of associated chat messages, satisfying right-to-be-forgotten obligations under DPDP and GDPR.

4. Fields, Forms & Modal Reference

Field / ActionTypeFormat / ConstraintDescription
Full NameInput TextString, min 2 charsContact's full name. Interpolated as {{name}} in WhatsApp campaign templates.
Phone NumberInput TextE.164 (+[country][number])Destination WhatsApp mobile number. Standardized with country code (e.g. +91 for India).
Audience TagSelect / PillsCustomer, VIP, Lead, Partner, SupportCategorization label used for campaign segmentation and inbox filtering.
Consent GivenCheckboxBoolean (true/false)Mandatory compliance flag confirming explicit opt-in under DPDP Act 2023.
Export CSVAction ButtonGET /api/contacts/exportGenerates and triggers a direct browser download of contacts_export.csv.

5. Behind the Scenes: Data Integrity & Meta Safety

When contacts are stored or imported, NotifyIQ executes rigorous backend validations to protect your Meta WhatsApp Business Account quality score:

  • Phone Sanitization & E.164 Formatting: Numbers are stripped of spaces, dashes, and leading zeros, and verified against international country code specifications.
  • Broadcast Hard Filtering: When a campaign dispatches, the query strictly filters: { consentGiven: true, optedOut: { $ne: true } }. Even if a number is present in your database, it will be skipped by the BullMQ worker if consent is absent.
  • Opt-Out Detection: When an inbound webhook arrives containing standard opt-out keywords (e.g. “STOP”, “UNSUBSCRIBE”), NotifyIQ automatically sets optedOut = true, halting automated messaging immediately.

6. Common Errors & FAQs

Why did my CSV import fail?

Ensure your CSV file contains the required header row: name,phone,tags,consent. Ensure all phone numbers include the plus sign and country code without spaces (e.g. +919876543210).

Why are certain contacts skipped during broadcast campaigns?

NotifyIQ automatically suppresses contacts that have not explicitly granted consent or have requested opt-out. This protects your WABA phone number tier from spam flags and temporary Meta blocks.