Desk to Service Cloud Case Migration Tool - Common Issues

Last Updated -

Pre-requisites

This article assumes that you have followed the Desk to Service Cloud Case Migration Tool Implementation Guide. This article outlines common issues and their causes, and will be updated as more common issues are discovered. It assumes an Admin level knowledge of Salesforce.


Installation Issues

Issue: I can't see the Migration Wizard tab.
Solution: Ensure that a custom domain is configured for your org. Also check that the permission set is assigned to the correct user.

Issue: The wizard is blank.
Solution: Make sure you are on the Migration Wizard tab. There is another tab called “Desk Migration Wizard” which is a previous version of the migration tool. The correct tab is called "Migration Wizard". 


Wizard Issues

Step 1

If you are unable to continue to Step 2, please review the implementation guide and ensure you have installed and configured the tool correctly. 

Step 2

Your credentials should already be present if you followed the setup guide. If not, you can simply paste them directly into the fields provided. However, if you enter them manually you will need to enter them manually every time you use the wizard.

Please also be aware of issues with your Desk url. The format is “https://yoursite.desk.com”. Make sure there are no spaces and no / at the end.

Step 3

There is a known bug with this step in which it will show that it's loading indefinitely unless you click the page. Our engineers are working on a fix for this issue.

It should be noted that this step will automatically create all of the Queues and Custom fields. There is no way around this unfortunately. This may interfere with previous configuration done in your org, so we recommend that you run this step before configuration and then wait to do the migration later.

Step 4

The main issues that can arise when running on step 4 is if you attempt to run objects out of order. For example, it won't let you run a Contact migration unless one Account migration has been done. 


Duplication Issues

Some objects should only be migrated once or they will be duplicated:
  1. Interactions
  2. Notes
  3. Attachments
  4. Users should not be run again after 7 days
If you need to start over, delete all of the cases and remigrate Cases, Interactions, Notes. Deleting the cases will remove all the related interactions and notes, making it safe to run the migration again. To locate migrated cases, you can use the SCMT__DeskId__c field. If a value is populated in SCMT__DeskId__c then it was migrated. There are several ways to bulk delete cases, including the Mass Delete Records tool in Setup and the Dataloader. 
 

Troubleshooting

Check the Bulk Job logs that are linked for every migration. If there was a problem with the whole batch, there will be a State Message and the batch will fail. If the problem is with specific records, check the View Result link. Generally this means the error happened on the Salesforce side.



If the issue isn't described below and can't be resolved, please contact support for assistance.


Bulk Job Issues

 

Foreign key external ID: XXXXX not found for XYZ in entity ABC.

Example:
{"message" : "Foreign key external ID: 1758.0 not found for field SCMT__DeskId__c in entity Case",
"fields" : [ ],
"statusCode" : "INVALID_FIELD",
"extendedErrorDetails" : null...


Solution: The parent record with the listed ID failed. Check the bulk job for the parent record migration and see why the record failed. Fix the issue and rerun the parent record migration. Usually this issue happens when previous records have failed and this has not been checked.

 

No such column...

Example:
{"message": "Unexpected JsonMappingException: No such column 'Desk_abc__c' on sobject of type Case","fields": [],"statusCode": "INVALID_FIELD","extendedErrorDetails": null}

Solution: The user doesn't have access to the field listed. Check the permission set and give the user running the migration access to the mentioned field.

 

The record Couldn't be saved because it failed to trigger a flow

Example:
{"message": "The record couldn’t be saved because it failed to trigger a flow. A flow trigger failed to execute the flow with version ID 3016A000000RBRr. Flow error messages: <b>An unhandled fault has occurred in this flow</b><br>An unhandled fault has occurred while processing the flow. Please contact your system administrator for more information. Contact your administrator for help.","fields": [],"statusCode": "CANNOT_EXECUTE_FLOW_TRIGGER","extendedErrorDetails": null}

Solution: There is a flow, process, workflow rule or something similar that prevents the record from being created. To get around this, you will need to disable the flow. The tool has a great work-around for this built in. It will look for a Custom Label called “BypassProcessBuilder” and will set the value to “1” when the records are being processed. This is used to bypass the default processes in the Desk Trial org. You can manually build this into your flows so the flows will automatically be bypassed. However, you can always disable the flows manually and re-enable them afterwards. 

 

Record Type ID: this ID value isn't valid for the user

Example:
{"message": "Record Type ID: this ID value isn't valid for the user: 0126A0000014oVfQAI","fields": ["RecordTypeId"],"statusCode": "INVALID_CROSS_REFERENCE_KEY","extendedErrorDetails": null}

Solution: The user doesn't have access to the record type that was selected. Check that the permission set is assigned to the user and has the proper record types selected.

 

Unable to read request / Invalid Batch

Example:

{"exceptionCode": "InvalidBatch","exceptionMessage": "Records not processed"}


Solution: The tool is expecting a field to exist that doesn't. Check the request of the bulk job to find out which fields it is trying to specify and then check that those fields exist.

Inactive Owners


Example:

{ "message" : "operation performed with inactive user [0056A000001rHoP] as owner of case",
    "fields" : [ ],
    "statusCode" : "INACTIVE_OWNER_OR_USER",
    "extendedErrorDetails" : null}


Solution: The migration user doesn't have the appropriate setting to assign cases to inactive owners ("Update Records with Inactive Owners"). Please review the setup steps of the implementation guide to walk you through the process.