Contact Management: CSV Import and Custom Fields for Voice AI Campaigns
Learn how to manage contacts for voice AI campaigns with CSV imports, custom fields, duplicate detection, and do-not-contact lists. Complete guide to contact management in Burki.
Table of Contents▼
Managing contacts effectively is the foundation of successful voice AI campaigns. Whether you're running appointment reminders, lead qualification calls, or customer surveys, how you organize and import your contact data directly impacts campaign success rates.
Burki's contact management system handles the complexity of bulk imports, custom data fields, and compliance requirements so you can focus on what matters: connecting with your customers through intelligent voice AI.
Why Contact Management Matters for Voice AI
Voice AI campaigns are only as good as the data behind them. Poor contact data leads to:
- Wasted minutes calling disconnected numbers
- Compliance violations from calling opted-out contacts
- Failed personalization when custom fields are missing
- Duplicate calls that frustrate customers and inflate costs
A robust contact management system prevents these issues before they happen.
CSV Import: Bulk Contact Upload
The fastest way to populate your campaign is through CSV import. Burki accepts standard CSV files with flexible column mapping.
Supported Import Formats
| Format | Extension | Max Size | Encoding |
|---|---|---|---|
| CSV | .csv | 50MB | UTF-8 |
| JSON | .json | 50MB | UTF-8 |
Required Fields
Every contact needs at minimum:
- Phone Number: E.164 format preferred (e.g., +14155551234)
- Name: First name, last name, or full name
Column Mapping
Burki's intelligent column mapper automatically detects common field names:
| Auto-Detected | Variations Recognized |
|---|---|
| Phone | phone, phone_number, mobile, cell, telephone |
| First Name | first_name, firstname, fname, first |
| Last Name | last_name, lastname, lname, last |
| email, email_address, e-mail | |
| Company | company, company_name, organization, org |
For non-standard columns, manually map them during import.
Import Process
- Upload File: Drag and drop your CSV or click to browse
- Map Columns: Match your columns to Burki fields
- Preview Data: Review the first 10 rows for accuracy
- Handle Duplicates: Choose skip, update, or create new
- Import: Process begins with real-time progress
Phone Number Validation
During import, phone numbers are automatically:
- Formatted to E.164 international standard
- Validated against known patterns
- Flagged if potentially invalid
- Deduplicated against existing contacts
Invalid numbers are logged but don't block the import. You can review and fix them after.
Custom Fields: Personalize Every Call
Generic calls convert poorly. Custom fields let you personalize every conversation with data specific to each contact.
Built-in System Fields
Every contact includes these fields automatically:
| Field | Description | Editable |
|---|---|---|
| phone | Primary contact number | Yes |
| first_name | Contact's first name | Yes |
| last_name | Contact's last name | Yes |
| Email address | Yes | |
| created_at | When contact was added | No |
| updated_at | Last modification time | No |
| last_called | Most recent call timestamp | No |
| call_count | Total calls to this contact | No |
Creating Custom Fields
Add fields specific to your use case:
For Real Estate:
- property_address
- listing_price
- bedrooms
- showing_date
For Healthcare:
- appointment_date
- provider_name
- appointment_type
- insurance_provider
For Sales:
- company_name
- deal_value
- lastcontactdate
- lead_source
Field Types
| Type | Use Case | Example |
|---|---|---|
| Text | Names, addresses | "123 Main St" |
| Number | Quantities, IDs | 50000 |
| Date | Appointments, deadlines | "2026-01-25" |
| Boolean | Yes/no flags | true |
| Select | Predefined options | "hot", "warm", "cold" |
Using Custom Fields in Campaigns
Reference fields in your campaign templates with Jinja2 syntax:
Hello {{first_name}}, this is a reminder about your appointment
on {{appointment_date}} with {{provider_name}}.The template engine automatically substitutes values for each contact.
Duplicate Detection and Handling
Duplicate contacts waste resources and annoy customers. Burki's duplicate detection catches them before they cause problems.
Detection Methods
Phone Number Matching The primary deduplication key. Two contacts with the same phone number (after normalization) are considered duplicates.
Fuzzy Name Matching Optional secondary check. Catches variations like "Bob Smith" vs "Robert Smith" if phone numbers differ slightly.
Import Duplicate Handling
When importing contacts that already exist:
| Option | Behavior |
|---|---|
| Skip | Keep existing record, ignore new data |
| Update | Merge new data into existing record |
| Create | Add as new contact (allows duplicates) |
The "Update" option is most common—it refreshes contact data while preserving call history.
Manual Deduplication
For existing duplicates:
- Navigate to Contacts → Duplicates
- Review suggested matches
- Choose primary record
- Merge or delete duplicates
Merged contacts combine call history from both records.
Do-Not-Contact Lists: Compliance Built In
Respecting contact preferences isn't just good practice—it's legally required for many use cases.
DNC List Types
Internal DNC Contacts who've requested not to be called by your organization. Automatically populated when contacts opt out.
Campaign-Specific DNC Contacts excluded from specific campaigns but available for others.
Global DNC Numbers that should never be called, regardless of campaign or organization.
Adding Contacts to DNC
Manual Addition Add individual numbers through the dashboard or API.
Automatic Opt-Out When your AI assistant hears phrases like "don't call me again" or "remove me from your list," contacts are automatically flagged for DNC review.
Bulk Import Upload a CSV of numbers to add to your DNC list.
DNC Enforcement
Before each call, Burki checks:
- Internal organization DNC list
- Campaign-specific exclusions
- Previous opt-out requests
- Call frequency limits
Contacts on any DNC list are automatically skipped—no manual intervention required.
Contact Segmentation
Not all contacts should receive the same campaign. Segmentation lets you target specific groups.
Segment by Custom Fields
Create segments based on any field:
- Lead Score > 80: Hot leads get priority calling
- Last Contact > 30 days: Re-engagement campaign
- Industry = Healthcare: HIPAA-compliant messaging
Segment by Call History
Target based on previous interactions:
- Never Called: First-time outreach
- No Answer (3x): Try different time
- Completed Call: Follow-up sequence
Dynamic Segments
Segments update automatically as contact data changes. A contact who was "warm" yesterday might be "hot" today based on new activity.
Contact Enrichment
Incomplete contact data limits personalization. Enrichment fills in the gaps.
Auto-Fill from Calls
After a call completes, structured data extraction can update contact fields:
- Confirmed appointment times
- Updated contact preferences
- New requirements mentioned
- Objections raised
Third-Party Integration
Connect CRM systems to sync contact data:
- Salesforce: Bi-directional sync
- HubSpot: Contact and company data
- Custom API: Webhook-based enrichment
Best Practices for Contact Management
Data Hygiene
Regular Cleanup Monthly review of contacts with:
- No answer in 5+ attempts
- Invalid phone numbers
- Duplicate entries
Number Verification Before large campaigns, verify phone numbers are still active. Disconnected numbers waste calling minutes.
Import Workflows
Staging Environment Test imports with a small sample before processing full lists. Catch mapping errors early.
Backup Before Update When updating existing contacts, export current data first. Easy rollback if something goes wrong.
Compliance Documentation
Consent Records Track where each contact came from and what consent was provided. Essential for TCPA compliance.
Audit Trail Burki logs all contact modifications—who changed what, when. Required for many compliance frameworks.
API Access
Manage contacts programmatically for integration with your systems.
Create Contact
curl -X POST https://api.burki.dev/v1/contacts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "+14155551234",
"first_name": "John",
"last_name": "Smith",
"custom_fields": {
"company": "Acme Corp",
"lead_score": 85
}
}'Bulk Import
curl -X POST https://api.burki.dev/v1/contacts/import \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]" \
-F "duplicate_handling=update"Search Contacts
curl "https://api.burki.dev/v1/contacts?search=acme&limit=50" \
-H "Authorization: Bearer YOUR_API_KEY"Frequently Asked Questions
What phone number formats does Burki accept?
Burki accepts most common formats and normalizes them to E.164 automatically. Examples: (415) 555-1234, 415-555-1234, +1 415 555 1234, 14155551234. International numbers require country code.
How many contacts can I import at once?
CSV imports support up to 50MB files, typically 100,000+ contacts depending on field count. For larger imports, split into multiple files or use the bulk API.
Can I import contacts with missing fields?
Yes. Only phone number is strictly required. Missing fields are left blank and can be populated later through enrichment or manual updates.
How do I handle contacts who change their phone number?
Create a new contact with the new number, then merge with the existing contact to preserve call history. The old number is kept as a secondary contact method.
Are contact imports HIPAA compliant?
Yes. Contact data is encrypted in transit and at rest. For healthcare use cases, ensure your BAA is in place before importing PHI. Avoid including unnecessary health information in contact records.
How long is contact data retained?
Contact data is retained according to your organization's data retention policy (configurable). Default is indefinite retention until manual deletion. GDPR-compliant deletion is available on request.
Get Started with Contact Management
Effective contact management is the foundation of successful voice AI campaigns. With Burki's CSV import, custom fields, and built-in compliance tools, you can focus on conversations rather than data wrangling.
Ready to import your first contacts? Start your free trial with 200 minutes included—no credit card required.
Last updated: January 2026
Ready to try Burki?
Start your 200-minute free trial today. No credit card required.
Start Free Trial200 free minutes included. No credit card required.