Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/twentyhq/twenty/llms.txt

Use this file to discover all available pages before exploring further.

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 (john@company.com)
Import: John Smith (john@company.com)
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 (john@company.com)
Import: John Doe (john@company.com)
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,john@acme.com,CEO,Acme Corp,555-1234
Jane,Smith,jane@acme.com,CTO,Acme Corp,555-5678
Bob,Jones,bob@startup.io,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