The export feature is available in the Export Import extension.
This extension works via console (CLI). Commands should be executed from the root directory of your EspoCRM instance.
bin/command export-import export --format=json --path="./data/export-import"
Confirmation of running the import. By default, a prompt will be displayed.
An export path. The default value is ./data/export-import. Example: --path="PATH".
Skip exporting data. By default, all data will be exported / imported.
Skip exporting all customization made for the instance. By default, all customization will be exported.
Skip exporting configuration data. By default, all configuration data will be exported.
Skip exporting internal configuration data which are stored at config-internal.php.
Use --user-password in order to set a user password since the passwordSalt will not be exported.
!!! note
- For advanced users only.
- The defined list will be imported only with data of `Many-to-One`, `One-to-One Right`, `Children-to-Parent` relationships.
- The `Many-to-Many`, `One-to-Many`, `One-to-One Left`, `Parent-to-Children` relationships for related entities should be defined in the list additionally.
A list of Entity Types. If omitted, then all entity types are applied. Example: --entity-list="ENTITY_TYPE1, ENTITY_TYPE2"
Supported values:
- a string, e.g.
"Account"; - a string which is separated by a comma, e.g.
"Account, Contact".
Note: This option works along with the --entity-list option only.
This option enables exporting all customization, ignoring the --entity-list option for customization.
Skip exporting data and customization for related entities. This option is used in conjunction with --entity-list. By default, this option is off.
Store data in a pretty print format. By default this option is off.
Define a list of users to be skipped. The value can be a list of ID or User Name. Example: --user-skip-list="admin".
Available values:
a string, e.g."admin",a string which is separated by a comma, e.g."admin, 65d34ab18e81e286e".
Skip exporting passwords and changing passwords for existing users. Example: --skip-password.
Use --user-password in order to set a user password.
Export data from a specific date and time. All data before this date will be ignored. Applies only to entities with a modifiedAt field.
The date should be in UTC and in the format YYYY-MM-DD HH:mm:ss.
By default, this option is off. Example: --from-date="2025-01-01 00:00:00"
This option allows you to skip exporting data for defined entities. Example: --entity-skip-list="ENTITY_TYPE".
Available values:
a string, e.g."Account",a string which is separated by a comma, e.g."Account, Contact".
This option allows you to export data for entities which are disabled by default, in exportImportDefs with the "exportDisabled": true or "importDisabled": true option. Example: --entity-hard-list="ENTITY_TYPE".
Available values:
a string, e.g."ScheduledJob",a string which is separated by a comma, e.g."ScheduledJob, ScheduledJobLogRecord".
This option allows you to export data for config options which are disabled by default. Ex. --config-hard-list="CONFIG_OPTION".
The default list is defined in application/Espo/Modules/ExportImport/Resources/metadata/app/exportImport.json.
Available values:
a string, e.g."database",a string which is separated by a comma, e.g."database, siteUrl".
bin/command export-import export --format=json --path="./data/export-import" --skip-password
bin/command export-import export --format=json --path="./data/export-import" --skip-data --skip-config
bin/command export-import export --format=json --path="./data/export-import" --skip-data --skip-config --entity-list="Account"
bin/command export-import export --format=json --path="./data/export-import" --skip-data --skip-config --entity-list="Account" --skip-related-entities
bin/command export-import export --format=json --path="./data/export-import" --entity-list="Account"
bin/command export-import export --format=json --path="./data/export-import" --entity-list="Account" --skip-related-entities
bin/command export-import export --format=json --path="./data/export-import" --entity-list="Report, ReportCategory, ReportFilter, ReportPanel" --skip-config --skip-customization --skip-related-entities
If the Target Entity of at least one of the reports is a custom entity, you need to add it to the --entity-list option. Example:
bin/command export-import export --format=json --path="./data/export-import" --entity-list="Report, ReportCategory, ReportFilter, ReportPanel, CustomEntity" --skip-config --skip-customization --skip-related-entities
If the Target Entities of the reports are default entities, but at least one field in the one report is a custom field, you should add an --all-customization option and remove --skip-customization option. Example:
bin/command export-import export --format=json --path="./data/export-import" --entity-list="Report, ReportCategory, ReportFilter, ReportPanel" --skip-config --all-customization --skip-related-entities
If there are certain actions in the workflow, it's important to add the following entities to the --entity-list option (depending on the workflow actions):
- Send Email - EmailTemplate, User, Team
- Create Record - custom entity name if it is present in the action
- Create Related Record - custom entity name if it is present in the action
- Update Related Record - custom entity name if it is present in the action
- Link with another Record - custom entity name if it is present in the action
- Unlink from another Record - custom entity name if it is present in the action
- Apply Assignment Rule - Team, Report
- Create Notification - User, Team
- Make Followed - User, Team
- Start BPM Process - BpmnFlowchart
bin/command export-import export --format=json --path="./data/export-import" --entity-list="Workflow, WorkflowCategory, WorkflowCategoryPath" --skip-config --skip-customization --skip-related-entities
bin/command export-import export --format=json --path="./data/export-import" --entity-list="Workflow, WorkflowCategory, WorkflowCategoryPath" --skip-config --skip-customization --skip-related-entities --from-date="2025-01-01 00:00:00"
If the Target Entity of at least one of the workflows is custom entity, you need to add it to the --entity-list option. Example:
bin/command export-import export --format=json --path="./data/export-import" --entity-list="Workflow, WorkflowCategory, WorkflowCategoryPath, CustomEntity" --skip-config --skip-customization --skip-related-entities
Depending on the presence of certain BPM elements, the following entities should be added to the --entity-list option:
- Task - see Actions performance for Workflow and BPMs
- Send Message Task - EmailTemplate, User, Team
- User Task - Team
bin/command export-import export --format=json --path="./data/export-import" --entity-list="BpmnFlowchart" --skip-config --skip-customization --skip-related-entities
If the Target Entity of at least one of the BPMs is custom entity, you need to add it to the --entity-list option. Example:
bin/command export-import export --format=json --path="./data/export-import" --entity-list="BpmnFlowchart, CustomEntity" --skip-config --skip-customization --skip-related-entities