How to Build a WhatsApp Database from Incoming Leads the Right Way
AndySendy academy
← All posts

🔗 The client reached out themselves. The question is where their number went next

"Client wrote - you saved them" sounds like a ready system, but it's an automation illusion. Without integration the number just sits in WhatsApp chat history - no date, source, or status, indistinguishable from hundreds of others. How to turn an inbound dialog into a real structured record, not a line you'll hunt manually in a month.


Why this thesis needs immediate clarification

"Wrote - saved" implies WhatsApp builds the database itself. It doesn't: inbound messages stay mere correspondence until you set up a mechanism turning them into structured records. Difference between "contact in chat" and "contact in database with history" - lost lead vs working funnel.


Before / After: correcting the original thesis

Before:

Every inbound dialog is already a warm contact. How to auto-export all writers' numbers into a structured database.

After:

Every inbound dialog is raw material for a warm contact. To become a database, not just chat history, you need integration: WABA with webhooks and CRM, or third-party solution for regular WhatsApp Business App. Without this step the number stays in the messenger and gets lost at first chat cleanup.

Before (implicitly):

Inbound contact grants unlimited mailing rights over time.

After:

Inbound contact opens 24-hour service window for template-free replies. Beyond that it's not immunity - just higher starting trust. Irrelevant repeat touches still trigger complaints like any other base - see mass mailing ban mechanics.


Three collection scenarios - and how risk differs

Scenario How it works Risk level
WABA + webhook + CRM Meta server sends JSON with number (wa_id), profile name, timestamp to your URL on each inbound Official, minimal risk [✓]
WhatsApp Business App + CRM connector Third-party connector (HubSpot, Zoho, Bitrix24-type) via QR or phone, creates card on inbound Semi-official, depends on integrator
WhatsApp Web parsers / Baileys / msgstore.db Extract numbers from JID, local DB, or browser extensions Gray, risk to number and data

For official WABA inbound packet structure is documented: number, profile name (push name, not legal ID), text, timestamp arrive automatically - CRM creates card without operator. Regular WhatsApp Business App has no such Meta-level automation - needs integrator like HubSpot or Bitrix24.


What connection looks like in practice

Via Bitrix24: Contact Center → Virtual WhatsApp → Open Line → assign responsibles → connect. Via HubSpot/Zoho-type CRM: marketplace app, QR scan or phone login, then lead routing - pipeline, deal stage, specific manager. Not one-time export - permanent channel auto-creating card on each new inbound.

To recover existing inbound chat history - Meta has no official retrospective export tool for past periods if webhooks weren't set from the start. Business must fill gap manually: phone Settings → Export contacts → CSV, or third-party parsers and browser extensions scraping chat/group history - same gray scheme class as in the automation methods map.


Mini-case: lead magnet on code word

Expert ran ads asking to write a code word in WhatsApp. WABA webhook configured: on receiving word, client number auto-entered CRM with source tag, date, auto guide send. Base grew to 3400 contacts in a week. Repeat mailing a month later - 0 blocks, 22% sales.

Shows: auto source/tag capture at inbound moment removes manual sorting, measurable repeat-touch result. Doesn't prove: guaranteed for any niche or 0 blocks at any repeat volume - one documented case, not universal norm.

Opposite: shop collected inbound in regular WhatsApp Business App, numbers exported to Excel via script. 3 months later 1500-number base got aggressive discount blast via cheap clicker - no text randomization, high send speed. Despite warm base, number banned at message 400. Both cases: base warmth doesn't cancel mailing speed and quality requirements - different risk layers.


What to capture on every inbound

Bare phone number - nearly useless record in months. Minimum card fields:

Messenger marketing experts recommend embedding UTM in wa.me/?text=... links - source and interest category auto-captured at inbound moment without operator manual tagging.


Common misconceptions

"If client wrote, they're automatically in the database" Wrong. Without CRM integration or webhook, contact stays only in WhatsApp chat history and gets lost easily.

"Saving the phone number is enough" Incomplete. Without date, source, status the record becomes useless line impossible to segment.

"Inbound contact grants unlimited mailing rights over time" Wrong. Only confirmed 24-hour service window after client's last message - beyond that higher starting trust, not immunity.

"WABA required for inbound tracking" Inaccurate. Semi-official CRM integrator paths exist for regular WhatsApp Business App, though WABA remains most predictable officially documented option.

"Can officially export all historical inbound anytime" Unconfirmed. Meta has no official retrospective inbound contact export - solve upfront before history accumulates.


Practical takeaways


🎯 Next step

If inbound leads only sit in WhatsApp chat history - start with one integration (WABA or CRM connector) and mandatory fields: date, source, status. Less time than recovering lost base with parsers later.

Conclusion

Practical rule:

Client reached out themselves - that's a gift. Without date, source, and status you'll lose them a second time.