Skip to main content
Import data from CSV files, spreadsheets, or other CRMs to get started quickly with Twenty.

Import Overview

Twenty’s import tool helps you:
  • Import CSV files - From Excel, Google Sheets, or exports
  • Map fields - Match your columns to Twenty fields
  • Handle duplicates - Skip, update, or create new records
  • Preview data - Review before importing
  • Track progress - Monitor import status

Preparing Your Data

Before importing, prepare your CSV file:

CSV File Requirements

File Format

  • UTF-8 encoding
  • Comma-separated (,)
  • First row contains headers
  • Max file size: 100 MB

Data Quality

  • Clean data (remove formatting)
  • Consistent date formats
  • Valid email addresses
  • Remove duplicate rows

Data Cleaning Tips

1

Remove unnecessary columns

Delete columns you don’t need in Twenty.
2

Standardize formats

Ensure consistency:
Dates: YYYY-MM-DD (2026-03-15)
Phone: +1-555-123-4567
Currency: 50000 (no $ or commas)
Boolean: true/false or 1/0
3

Clean text fields

Remove:
  • Extra spaces
  • Line breaks (unless intended)
  • Special characters that cause issues
4

Handle empty values

Decide how to handle:
  • Leave blank or use default
  • “N/A” or actual empty

Importing Data

Step-by-Step Import

1

Navigate to import

Go to the object you want to import to:
  • Companies, People, Opportunities, or custom object
  • Click Options (···) → Import
2

Upload CSV file

  • Click Upload CSV or drag and drop
  • File uploads and parses
  • See column preview
3

Map fields

Match CSV columns to Twenty fields:
CSV Column → Twenty Field
"Company Name" → Name
"Website URL" → Website
"Industry" → Industry
"Annual Sales" → Annual Revenue
"Contact Email" → Email
"Phone" → Phone Number
  • Auto-mapping suggests matches
  • Manually adjust as needed
  • Unmapped columns are skipped
4

Set duplicate handling

Choose what to do with duplicates:Match by: Email, Name, or custom fieldWhen match found:
  • Skip - Don’t import duplicate
  • Update - Overwrite existing record
  • Create - Add as new record
5

Preview import

Review sample records:
  • See how data will import
  • Check field mappings
  • Verify values look correct
6

Start import

Click Import to begin.
  • Progress bar shows status
  • See success/error counts
  • Import runs in background
7

Review results

Check import summary:
Total rows: 1,000
Successfully imported: 950
Updated: 30
Skipped (duplicates): 15
Failed: 5
Download error report for failed rows.

Field Mapping

Auto-Mapping

Twenty automatically suggests mappings based on:
  • Column name similarity
  • Data type compatibility
  • Common field names
Example auto-mapping:
"Company" → Name
"Email" → Email Address
"Phone" → Phone Number
"City" → City
"State" → State

Manual Mapping

Adjust mappings when auto-mapping is wrong:
  1. Click the dropdown for a CSV column
  2. Select the correct Twenty field
  3. Or choose Don’t import to skip

Field Type Compatibility

Accept any value:
CSV: "Acme Corporation"
Twenty: Name field (Text)

Handling Duplicates

Duplicate Detection

Twenty identifies duplicates by comparing: Primary matching fields:
  • Email - For People
  • Domain - For Companies
  • Name - For any object
  • Custom field - You specify

Duplicate Strategies

Leave existing records unchanged:
Strategy: Skip

Existing: John Doe ([email protected])
Import: John Smith ([email protected])
Result: Import skipped, John Doe unchanged

Use when: Existing data is more accurate
Overwrite existing records:
Strategy: Update

Existing: 
  Name: Acme Corp
  Phone: 555-1234
  Revenue: 1000000

Import:
  Name: Acme Corporation
  Phone: 555-5678
  Revenue: 1500000

Result:
  Name: Acme Corporation (updated)
  Phone: 555-5678 (updated)
  Revenue: 1500000 (updated)

Use when: Import has newer/better data
Allow duplicate records:
Strategy: Create Anyway

Existing: John Doe ([email protected])
Import: John Doe ([email protected])
Result: Second "John Doe" created

Use when: Duplicates are intentional (e.g., different roles)
This creates duplicate data. Clean up duplicates later if needed.

Import Examples

Example 1: Importing Companies

CSV File:
Company Name,Website,Industry,Employees,Annual Revenue
Acme Corp,acme.com,Technology,500,5000000
Global Inc,globalinc.com,Finance,1200,15000000
Startup LLC,startup.io,Technology,25,500000
Field Mapping:
"Company Name" → Name
"Website" → Website
"Industry" → Industry
"Employees" → Employee Count
"Annual Revenue" → Annual Revenue
Settings:
Duplicate Detection: By Website domain
On Duplicate: Update
Result:
  • 3 companies imported
  • If acme.com exists, it’s updated
  • New companies created for others

Example 2: Importing People with Relations

CSV File:
First Name,Last Name,Email,Job Title,Company,Phone
John,Doe,[email protected],CEO,Acme Corp,555-1234
Jane,Smith,[email protected],CTO,Acme Corp,555-5678
Bob,Jones,[email protected],Founder,Startup LLC,555-9999
Field Mapping:
"First Name" → First Name
"Last Name" → Last Name
"Email" → Email
"Job Title" → Job Title
"Company" → Company (Relation, match by name)
"Phone" → Phone Number
Settings:
Duplicate Detection: By Email
On Duplicate: Update
Relation Handling:
  Company not found: Create new company
Result:
  • 3 people imported
  • Linked to existing companies or new ones created
  • If email exists, person updated

Import Best Practices

Before importing thousands of records:
  1. Create CSV with 10-20 test rows
  2. Run import
  3. Verify data looks correct
  4. Check field mappings
  5. Then import full dataset
Better to fix in source:
  • Remove duplicates in CSV
  • Standardize formats
  • Validate emails and phones
  • Fill required fields
Saves time and reduces errors.
Don’t skip columns you’ll need later:
  • Review all CSV columns
  • Map everything relevant
  • Unmapped data is lost
Consider your data:
  • Skip: When existing data is authoritative
  • Update: When import has latest info
  • Create: When duplicates are valid
For failed rows:
  1. Download error CSV
  2. Fix issues
  3. Re-import failed rows
Common errors:
  • Invalid email format
  • Number in text field
  • Select option doesn’t exist
  • Required field missing

Troubleshooting Imports

Import Failed

Common causes:
  • File too large (>100 MB)
  • Invalid CSV format
  • Encoding issues (not UTF-8)
  • Corrupted file
Solutions:
  • Split large files
  • Re-export as UTF-8 CSV
  • Check file isn’t corrupted

Many Rows Failed

Check:
  • Field type compatibility
  • Required fields populated
  • Select options exist
  • Date formats correct
Download error report to see specific issues.

Relations Not Linking

Causes:
  • Relation matching field incorrect
  • Values don’t match exactly
  • Related records don’t exist
Solutions:
  • Verify matching field
  • Check for typos/extra spaces
  • Import related records first
  • Enable “Create if not found”

Duplicates Created Unexpectedly

Causes:
  • Duplicate detection field wrong
  • Matching too strict (case-sensitive)
  • Empty match fields
Solutions:
  • Review duplicate settings
  • Clean up duplicates after import
  • Re-import with correct settings

After Importing

1

Verify data

Check a sample of imported records:
  • Fields populated correctly
  • Relations linked
  • No obvious errors
2

Clean up duplicates

If duplicates created:
  • Use duplicate management tool
  • Merge similar records
  • Delete true duplicates
3

Enrich data

Add missing information:
  • Fill in optional fields
  • Update outdated info
  • Add notes and context
4

Set up workflows

Automate future data entry:
  • Auto-assign records
  • Calculate scores
  • Send notifications

Next Steps

Exporting Data

Learn how to export data from Twenty

Data Migration

Migrate from other CRM systems

Build docs developers (and LLMs) love