Contacts are the foundation of your WhatsApp campaigns. Waflow provides a comprehensive contact management system that helps you organize, segment, and communicate with your audience effectively. This guide covers the contact database structure and available management features.
Contact Database Overview#
Every contact in Waflow represents a person or entity you can message via WhatsApp. The contact database stores:
- Core contact information (phone, name, email)
- Custom fields (any additional data you define)
- Tags (labels for categorization)
- Segments (dynamic or static groupings)
- Message history (conversations with each contact)
- Engagement data (opens, clicks, replies)
Each workspace has its own independent contact database. Contacts don't transfer between workspaces automatically.
Contact Data Structure#
Required Fields#
Every contact must have:
| Field | Description | Example |
|---|---|---|
| Phone Number | WhatsApp number with country code | +14155551234 |
The phone number is the unique identifier for each contact. Duplicate phone numbers are not allowed within a workspace.
Default Fields#
Waflow includes standard fields you can populate:
| Field | Type | Description |
|---|---|---|
| First Name | Text | Contact's first name |
| Last Name | Text | Contact's last name |
| Email address | ||
| Company | Text | Company or organization |
| Notes | Long text | Internal notes about the contact |
| Created At | Date | When the contact was added |
| Updated At | Date | Last modification date |
| Last Message | Date | Last time you messaged them |
| Last Reply | Date | Last time they replied |
Custom Fields#
You can create additional fields to store any data:
- Text: Short text values
- Long Text: Multi-line text
- Number: Numeric values
- Date: Date values
- Dropdown: Select from predefined options
- Checkbox: Yes/no values
- URL: Web links
See Custom Fields for detailed setup instructions.
Adding Contacts#
Manual Entry#
Add individual contacts through the UI:
- Go to Contacts
- Click Add Contact
- Fill in the contact details
- Click Save
Best for adding a few contacts quickly or testing.
CSV Import#
Bulk import contacts from spreadsheets:
- Go to Contacts > Import
- Upload your CSV file
- Map columns to Waflow fields
- Review and confirm
See Import Contacts for the complete guide.
API Integration#
Add contacts programmatically:
curl -X POST https://api.waflow.com/v1/contacts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "+14155551234",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"tags": ["customer", "vip"]
}'
Ideal for integrating with your CRM or other systems.
Webhook Integration#
Automatically add contacts when events occur:
- Form submissions
- E-commerce purchases
- CRM updates
- Custom triggers
Configure webhooks in Settings > Integrations.
Contact List View#
The main Contacts page shows all contacts in a table view:
┌──────────────────────────────────────────────────────────────────┐
│ Contacts [+ Add] [Import] │
├──────────────────────────────────────────────────────────────────┤
│ Search: [________________] Tags: [All ▼] Segment: [All ▼] │
├──────────────────────────────────────────────────────────────────┤
│ □ Phone Name Email Tags Last Msg │
├──────────────────────────────────────────────────────────────────┤
│ □ +14155551234 John Doe [email protected] VIP 2h ago │
│ □ +14155555678 Jane Smith [email protected] Lead 1d ago │
│ □ +14155559012 Bob Wilson [email protected] New 3d ago │
│ ... │
├──────────────────────────────────────────────────────────────────┤
│ Showing 1-50 of 12,345 contacts [< Prev] [Next >] │
└──────────────────────────────────────────────────────────────────┘
Filtering Contacts#
Filter your contact list by:
- Search: Phone, name, email (fuzzy search)
- Tags: Filter by one or more tags
- Segments: Show only segment members
- Custom fields: Filter by any custom field value
- Date ranges: Created date, last message date
- Engagement: Has replied, has opened, etc.
Sorting Contacts#
Sort by clicking column headers:
- Name (A-Z or Z-A)
- Created date (newest or oldest)
- Last message (recent or oldest)
- Last reply (recent or oldest)
Bulk Actions#
Select multiple contacts for batch operations:
- Add tags: Apply tags to selected contacts
- Remove tags: Remove tags from selected contacts
- Delete: Remove selected contacts
- Export: Download selected contacts as CSV
- Add to segment: Include in a static segment
Individual Contact View#
Click on a contact to see their profile:
Contact Profile#
- Full contact information
- All custom field values
- Assigned tags
- Segment memberships
- Internal notes
Conversation History#
View all messages exchanged:
- Outbound messages (from you)
- Inbound messages (from them)
- Message status (sent, delivered, read)
- Timestamps
- Template used
Engagement Timeline#
Track their interactions:
- Campaigns received
- Messages opened
- Links clicked
- Replies sent
- Opt-out events
Edit Contact#
Update any contact information:
- Click Edit on the contact profile
- Modify fields
- Click Save
Changes are logged in the activity history.
Organizing Contacts#
Tags#
Labels for categorizing contacts:
- Quick to apply and remove
- Contacts can have multiple tags
- Use for filtering and campaign targeting
Examples: "VIP," "Lead," "Churned," "Newsletter," "Black Friday"
See Tags & Segments for details.
Segments#
Groups of contacts based on criteria:
Static Segments: Manually selected contacts
- Fixed membership
- Update by adding/removing manually
Dynamic Segments: Rule-based groups
- Automatic membership based on criteria
- Updates when contact data changes
Examples:
- "Customers who purchased in last 30 days"
- "Contacts who haven't replied in 90 days"
- "VIP customers with email addresses"
See Tags & Segments for details.
Contact Engagement#
Message History#
Waflow tracks all messaging activity:
| Metric | Description |
|---|---|
| Messages Sent | Total messages sent to contact |
| Messages Delivered | Successfully delivered messages |
| Messages Read | Messages opened by contact |
| Links Clicked | Click count on tracked links |
| Replies Received | Messages from contact |
Engagement Scoring#
Contacts can be scored based on engagement:
- Opens and reads
- Reply frequency
- Link clicks
- Recency of interaction
Use engagement data to identify:
- Highly engaged contacts (prioritize)
- Unengaged contacts (re-engage or clean up)
- At-risk contacts (win back)
Data Quality#
Duplicate Detection#
Waflow prevents duplicates by phone number. When importing:
- Existing contacts are updated (if configured)
- Or import is skipped for duplicates
- Duplicate report is generated
Invalid Numbers#
Waflow validates phone numbers:
- Format validation (E.164 format)
- Country code validation
- Checksum validation (where applicable)
Invalid numbers are flagged during import and can be reviewed.
Opt-Out Management#
Respecting opt-outs is critical:
- Contacts who reply "STOP" are automatically opted out
- Opted-out contacts cannot receive campaigns
- Opt-outs are logged with timestamp
- Contacts can opt back in by messaging you
Warning Never message opted-out contacts. This violates WhatsApp policies and can result in account restrictions.
Contact Limits#
Workspace contact limits vary by plan:
| Plan | Contact Limit |
|---|---|
| Starter | 5,000 |
| Professional | 25,000 |
| Business | 100,000 |
| Enterprise | Unlimited |
Approaching your limit? Upgrade your plan or clean up inactive contacts.
Data Privacy#
Consent Management#
Track consent status for each contact:
- Consent given date
- Consent source (form, import, etc.)
- Consent type (marketing, transactional)
Data Export#
Contacts have the right to their data:
- Go to a contact's profile
- Click Export Data
- Download JSON file with all their information
Data Deletion#
To delete a contact's data:
- Go to the contact's profile
- Click Delete Contact
- Choose to keep or delete conversation history
- Confirm deletion
For GDPR right-to-be-forgotten requests, use full data deletion.
Best Practices#
Keep Data Clean#
- Regularly remove bounced/invalid numbers
- Clean up contacts who haven't engaged in 6+ months
- Merge duplicates when discovered
- Validate email addresses
Use Tags Effectively#
- Create a tagging system before you start
- Use consistent naming (lowercase, underscores)
- Don't over-tag (5-10 tags per contact max)
- Regularly audit and clean up unused tags
Segment Strategically#
- Start with broad segments, then refine
- Use dynamic segments for automatic updates
- Review segment criteria quarterly
- Test segments before large campaigns
Protect Contact Data#
- Limit team access to contact data
- Don't export to unsecured systems
- Audit contact access regularly
- Respond to data requests promptly
Next Steps#
Ready to build your contact database?
- Import Contacts - Bulk import from CSV
- Tags & Segments - Organize your audience
- Custom Fields - Store additional data