Exporting legacy custom objects using the data export tool

Use the custom object data export tool to download your legacy custom object records and legacy relationship records from Admin Center as CSV files packaged in a ZIP archive. This export is intended to be used as the “extract” step of your migration workflow. You can transform the CSV data as needed and then load it into the new custom objects experience using the Custom Objects APIs or the Admin Center data importer.

Using the export tool

Launch the export tool from Admin Center:

  1. In Admin Center, click Objects and rules in the sidebar, then select Custom objects > Objects.

  2. Click Export Tool in the banner.

  3. Review the list of legacy objects and relationships shown in the export window.

  4. Click Export next to the object or relationship type you want to export.

    The export runs as a background job. You don't need to stay on this page while it runs.

  5. When the job completes, click Download ZIP to download the exported files.

Understanding the export file format

Each export is delivered as a ZIP file. The filename depends on what you export:

  • Object exports: resources_{objectkey}_export.zip
  • Relationship exports: relationships_{relationship_type_key}_export.zip

Exports are split into multiple CSV files to keep large datasets manageable and compatible with tools like Microsoft Excel and Google Sheets.

  • Each CSV file contains up to 20,000 records
  • Datasets larger than 20,000 records are automatically split into batches within the same ZIP file

For example, a dataset with 200,000 records is split into multiple files in the ZIP archive, with filenames like:

  • Object records: {object_key}_batch_1.csv, {object_key}_batch_2.csv, and so on
  • Relationship records: {relationship_type_key}_batch_1.csv, {relationship_type_key}_batch_2.csv, and so on

The columns in your exported files depend on the type of data being exported. Relationship records always have the same three columns, but object records have columns for the standard fields and all custom fields defined in the legacy custom object's schema.

Object records CSV columns

ColumnDescription
idUnique system id for the legacy record
external_idYour custom identifier (if set)
updated_atTimestamp of the last update
{field names}One column per custom field defined in the legacy schema

Relationship records CSV columns

ColumnDescription
idUnique relationship record id
source_idid of the source legacy object record
target_idid of the target legacy object record

Example output

The following examples show what exported objects and relationship records look like in CSV format.

Example: Contract records

idexternal_idupdated_atcontract_activecontract_amountcontract_end_datecontract_idcontract_type
5ba05309-0606-11f1-adb8-c39cdaefd3422026-02-09 22:26:20.0TRUE2002026-12-12Contract #1Individual
5bb4c56b-0606-11f1-adb8-7b1d048effc52026-02-09 22:26:20.0TRUE3002026-12-13Contract #2Combined
5bc58e4b-0606-11f1-95c1-df928a0ddb002026-02-09 22:26:20.0TRUE4002026-12-14Contract #3Combined
5be216fd-0606-11f1-95c1-696b5c2e0f032026-02-09 22:26:21.0TRUE5002026-12-15Contract #4Combined
5bf81001-0606-11f1-aede-372d005a32222026-02-09 22:26:21.0TRUE6002026-12-16Contract #5Individual
ad5a42a5-0606-11f1-b67a-0bc5d229d0232026-02-09 22:28:37.0TRUE7002026-12-17Contract #6Individual

Example: Vehicle record with a complex field

idexternal_idupdated_atmakemodelspecs
d6dbec423a2026-01-27HondaCivic{"engine":"1.5L Turbo","mpg":33.5}

Example: Owner-to-car relationship record

idsource_idtarget_id
0afb9bb1532e520bfg232c99866h98