Files
twenty/packages/twenty-docs/user-guide/data-migration/how-tos/export-your-data.mdx
T
882e9fd231 Docs: restructure Extend section with API, Webhooks, and Apps pages (#18517)
## Summary
- Restructures the developer Extend documentation: moves API and
Webhooks to top-level pages, creates dedicated Apps section with Getting
Started, Building, and Publishing pages
- Updates navigation structure (`docs.json`, `base-structure.json`,
`navigation.template.json`)
- Updates translated docs for all locales and LLMS.md references across
app packages

## Test plan
- [ ] Run `mintlify dev` locally and verify navigation structure
- [ ] Check that all links in the Extend section work correctly
- [ ] Verify translated pages render properly


Made with [Cursor](https://cursor.com)

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2026-03-10 10:00:20 +01:00

187 lines
6.4 KiB
Plaintext

---
title: Export Your Data
description: Complete step-by-step guide to exporting data from Twenty.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## 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