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 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 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 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