Salesforce Service Cloud — Migration Support Overview
Role in migrations
- Staff (HD): supported as both (source and target).
- Company (HD): supported as both (source and target).
- Contact (HD): supported as both (source and target).
- Ticket (HD): supported as both (source and target).
- Category (KB): supported as both (source and target).
- Folder (KB): supported as both (source and target).
- Article (KB): supported as both (source and target).
Field-level support migrating FROM Salesforce Service Cloud (Ticket)
| Field | Supported |
| Requester | Yes |
| Company | Yes |
| Assignee | Yes |
| Group | No |
| Attachments | Yes |
| Comments | Yes |
| Tags | Yes |
| Custom fields | Yes |
| CC | Yes |
| First Response Time | No |
| Created date | Yes |
| Updated date | Yes |
| Closed date | Yes |
Field-level support migrating TO Salesforce Service Cloud (Ticket)
| Field | Supported |
| Requester | Yes |
| Company | Yes |
| Assignee | Yes |
| Group | No |
| Attachments | Yes |
| Comments | Yes |
| Comment Created date | Yes |
| Comment Author | Yes |
| Tags | No |
| Custom fields | Yes |
| CC | No |
| First Response Time | No |
| Created date | Yes |
| Updated date | Yes |
| Closed date | Yes |
Field-level support migrating FROM Salesforce Service Cloud (Company)
| Field | Supported |
| Domains | No |
| Tags | No |
| Custom fields | Yes |
| Notes | No |
Field-level support migrating TO Salesforce Service Cloud (Company)
| Field | Supported |
| Domains | No |
| Tags | No |
| Custom fields | Yes |
| Notes | No |
Field-level support migrating FROM Salesforce Service Cloud (Contact)
| Field | Supported |
| Tags | No |
| Custom fields | Yes |
| Phone | Yes |
| Notes | No |
Field-level support migrating TO Salesforce Service Cloud (Contact)
| Field | Supported |
| Tags | No |
| Custom fields | Yes |
| Phone | Yes |
| Notes | No |
Field-level support migrating FROM Salesforce Service Cloud (Article)
| Field | Supported |
| Inline images | Yes |
| Attachments | No |
| Tags | Yes |
| Support multilevel Folder structure | No |
Field-level support migrating TO Salesforce Service Cloud (Article)
| Field | Supported |
| Inline images | Yes |
| Attachments | Yes |
| Tags | Yes |
| Support multilevel Folder structure | No |
Migration options available for Salesforce Service Cloud
- Update cross-links between articles - applies to: both (Article)
- Migrate content translations - applies to: both (Article)
- Migrate the newest records first - applies to: source (Ticket)
- Select records for Demo - applies to: source (Ticket), source (Article)
- Inline images in tickets - applies to: source (Ticket)
- Skip ticket attachments - applies to: source (Ticket)
Salesforce Service Cloud — Setup & How-To Guide
For more information: https://help-desk-migration.com/help/salesforce-service-cloud-migration-guides/ , https://help-desk-migration.com/help/salesforce-data-migration-checklist/
How to create custom fields in Salesforce Service Cloud
To create custom fields for cases, do the following:
Click on Setup > Object Manager > find Case in the list > Fields > Relationships > New.
How to disable notifications in Salesforce Service Cloud?
Workflow automation rules help to get a lot of mundane, manual work out of the way. However, when you’re migrating to Salesforce Service Cloud you need to delete all workflow rules to prevent the system from sending out automatic email updates during the ticket import.
Here’s how you can disable workflow automation rules:
- Sign in to your Salesforce account with Admin rights
- Go to Setup:
- Under PLATFORM TOOLS find Process Automation and unfold the Workflow Actions tab
- Go to Workflow Rules and disable all rules to avoid automatic email updates.
How to migrate Created at, Closed at, Last modified at and Creator ID to Salesforce Service Cloud?
To migrate Created at, Closed at, Last modified at and Creator ID parameters to Salesforce Service Cloud you need to enable the below preferences.
- Go to Setup
- Go to User Interface -> User Interface
- Check Enable "Set Audit Fields upon Record Creation" and "Update > Records with Inactive Owners" User Permissions.
- Click Save.
Note that when migrating from Salesforce Service Cloud you don't need to enable these preferences.
How to enable “Modify All Data” permission for a profile in Salesforce Service Cloud?
How to check profile license
To check if the profile has a Salesforce license, go to Users; Profiles or type Profiles in Quick Find.
There, you will see all the profiles you have in your Service Cloud and the license of each profile.
How to enable the "Modify all data" permission
- Go to Users; Profiles or type Profiles in Quick Find.
- Locate the profile you need to change and select Edit.
- Once you have the profile open scroll down to Administrative settings (or use Ctrl/Cmd + F to search in the text), find the Modify all data and check the box next to it.
- Salesforce will automatically check other necessary permissions. Scroll down to the very bottom of the page and click Save.
Verification steps
After enabling the "Modify All Data" permission for the necessary profiles, ensure that all agents are correctly assigned to these profiles. Follow these steps for verification:
- Go to Users > Users to view all users and their assigned profiles.
- Review Assignments:
- Verify that each agent involved in the migration process is assigned > to a profile with the "Modify All Data" permission.
- Ensure consistency between the assigned profiles and the permissions > required for migration.
- Adjust Assignments (if necessary):
- If any discrepancies are found, select the user requiring > adjustments and click Edit.
- Update the user's profile and license to align with migration > requirements.
- Save any changes made.
While checking agent profiles, also make sure that all agents involved in migration are ACTIVE on Salesforce.
Additionally, confirm that all agents involved in the migration are marked as ACTIVE in Salesforce.
How to migrate knowledge base articles to Service Cloud Lighting?
With Help Desk Migration service you can import knowledge base articles to Salesforce Service Cloud. However, due to the characteristics of Salesforce and its API, there’s some prep work you need to do:
- You need to switch on the knowledge base for the user with the System Administrator rights
- You need to enable the knowledge base is Salesforce
- Create Category Groups prior to the migration
How to enable the knowledge base for the user with the System Administrator rights
- Go to your Salesforce account and click Home.
- Under Administration, choose Users.
- Select the user with the System Administrator profile and click on Edit.
- At the right side of the screen, scroll down to Knowledge User and put the tick.
- Click Save to preserve setting changes.
How to enable the knowledge base in Salesforce
Enabling Lightning Knowledge changes your org's data model to use record types rather than article types. Once enabled, Lightning Knowledge can't be disabled. In case your org uses multiple article types make sure to consolidate them before enabling Lightning Knowledge. It is recommended that you test in a Sandbox or Trial org before enabling Knowledge in production.
- From Setup, enter Knowledge in Quick find then select Knowledge > Settings.
- Enable Knowledge by selecting Yes and clicking Enable Salesforce > Knowledge.
- Click OK to continue.
- On the Knowledge Settings page, click Edit.
- Select Enable Lightning Knowledge and then click Save.
Creating categories in Service Cloud Lightning
- From Setup, enter Data Category in the Quick Find box, then select > Data Category Setup.
- Click New. Note that by default, you can create a maximum of five > category groups and three active category groups.
- Give your Category Group a name (80 characters max). You may also > change the Group Unique Name (the unique name used to identify the > category group in SOAP API).
- Enter a description of the category group if necessary and click > Save.
Knowledge Base Migration Specifics
- The article body migrates to the Answer_c field by default. If the client wants the article text to migrate into a different field, this requires a customization. Article attachments always migrate into the Answer field regardless, appearing as download links — so even if the client maps Body to a different field and removes Answer from the form, attachments will still migrate into the Answer field by default.
- Salesforce has two Knowledge Bases: Knowledge and Solutions. Data is migrated to/from Knowledge only.
- Salesforce has different Article Record Types. By default, migration goes into "FAQ" (the platform's default record type). To migrate into a different one, the client must change the default record type on the target, and migration will then use that one by default.
- Chatters migrate as comments by default (they won't migrate if the client doesn't have access to FeedItems).
- Images that are private don't migrate.
Why to disable Phone Duplication rule in Salesforce Service Cloud?
When migrating to Salesforce Service Cloud, it's crucial to disable the phone duplication rule to prevent interference with the migration process.
Duplicate rules in Service Cloud are helpful for alerting users about potential duplicate records while creating or editing a record. However, during migration, these rules can impede progress.
For example, when migrating from Zendesk to Service Cloud, if two end users share a company phone number as their contact reference, Service Cloud may mistakenly identify them as duplicates due to enabled phone duplication rules. This can halt the migration process with an error.
To avoid such issues, it's recommended to temporarily disable the phone duplication rule before initiating the data migration. You can re-enable the rule once the migration is successfully completed.
Steps to Disable Phone Duplication Rule:
- Navigate to Setup by clicking the gear icon in the top right corner.
- Proceed to Administration > Data > Duplicate management > > Duplicate rules.
- Locate and open the phone duplication rule (the name may vary).
- Click on Deactivate to disable the rule temporarily.
By following these steps, you can ensure a smooth migration process without encountering issues related to phone duplication rules.
How to calculate contacts in Salesforce Service Cloud?
In Salesforce Service Cloud, you can calculate the number of contacts using the Charts functionality. Here’s how it works.
- Go to Contacts.
- Select a contact list from the dropdown.
- Click the Show charts icon on the right.
- Check the total number of contacts inside the chart and the breakdown by groups beneath the chart.
How to calculate the number of cases in Salesforce Service Cloud?
You can get the number of cases in your Salesforce Service Cloud by running the Cases report. To set it up properly, perform the following steps.
- Go to Reports.
- Choose the New Report option.
- Type “cases” in the search bar and select the Cases report.
- Then click Start Report.
- This page shows you the preview of a limited number of cases. To see all cases, use filters on the left and click Run in the top right corner.
- You can find the total number of cases above the list on the left.
Record Types for Cases
Salesforce has Record Types that can be used to filter cases (tickets). Record Type is output from the source side. On the target side, this field is restricted, because each Record Type is tied to a user's profile — if the user logged into the app doesn't have that record type in their profile, the case won't be created. This information can't be retrieved via SOQL; it can only be handled through a custom migration that checks whether a case can be created with a given record type.
How to calculate articles in Salesforce Service Cloud?
In Salesforce Service Cloud, you can use views to search for specific lists of articles and figure out their total count. This guide will help you calculate articles in Salesforce Service Cloud with a few clicks.
- Go to the Knowledge tab.
- Select the list view from the dropdown.
- To add more views, click the List View Controls icon and select New.
- Once you select the list view, find the number of filtered articles above the list. If the number of records exceeds 50, you’ll have to scroll down to the end of the list and check the total number of articles.
Attachments in private comments visibility
Attachments in private comments are visible to administrators and/or the agent who added them only. Turn on the 'View All Data' permission in the settings to check if attachments have migrated correctly.
How to Increase API limits in Salesforce Service Cloud?
To speed up the migration you can request a temporary increase to your API limit. Please, note that you have to do this before starting the Full Demo Migration.
To send your request, create a case with Salesforce Customer Support
Where do I find ticket comments in Salesforce Service Cloud?
To find private notes open the ticket that contains them and click on Related:
Under Case Comments you will see all private comments.
If the ticket contains an attachment, our service will import it as a private attachment. Also, if the comment exceeds 4000 characters, it will be cut due to the limitations of Salesforce Service Cloud.
Public comments can be found in Chatter -> Email.
Case replies are not displayed in Salesforce Lightning after the migration
There’s an issue in Salesforce Lightning with Case Replies. Often, they are not displayed after the migration process. To fix this issue, you need to do a few simple steps:
- Switch your desk to Salesforce Classic version.
- Look through all the cases you migrated to your platform. You will > need to enter each case and then return to the whole list.
- Switch back to Salesforce Lightning.
Now, all the replies to the Cases you’ve looked through should be displayed in all cases.
How do I prevent case ownership from changing to a queue during Salesforce migration, import comments correctly, and hide sensitive data from customers?
When migrating to Salesforce, you’ll want to make sure case ownership stays accurate, comments appear in the right place, and sensitive data remains hidden from customers. Here’s how to handle each of these areas.
How to prevent case ownership from changing to a queue?
To maintain accurate case ownership, configure case assignment rules in your new Salesforce organization. Instead of sending all cases to a default queue, set rules so cases go only to the right users or queues, following the same criteria as in your old system.
You can also add validation rules to block ownership changes to a queue when they don’t meet certain conditions. Just ensure that these rules don’t conflict with automated processes, such as Email-to-Case.
During the migration, map users carefully. Each source user’s email should match a valid user in your new organization to maintain consistent ownership.
How to import comments correctly?
You don’t need to perform any extra setup. Both private and public replies migrate automatically and accurately during Salesforce migration. Private comments appear under Case Comments, and public comments appear under Chatter → Email.
How to hide sensitive data from customers?
You can protect sensitive information such as internal notes or private details by combining field-level security, sharing rules, and permissions:
- Field-level security (FLS): In customer-facing profiles and permission sets, uncheck the “Visible” and “Editable” boxes for sensitive fields.
- Sharing rules: Limit record-level access so customers see only the records they need.
- System permissions (if needed): Removing the “Transfer records” permission from certain profiles helps block unauthorized changes to ownership or visibility.
How to approve uninstalled connected apps in Salesforce?
Before connecting Salesforce Service Cloud to the Migration Wizard, make sure the Help Desk Migration app is installed and users have the right permissions.
Starting September 2025, Salesforce restricts access to uninstalled connected apps. This means end users won’t be able to use apps that haven’t been explicitly approved.
Step 1: Approve the uninstalled connected app
- Go to Setup > Platform Tools > Apps > Connected Apps > Connected > Apps OAuth Usage.
- Find Help Desk Migration and click Install.
- When prompted, press Install again to confirm.
Note: The new Approve Uninstalled Connected Apps permission is automatically assigned to the System Administrator profile. You’ll need to manually add it to any custom profiles cloned from it.
Step 2: Manage access after installation
- In Setup, search for Connected Apps, then select Manage Connected > Apps.
- Click Edit next to Help Desk Migration.
- Under OAuth Policies, choose how users can access the app:
- All users may self-authorize (default): Any user can approve the app on first access.
- Admin approved users are pre-authorized: Only users with the assigned profile or permission set can access the app.
Save your changes to apply access rules.
Sandbox Demo Migrations and Email Addresses
If a demo migration is run in a Sandbox, user emails may be created as example.com. This happens because Salesforce invalidates user emails in Sandbox environments to prevent notifications from being sent (reference: https://help.salesforce.com/s/articleView?language=en_US&id=000386507&type=1). The migration tool appends example.com to these emails. This does not happen when migration runs against production.
Why Some Attachments Don't Migrate
Salesforce has a feature called Data Loader. When tickets go through it, the API includes an IsClientManaged parameter for emails. If this is set to false, attachments linked to that email aren't returned through the standard Attachment method — instead, they end up in ContentVersion. For attachments to be visible the standard way, this field needs to be set to true. Tickets where this value is correctly set migrate their attachments normally, so there's no issue on our end in those cases.
These attachments are added as Files (ContentVersion) and linked to EmailMessage object records through ContentDocumentLink. This behavior occurs when IsClientManaged isn't set to true for migrated Email Message records that are associated with a file via a Content Document Link, or a file uploaded via the ContentVersion object with FirstPublishLocationId set to the Email Message record's ID.
It's worth checking with the client whether they use Data Loader, since otherwise the attachments in question won't migrate.
Restricted Picklist Errors
Error: restricted picklist field: [Name_of_the_Field], "errorCode": "INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST"
This happens because the field has "Restrict picklist to the values defined in the value set" enabled, which prevents the API from inserting that value.
Fix: go to the field's settings and uncheck "Restrict picklist" — the value will then migrate normally.
What Restrict Picklist does: for example, a custom dropdown field like "Product" might contain 50 options. Using Restrict, conditions can be set to limit which of those options are available for selection based on another field's value — e.g., linking Product to a Source field, so that when Source = "Email," only 10 of the 50 Product options are shown, with different subsets shown depending on the Source value selected. Restrict picklist doesn't mean a value can never be set — it means the value can only be set under certain conditions.
Salesforce Service Cloud Migration Limitations
- Migration Wizard can migrate the creation date of chatters. Only chatter creation dates migrate — email creation dates do not; the date used for emails is the migration date, since the actual date is contained within the chatter's body itself.
- Salesforce Service Cloud has a limitation for the number of attachments stored for free. If you exceed your limit in Salesforce, you will need to pay extra to keep more attachments. Or use the pre-built for Salesforce out-of-the-box option to Skip attachments (all or or for some period of time).
- To migrate 'Created at', 'Last Modified at', 'Closed at', and Creator ID, enable User Interface settings.
- Do not deactivate end-users because Migration Wizard won't migrate their cases.
- If the client gets a "The REST API is not enabled for this Organization" error, they need to contact Salesforce support to have REST API enabled.
- In Salesforce, CC users are tied to each individual comment. CC users can potentially be read via a custom migration.
- Comments are read from: emails, chats, and chatters. WhatsApp messages are not read by default, but can be read via a custom migration.
- In Salesforce, the company on a case can differ from the company on the associated contact. This matters because on platforms like Zendesk and Freshdesk, a contact and its ticket share a single company. As a result, when migrating from Salesforce to these platforms, the company relationship won't be preserved the same way. Workaround: migrate multiple companies (note that some Freshdesk plans don't support multiple companies per contact).
- Person Accounts are contacts that have been converted into Accounts (hence the name). They migrate as a contact on the target, paired with a company of the same name as the contact. For example, a Person Account named "Andy" on the source will migrate as both an "Andy" contact and an "Andy" company on the target.
Comments
0 comments
Please sign in to leave a comment.