Home > Appendices > Configurations for Customized Features > Customized Features for Gmail Migration
Export to PDFFly provides multiple customized features for Gmail Migration. Refer to the following information to use the features:
- **CreateResourceMailboxAutomatically** – Define whether to create a resource mailbox in the destination if the destination resource mailbox configured in the project mapping does not exist.
By default, this feature is enabled. If the destination resource mailbox configured in the project mapping does not exist, Fly will create the destination resource mailbox as a new one.
If you do not want to create a resource mailbox in the destination when the destination resource mailbox configured in the project mapping does not exist, you can add the CreateResourceMailboxAutomatically=false string to the Customized features section to disable this feature. In this case, the migration of the source mailbox will fail.
- **CreateResourceMailboxType** – Define the type of the resource mailbox to be created in the destination. By default, Fly will create a resource mailbox with the same type as the source resource mailbox in the destination.
- You can define the resource mailbox type by adding the **CreateResourceMailboxType=number** string, and replacing **number** with any of the following:
- **0** – Create a resource mailbox with the same type as the source resource mailbox in the destination.
- If the source resource mailbox type is **Meeting space**, Fly will create a resource mailbox of the **Room** type in the destination.
- If the source resource mailbox type is **Other** **resource**, Fly will create a resource mailbox of the **Equipment** type in the destination.
- If the source resource mailbox type is **(no category set)**, the migration of the resource mailbox will fail.
- **1** – Create a resource mailbox of the **Equipment** type.
- **2** – Create a resource mailbox of the **Room** type.
CreateSharedMailboxAutomatically – Define whether to create a shared mailbox in the destination if the destination shared mailbox configured in the project mapping does not exist.
By default, this feature is enabled. If the destination shared mailbox configured in the project mapping does not exist, Fly will create the destination shared mailbox as a new one.
If you do not want to create a shared mailbox in the destination when the destination shared mailbox configured in the project mapping does not exist, you can add the **CreateSharedMailboxAutomatically=false** string to the **Customized features** section to disable this feature. In this case, the migration of the source mailbox will fail.
- **ExpandGroupMemberInMicrosoft365Group** – Define whether to migrate members in the Google group (B) if Google group (B) is a member of the source Google group (A) when migrating Google Group (A) to the destination Microsoft 365 group. By default, the Google group (B) will not be migrated.
- If you want to migrate the members in the Google group (B), you can add the **ExpandGroupMemberInMicrosoft365Group=true** string to the **Customized features** section, but the Google group (B) cannot be migrated.
- **GetGmailItemByTimeFilter** – Define whether to only retrieve and migrate mails within the mail time range configured in the migration policy.
- By default, this feature is disabled. Fly will retrieve all mails. If you configure mail time range in the migration policy, Fly will retrieve all mails first and then migrate mails within the configured mail time range. This may affect the migration performance.
- If you want to only retrieve and migrate mails within the configured mail time range, you can add the **GetGmailItemByTimeFilter=true** string to the **Customized features** section to enable this feature.
- > ***Note**: With this feature enabled, the **Synchronize deletion** function will be unavailable.
- **FilterOutEventAttachmentSizeOver** – Define the size threshold of event attachments that can be migrated in the migration.
By default, this feature is disabled. All events and their attachments will be migrated.
If you want to filter out some event attachments in the migration, you can add the **FilterOutEventAttachmentSizeOver=" "** string to the **Customized features** section and enter a positive integer as the size threshold. The unit is **MB**. For example, **FilterOutEventAttachmentSizeOver=100**. Then, Fly will check the attachments of all types for each event in the migration. If the total size of all attachments exceeds the size threshold, Fly will only migrate the event without migrating the event attachments.
- **IncludeCategoryOnlyDataAsArchivedData** – Define whether to migrate data that only exists in the source **Social**, **Forums**, **Promotions**, and **Updates** categories to the destination **Archive** folder. By default, these data are not included in the archive scope and will be migrated to folders corresponding to the source categories.
- If you also want to migrate these data to the destination **Archive** folder, you can add the **IncludeCategoryOnlyDataAsArchivedData=true** string to the **Customized features** section to enable this feature.
- **IsCheckLabelChange** – Define whether to manage destination item labels that have been updated in the source in the incremental migration job if you select the **Migrate labels as categories** option in the migration policy.
By default, this feature is disabled. Destination item labels that have been updated in the source will not be updated in the incremental migration job.
If you want to migrate the item label updates, you can add the **IsCheckLabelChange=true** string to the **Customized features** section to enable this feature.
> ***Note**: With this feature enabled, the efficiency of incremental job will be affected.
- **MigrateCalendarDateTime** – This filters calendar items that you want to migrate. Calendar items whose end time is after the date and time you configured for the feature string will be migrated. By default, all source calendar items will be migrated.
If you want to filter the calendar items to be migrated, you can add the **MigrateCalendarDateTime=" "** string and enter your desired date and time in the format of *yyyy**-mm-dd* *hh:**mm:ss* (2022-07-08 18:15:20) as the value. For example, **MigrateCalendarDateTime=2022-07-08 18:15:20**.
> ***Note**: If the end time of any item in the recurring calendar items is after the date and time you configured, all items of the recurring calendar items will be migrated.
> ***Note**: With this customized feature configured, the **Synchronize deletion** function is unavailable.
- **MigratePrimaryCalendarOnly** – Define whether to only migrate the source primary calendars. By default, this feature is disabled. The custom calendars in the source **My** **calendars** labels will also be migrated.
- If you want to only migrate source primary calendars, you can add the **MigratePrimaryCalendarOnly=true** string to the **Customized features** section to enable this feature.
- **TimeZoneMappings** – This defines the mappings for source time zones that are not supported by Exchange. If source time zones are not supported by Exchange, the migration of the source calendar items will fail.
If you want to migrate the source items, you can add the **timeZoneMappings=<***Source Time Zone* *ID*:*Destination* *Time Zone ID***>** string, and enter the IDs of the source and destination time zones as the values. For example, **timeZoneMappings=<America/Los_Angeles:China** **Standard Time>**.
To map multiple source time zones, add the feature string in the format of *timeZoneMappings**=<**Source Time Zone ID* *1**:**Destination* *Time Zone ID 1**><**Source Time Zone ID* *2**:**Destination* *Time Zone ID 2**>*. For example, **timeZoneMappings=<America/Grand_Turk:Eastern** **Standard Time>** **<America/Santiago:SA** **Western Standard Time>**.
For the source unsupported time zones’ IDs, you can find them in the comment of the failed calendar items in the job report. For the destination time zones’ IDs, refer to the **Timezone** column of the table for details.
- **FolderMappings** – This defines the mapping for the source folder that meets one of the situations below.
- When migrating a subfolder of a Gmail system folder, and the language of the source Gmail mailbox is not English, Chinese, Japanese, French, German, Swedish, Arabic, Spanish, or Portuguese, the subfolder cannot be migrated since Fly cannot recognize the source system folder where the subfolder resides and cannot recognize which destination system folder that the subfolder will be migrated to.
- If you want to migrate the subfolder, you can add the **folderMappings=<**Source Chats Name**:Chats><**Source Drafts Name**:\Drafts><**Source Important Name**:Important><**Source Sent Name**:Sent><**Source Spam Name**:Spam><**Source Starred Name**:Starred><**Source Scheduled Name**:Scheduled><**Source Trash Name**:Trash>** string, and enter the source folder names in corresponding language as the values. For example, **folderMappings=<채팅보관함:Chats><임시보관함:\Drafts><중요편지함:Important><보내편지함:Sent><스팸함:Spam><별표편지함:Starred><예약됨:Scheduled><휴지통:Trash>**.
- If the folder is a custom top-level folder whose folder name contains a “/”. The custom top-level folder cannot be migrated since Fly cannot recognize whether the folder is a subfolder or a top-level folder.
If you want to migrate the custom top-level folder, you can add the **folderMappings=<***Partial name of source* *folder***:***Destination* *folder name***>** string.
Navigate to **Projects** > **Project mappings** > **View migration report** > **Migration error** tab in Fly to view the comment of the failed folder in the **Migration errors** section. Enter the source folder name reported in the comment as the source value, and the same value as the source as the destination folder name. For example, the source failed custom top-level folder name is **[Gmail]/CustomA/testA** and the folder name reported in the comment is **CustomA**, enter **folderMappings=<CustomA:CustomA>**.
If the destination folder you configured does not exist, Fly will create the folder in the destination.
To map multiple custom top-level folders, add the feature string in the format of *folderMappings**=<**Partial name of source folder* *1*:*Destination* *folder name 1**><**Partial name of source folder* *2*:*Destination* *folder name 2**>*. For example, **folderMappings=<CustomA:CustomA><CustomB:CustomB>**.
- **ReservedFolderNames** – If the customized label name of a source item is the same as a source reserved system category, the migration job will fail. If the customized label name of a source item is the same as a destination reserved system folder name, such as Calendar, Tasks, or Contacts, the migration of the item will fail.
To migrate items with such labels applied, you can record such label and add suffix to the label name during the migration by adding two customized features in the **Customized features** section.
To record the label, you can add the **ReservedFolderNames="** **"** string and enter the label name as the value. For example, **ReservedFolderNames=Label1**. To add multiple label names, separate each name with a semicolon (;\). For example, **ReservedFolderNames=Label1;Label2;Label3**.
- Then, you need to configure the **RenameLabelSuffix** customized feature to define the suffix to be added to the label name during the migration. Refer to the instruction below for how to configure the **RenameLabelSuffix** customized feature.
- **RenameLabelSuffix** – After configuring the **ReservedFolderNames** customized feature to record customized labels, you can define the suffix to be added to the customized label names during the migration by adding the **RenameLabelSuffix="** **"** string to the **Customized features** section, and enter a desired suffix as the value. For example, **RenameLabelSuffix=suffix**. Then, the labels will be renamed to **label** **name_suffix** after the migration.
- **DisableArchiveXAnchorMailboxHeader** – Define whether to disable the use of X-AnchorMailbox header for archive mailboxes. By default, Fly will use special headers for archive mailboxes.
- If you want to use SMTP email address instead of special header for archive mailbox, you can add the **DisableArchiveXAnchorMailboxHeader=true** string to the **Customized features** section to enable this feature.