# Contact Management

> Learn how to manage your WhatsApp contacts in Waflow, including the contact database structure, import options, and organization tools.

Source: https://edesy.in/docs/waflow/contacts

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** | Email | 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](https://edesy.in/docs/waflow/contacts/custom-fields) for detailed setup instructions.

## Adding Contacts

### Manual Entry

Add individual contacts through the UI:

1. Go to **Contacts**
2. Click **Add Contact**
3. Fill in the contact details
4. Click **Save**

Best for adding a few contacts quickly or testing.

### CSV Import

Bulk import contacts from spreadsheets:

1. Go to **Contacts** > **Import**
2. Upload your CSV file
3. Map columns to Waflow fields
4. Review and confirm

See [Import Contacts](https://edesy.in/docs/waflow/contacts/import-contacts) for the complete guide.

### API Integration

Add contacts programmatically:

```bash
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": "john@example.com",
    "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       john@ex.com     VIP    2h ago   │
│ □ +14155555678   Jane Smith     jane@ex.com     Lead   1d ago   │
│ □ +14155559012   Bob Wilson     bob@ex.com      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:

1. Click **Edit** on the contact profile
2. Modify fields
3. 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](https://edesy.in/docs/waflow/contacts/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](https://edesy.in/docs/waflow/contacts/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:

1. Go to a contact's profile
2. Click **Export Data**
3. Download JSON file with all their information

### Data Deletion

To delete a contact's data:

1. Go to the contact's profile
2. Click **Delete Contact**
3. Choose to keep or delete conversation history
4. 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](https://edesy.in/docs/waflow/contacts/import-contacts) - Bulk import from CSV
- [Tags & Segments](https://edesy.in/docs/waflow/contacts/tags-segments) - Organize your audience
- [Custom Fields](https://edesy.in/docs/waflow/contacts/custom-fields) - Store additional data
