> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Export Your Data

> Complete step-by-step guide to exporting data from Twenty.

export const VimeoEmbed = ({videoId, title = 'Video'}) => <div style={{
  padding: '69.01% 0 0 0',
  position: 'relative',
  margin: '32px 0px',
  borderRadius: '16px',
  overflow: 'hidden',
  border: '2px solid black'
}}>
    <iframe src={`https://player.vimeo.com/video/${videoId}?autoplay=1&loop=1&autopause=0&background=1&app_id=58479`} frameBorder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style={{
  position: 'absolute',
  top: 0,
  left: 0,
  width: '100%',
  height: '100%',
  transform: 'scale(1.1)'
}} title={title} />
  </div>;

## Overview

Export your workspace data to CSV for backups, reporting, or migration.

**Use cases:**

* **Regular backups** — keep copies of your data
* **External reporting** — analyze data in Excel, Google Sheets, or BI tools
* **Migration** — move data to another system
* **Bulk updates** — export, edit, and re-import to update records

## What You Need to Know

### Export Limits

* **Maximum 20,000 records** per export
* Only **visible columns** are exported
* Only **filtered records** are exported (based on your current view)

<Note>For larger exports (20,000+ records), use filters to export in batches or use the [API](/developers/extend/api).</Note>

### Permissions

You need the **"Export CSV"** permission to export data. Contact your workspace admin if you don't have this option.

## Step 1: Navigate to the Object

Go to the object you want to export:

* **People** — for contacts
* **Companies** — for organizations
* **Opportunities** — for deals
* **Custom objects** — any object you've created

## Step 2: Configure Your View

**Important:** The export includes only what's visible in your current view.

### Add/Remove Columns

1. Click **Options → Fields** (or the **+** at the end of columns)
2. Check the fields you want to export
3. Uncheck fields you don't need

### Filter Records (Optional)

If you only need a subset of data:

1. Click **Filter**
2. Add filter conditions (e.g., "Created date > January 1, 2024")
3. Only matching records will be exported

### Sort Records (Optional)

1. Click a column header to sort
2. The export will follow your sort order

<Note>**Create a dedicated export view.** Save a view specifically configured for exports so you don't need to reconfigure each time.</Note>

## Step 3: Export the Data

1. Click the **⋮** icon on the top right of the table
2. Select **Export view**
3. Choose where to save the CSV file
4. Wait for the download to complete

## What Gets Exported

| Included                         | Not Included           |
| -------------------------------- | ---------------------- |
| All visible columns              | Hidden columns         |
| Records matching current filters | Filtered-out records   |
| Custom field values              | Fields not in the view |
| Record IDs                       | File attachments       |
| Relation IDs                     | Images                 |

### Relation Fields

Relation IDs are only exported on the **"many" side** of a relationship:

* **People export** includes a `companyId` column (People → Company relation)
* **Companies export** does NOT include `peopleIds` (Companies is the "one" side)

This means you can use the People export to re-import and maintain the Company link, but you'll need to re-import People after Companies to recreate the relationships.

## Exporting for Specific Purposes

### For Backups

1. Create a view with **all fields** visible
2. Remove all filters to include all records
3. Export each object type separately
4. Store exports in a secure location
5. Set a recurring reminder (weekly/monthly)

### For External Reporting

1. Include only the fields you need for analysis
2. Apply filters to focus on relevant data
3. Consider sorting by the field you'll analyze

### For Bulk Updates

1. Export the records you want to update
2. Include the unique identifier (`email`, `domain`, or `id`)
3. Edit the exported file
4. Re-import to update records
   See: [How to Update Existing Records](/user-guide/data-migration/how-tos/update-existing-records-via-import)

### For Migration

If you're exporting to migrate to another system:

1. **Export each object separately** — People, Companies, Opportunities, etc.
2. **Include ID fields** — these help maintain relationships
3. **Document field mappings** — note how Twenty fields map to your target system

## Handling Large Datasets (20,000+ Records)

The export limit is 20,000 records. For larger datasets:

### Option 1: Export in Batches

1. Add a filter (e.g., "Created date" ranges)
2. Export the first batch
3. Change the filter
4. Export the next batch
5. Combine files in your spreadsheet

**Example filters for batching:**

* By date range (January, February, March...)
* By owner (Team member A, Team member B...)
* By status (Active, Inactive...)

### Option 2: Use the API

The API has no record limit:

1. Get your API key from **Settings → Developers**
2. Use the GraphQL API to query records
3. Process results in your application

See: [API Documentation](/developers/extend/api)

## Tips and Best Practices

### Create Export Views

Save views configured specifically for exports:

1. Configure columns and filters
2. Click **View options** → **Save as new view**
3. Name it "Export - \[Purpose]"

### Secure Your Exports

Exported files may contain sensitive data:

* Store in secure locations
* Delete old exports when no longer needed
* Be careful sharing export files

### Check Before Exporting

<Check>Correct columns are visible</Check>
<Check>Filters are set correctly (or removed for full export)</Check>
<Check>You have Export permission</Check>

## FAQ

<AccordionGroup>
  <Accordion title="Why are some columns missing from my export?">
    Only visible columns are exported. Add the columns you need via **Options → Fields** before exporting.
  </Accordion>

  <Accordion title="Why doesn't my export have all records?">
    Check your filters. The export only includes records matching your current view filters. Remove filters to export all records.
  </Accordion>

  <Accordion title="Can I export more than 20,000 records?">
    Not in a single export. Use filters to export in batches, or use the API for larger datasets.
  </Accordion>

  <Accordion title="What format is the export file?">
    CSV (Comma Separated Values). Opens in Excel, Google Sheets, or any spreadsheet application.
  </Accordion>

  <Accordion title="Are relation IDs included?">
    Yes, but only on the "many" side of relationships. For example, a People export includes `companyId`, but a Companies export does not include people IDs.
  </Accordion>

  <Accordion title="Can I automate exports?">
    Not directly through the UI. Use the API to build automated export workflows.
  </Accordion>
</AccordionGroup>

## Next Steps

* [How to Update Existing Records](/user-guide/data-migration/how-tos/update-existing-records-via-import) — edit and re-import your export
* [How to Import Data via API](/user-guide/data-migration/how-tos/import-data-via-api) — for large datasets
* [API Documentation](/developers/extend/api) — build custom export workflows
