xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
Auto DMSConsumer Goods DMSSales Force Automation (SFA) FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Administration/Export data
HOW-TO · Last reviewed

Export data

Data Export is the administrator's tool for getting records out of xMatix as an Excel or CSV file: you describe one query — an entity, the fields you want (including fields of related records), filters and a sort order — preview it, and a background job writes the file for you to download. It is the "out" half of bulk data work: export records, change them in a spreadsheet, and bring them back with Import data; or hand a data set to another system or an auditor.

Overview

The screen lives at Setup → Platform → Data → Export and opens on the page titled Data Export (Export entity data to Excel or CSV as a background job). Its body is the Export History table; its one action, Start export in the page header, opens a five-step wizard: Entity → Columns → Sort & filter → Records → Preview. Submitting the wizard queues a job; the job writes the file, stores it for 7 days, and the history row offers the download.

When to use it

  • You need a full or filtered extract of one entity, with related-record columns flattened onto each row.
  • You want to bulk-update records: export with Id, edit the file, import it back.
  • The extract is larger than a list can export — Data Export splits very large results into several files instead of stopping at a row cap.

When an ordinary user needs to download what they see in a list, use the Export widget on that list instead (see Common questions); Data Export is an administrative grant.

How xMatix handles it

  • Tenant boundary only. The query is built directly over your organization's data. It applies the organization boundary and leaves out deleted records, and nothing else: no sharing rules, no record-level security, no field-level security, no list-view filter. Every record of the entity that matches your filters, and every field you tick, lands in the file. Treat the capability as a data-administration grant and the file as sensitive.
  • Stored values, not display text. Pick-list fields carry their stored value (the code an import matches), lookups carry the related record's id unless you add fields of the related record, and dates are written as stored, without converting to your time zone.
  • Import-ready headers. Each column header is the field's API name (for example Email); a column from a related record is Prefix.Field (for example Account.Name). These are the names Import data recognises, so an exported file maps itself when you import it back.
  • Background job. Preview runs live on the screen; the file itself is written by a job that first counts the rows, then writes up to 1,000,000 rows per file.

Prerequisites

  • The Data Export capability (setup.data.export.manage) on one of your security profiles. It shows the Export item under Setup → Platform → Data and gates every export request: preview, submit, history and download.
  • A plan for where the file goes. Files are deleted 7 days after the job finishes; the history row stays.

Procedure

Step 1 — Open Data Export and pick the entity

Go to Setup → Platform → Data → Export and select Start export in the page header. On the Entity step, choose the entity in the searchable Select an entity to export… list; it offers every entity that is not hidden, sorted by label. The entity is the starting point of the query: you can add fields of related records in the next step, but an unrelated entity needs its own export. Until you choose, the primary button reads Pick an entity to continue and is disabled; then it reads Next. Reset at the bottom left clears the whole wizard at any step, and Back returns to the previous step.

Step 2 — Choose the columns

The Columns step of the Start export wizard for the Account entity, with the Fields & Relations tree on the left and the Selected Fields panel on the right

The Fields & Relations card lists, under <Entity> fields, every visible field as Label (FieldName). A lookup field appears as an expandable node named after the related entity instead of as a plain field: expand it and tick the related record's fields (for example the account's Name). Below the entity's fields, ↓ Child (Collection) lists child records (for example an order's lines), and ↑ Parent (Lookup) lists any parent relation not reached through a field. Each related entity can be expanded one level further, so an order export can carry its account's owner as well.

  • Select common ticks Name plus every field that is neither a system field nor a lookup.
  • Search fields… filters the tree.
  • The Selected Fields card lists your choices. Drag the main entity's chips to set the column order; related-record columns follow them.
  • With nothing ticked, the card says No columns selected — all fields will be exported. Narrow the export here rather than in the spreadsheet afterwards.

Ticking fields of a child collection gives one row per child record (a parent with no children still gives one row), so expect more rows than records of the main entity.

Step 3 — Sort and filter

The Sort & filter step has two tabs; the count of rows on each shows in its title.

  • Sort (opens first): Add sort adds a row where you pick a Field and tick Descending if needed. With no rows, No sorting applied. Records export in default order. Sorting matters when you cap the record count in the next step — the sort decides which rows survive.
  • Filter: Add filter adds a row of Field, operator and Value. The operators are Equals, Not equals, Contains, Starts with, Ends with, Greater than, Greater or equal, Less than, Less or equal, Is null and Is not null (the last two need no value). A pick-list field offers its values in a dropdown; other fields take typed text. Fields of the relations you ticked can be filtered and sorted too. All filter rows must match.

Remove a row with its red × button.

Step 4 — Set the record limit and file format

The Records step of the Start export wizard, with No limit selected under Records to export and Excel selected under File format

On Records & format:

  • Records to export — No limit (all matching) (default) exports every matching row, split into files of up to 1,000,000 rows each. Limit to top N shows a Top box (default 100,000) and keeps only that many rows in the chosen sort order.
  • File format — Excel (.xlsx) (default) or CSV (.csv).

There are no other output options: headers, date format and value format are fixed (see Format notes), and attachments are never included.

Step 5 — Preview and submit

The Preview step runs the real query against live data. Choose Top 10, Top 25 or Top 50 and use the refresh button after changing anything. Export Lines (n) shows the sample, and Exporting n rows is an exact count of the rows the file will hold (all matching rows, or your top-N cap if that is smaller) — compare it with what you expect before you commit. Id cells link to the records so you can spot-check them in a new tab. If the query is wrong, an Error: line explains why and Submit export stays disabled.

Select Submit export. The wizard closes, an Export queued message shows the job id, and a new row appears at the top of Export History as Queued.

Step 6 — Download from Export History

Export History lists every export job in your organization, newest first: Job ID (the first eight characters; hover for the full id, click to copy), Status, Entity, Format, Rows, File, Expires, Submitted and Submitted By. The table header has search, a filter on Job ID, Status, Entity, Format and Submitted By, and refresh; while any job is Queued, Published or Processing the table refreshes itself every five seconds.

A job moves Queued → Processing → Completed. When it is Completed, the File cell offers:

  • Download for a single file, named <Entity>_<date>.xlsx or .csv;
  • ZIP (n) for a split export: the button downloads every part in one archive, and its dropdown lists each part as Part n · rows to download one at a time.

Failed in the File cell means the job stopped; hover over it for the reason. After the Expires time the File cell shows a dash and only the history row remains.

Expected result: the row reads Completed, Rows matches the preview's Exporting n rows, every part downloads, and a spot check of the file shows the columns, filters and order you previewed.

Format notes

FormatWhat you get
Excel (.xlsx)One worksheet named after the entity; a bold, shaded header row frozen at the top; autofilter on; every column 20 characters wide. Numbers, dates and true/false values are real Excel values.
CSV (.csv)A comma-separated header row and data, UTF-8 with a byte-order mark so spreadsheet tools open it correctly; dates as yyyy-MM-dd HH:mm:ss; values containing commas, quotes or line breaks are quoted.

Both formats carry the same rows and columns for the same query, with headers in the import dialect: FieldName for the entity's own fields and Prefix.Field for related-record fields. Choose CSV when the file feeds a script, another system or a later re-import; choose Excel when people will read or hand-edit it. A split export repeats the header row at the top of every part, and parts are named <Entity>_<date>-1, -2 and so on.

Business rules

  • Row splitting — at most 1,000,000 data rows per file (never more than one Excel sheet can hold).
  • File ceiling — one export may produce at most 20 files. The job counts the rows first; if the result would need more files it fails before writing anything, with a message that says how many files it would produce and asks you to narrow the filter or set a record limit.
  • Time limit — the preview, the row count and each file's query each have 30 seconds. A query that runs longer fails with a timeout. Add a filter or remove columns from large child collections.
  • Deleted records are never exported.
  • Retention — a completed job's files can be downloaded for 7 days from completion and are then removed. A job that never completed has no file.
  • Every submit is a new job. Selecting Submit export twice queues two exports.

Example

An administrator needs to correct the e-mail domain on a few hundred contacts after a company rebrand.

  1. They open Setup → Platform → Data → Export, select Start export and choose Contact.
  2. On Columns they tick Id, Name and Email, and under the account lookup node they tick Name so each row shows the company.
  3. On Sort & filter, Filter tab, they add Email · Ends with · @oldbrand-example.com; on Sort they add Name.
  4. They keep No limit and choose CSV (.csv).
  5. Preview shows Exporting 312 rows; the sample looks right, so they select Submit export.
  6. A minute later the history row reads Completed, 312 rows. They download Contact_2026-11-01.csv, replace the domain in the Email column, delete the account name column, and import the file with Data Import. Because each row carries Id, the import updates the 312 contacts instead of creating new ones.

Training

Practice exercise

In a sandbox, export up to 50 contacts to Excel with the name of each contact's account:

  1. Start an export of Contact; tick Id, Name, Email and one pick-list field of your choice; drag Email to the front of the Selected Fields chips. Expand the Account node and tick its Name.
  2. On Sort & filter, add a Filter row Email · Is not null, add a Sort row on Name, and on Records choose Limit to top N with 50.
  3. On Preview, confirm Exporting n rows is 50 or fewer and that the columns are in the order you dragged them.
  4. Submit, wait for Completed, and download.

Expected result: an .xlsx file whose header row starts Email, then your other fields by API name, then Account.Name; at most 50 rows sorted by name; and the pick-list column showing stored values rather than labels.

Quick reference

  • Menu: Setup → Platform → Data → Export, then Start export.
  • Five steps: Entity, Columns, Sort & filter, Records, Preview.
  • Nothing ticked on Columns = every field.
  • Child-collection columns give one row per child.
  • Sort before you cap with Limit to top N.
  • Headers are field names (Prefix.Field for related fields) — ready for re-import.
  • Up to 1,000,000 rows per file, 20 files per job, 30 seconds per query.
  • Files expire 7 days after the job; re-run rather than hunt for old files.
  • No record-level or field-level security is applied to the file.

Permissions

WhatWho can do it
See Export under Setup → Platform → DataHolders of setup.data.export.manage
Preview, submit, see Export History, download any fileHolders of setup.data.export.manage

The capability is all-or-nothing: whoever holds it sees and can download every export in the organization, including other administrators' files, for as long as they are kept. Without it the menu item is hidden and every export request is refused, including a download link shared by someone else. Grant it on a security profile only to people trusted with the whole data set.

Configuration

Data Export has no tenant setting of its own: there is no screen to change the 7-day retention, the 1,000,000-row split, the 20-file ceiling or the 30-second time limit, and no per-entity export switch. What an administrator controls:

  • Who can export — the setup.data.export.manage capability on security profiles.
  • What can be chosen — hidden entities are not offered in the entity list, and hidden fields are not offered in the tree. Entities can also be withheld from export by platform configuration; choosing one fails with Entity '…' is not accessible via Data Export.
  • Column names in the file — come from the fields' API names, so renaming a field's label changes the wording in the Columns tree, not the file header. The column order is whatever you drag on the Columns step.
  • Relations offered — the Columns tree follows the entity's lookups and child relations from metadata. Relations to user accounts (such as Owner) are not expanded; the owner field exports as the user's id.

Common problems

The file contains records or fields users can't see in the app

Expected: Data Export applies the organization boundary only, not sharing rules, record-level or field-level security. Narrow the columns and filters, and restrict who holds the capability. For a user-scoped download, use the Export widget on a list.

The job failed with "This export would produce … files"

The result would need more than 20 files (more than 20 million rows). Add a filter, or set Limit to top N.

The job failed with a timeout, or the preview says "Query timed out after 30 seconds"

Each query has 30 seconds. Add a filter that cuts the rows down, sort on a simple field, or drop child-collection columns, which multiply rows.

"Entity '…' is not available for export (it has no data table)"

Some entities in the list are not stored as tables of their own and cannot be exported. Export the entity that holds the records instead.

The pick-list column shows codes, not the labels I see on screen

Data Export writes the stored value so the file can be imported back. To read labels, look them up in the pick-list setup or use the Export widget on a list, which writes labels.

The download no longer works or the File cell shows a dash

The file passed its Expires time and was removed (or the job did not complete). Run the export again — an old history row can't bring a file back.

One export produced a ZIP with several parts

That is the 1,000,000-row split, not an error. Each part has its own header row; download them together with ZIP (n) or one by one from its dropdown.

Common questions

Can I export several entities in one file?

One entity drives each export. The Columns tree lets you add fields of related records — parents through lookups and children through collections, each one level further — flattened onto each row as Prefix.Field columns. Remember that child columns repeat the parent for every child. For unrelated data sets, run one export per entity. If the files are going to be imported elsewhere, keep each entity in its own file anyway, because imports also work one entity at a time.

Does the export respect sharing rules and field permissions?

No. Data Export applies your organization's boundary and leaves out deleted records, and nothing else: every matching record of the entity and every ticked field is written, whoever exports it. That is why it is a setup capability rather than an everyday permission. If a business user needs to download their own records, add the Export widget to the list layout: it exports the list's view with the user's own record access in force, writes labels instead of codes, and offers Excel, CSV or PDF up to 100,000 rows (5,000 for PDF).

How do I get record ids for a later import?

Tick Id on the Columns step; it is offered as an ordinary field. The header comes out as Id, which Data Import recognises: a row that carries a record's id updates that record instead of creating a duplicate, so export, edit, import is the safe way to bulk-update. Keep the id column unchanged while you edit, and remove columns you did not mean to change so the import leaves those fields alone. See Import data.

Can I schedule a recurring export?

No. Every export is a one-off job started from the wizard, and the wizard does not save its query for reuse. Re-run it when you need a fresh file. Because files expire after 7 days, keep the downloaded file somewhere of your own rather than relying on Export History.

Who can see the files I export?

Everyone who holds the Data Export capability. Export History is shared across the organization and any holder can download any listed file until it expires. People without the capability cannot open the download link even if you send it to them, so share the downloaded file itself through a channel you trust.