This guide is a part of the below ultimate guides:
A Guide to Data Migration: types, strategies, and process
Salesforce is a platform that offers CRM solutions. It is one of the most frequently chosen systems, currently used by over 150,000 companies. According to the data collected by Statista, it manages over 19.5% of the revenues in the CRM application market. The main slogan that distinguishes this system is 'no software'. Why? Because the platform works 100% in the cloud. It means that when using it, you do not need any applications or additional tools, but only a web browser and, of course, access to the internet. The code and other data are stored on Salesforce servers, which gives them an advantage in the platform speed.
According to the research conducted by Salesforce, 72% of entrepreneurs running small businesses, despite the pandemic, have a positive view of the future of their company. By this, we can understand that companies want and will develop to adapt to changing economic conditions.
I have a total experience of five years as a Salesforce developer and worked on multiple projects with companies from various industries. For instance, I have worked on projects related to a legacy system. My job was to move the records from production to the new software and decommission the old one. I have expertise in Salesforce Apex Scripting, Automation, and Data export projects.
The project concerned the transfer of data from Salesforce to a CSV file in Google Sheet. The assigned freelancer had to know the SOQL language and the methodology of data export.
I need someone extremely good with Salesforce to proceed with Salesforce data export. I would like to move multidimensional data to a CSV file. The data has different formats, hence the need for a specialist. - client
Project time: 5h (consultation and solution design)
40h is an estimated time for writing scripts and conducting tests to complete the salesforce data export in the required format.
Effect: Designing a salesforce data export solution in the form of Account-Contact - Cases - Notes in order to create a CSV file that will be useful during data import to a new system.
The client was moving his internal system to a new platform, and for that, he needed the Salesforce data export to be conducted in an organized way. The records had to be pulled out of Salesforce and stored in an Excel sheet. CSV files created can directly be used by the new system to import the records.
The project required proficiency in the use of the Salesforce platform but also experience in data management. As already described by a data management specialist, data migration requires extreme care and attention to detail.
The biggest challenge in this project was meeting the client's requirements in terms of data structure and communication concerning understanding the value of specific information. My experience in a data export, combined with knowledge of Salesforce, enabled me to design export solutions for this company.
As the client is moving his database from a Salesforce to a new CRM, they wanted to capture the records thoughtfully so related contacts and notes can be carried all in one go. We have designed a solution so that information of the Account will have all the cases linked along with the notes attached. The overall goal is to get the connected data in Excel.
Structure of data exported:
Account - Contacts - Cases - Notes
The project was quite challenging as we were operating with multiple objects such as Account - Contacts - Cases - Notes. Working on multidimensional data requires an appropriate action plan. The difficulty was to design a solution that would enable Salesforce data export in a form that would correspond to the required fields of the new system. To get all the records, we could not use the data export tool because of multiple objects. The complexity of the data forces us to write scripts. Apex classes need to be written to capture the results in CSV. After creating a solution, many rounds of testing have to be done. This process has been prepared to verify that none of the information and no field had been omitted.
The major problem is that an Account can have multiple Cases. Each Case has many fields which need to be captured. Each Case has numerous notes attached, and it also should be transferred in an organized format. So linking all the Accounts with their Cases and Notes- thousands of positions could be a time-consuming task.
The client had 3271 accounts, which included 1176 cases. 773 of the cases contained 5026 notes.
In short, it can be assumed that the manual process of data transfer would be as follows:
Transfer of accounts without cases (3271-1176 = 2095 accounts) 2095 accounts x 1 m = 2095 minutes: 60 m = 35 h
Transfer of accounts with cases but without notes (1176-773 = 403)
403 accounts x 2 m = 806 minutes: 60 m= 13.5 hours
Transfer of accounts with cases and with notes 773 x 3 minutes = 2319 minutes: 60m = 37h
The total Salesforce data export done manually to a CSV file could take 35h + 13.5h + 37h = 85.5h
Additionally, we should include the spent time to check the correction of transferred data and the possibility of human error. It is highly probable that some mistakes may appear if you order such a task to be done manually by one person within 85 hours of work - it is almost 11 days of continuous work on one task. Data export performed by the designed developer solution would not only take less time but would also be 100% correct.
Implementation of a software solution would accelerate Salesforce data export by 50% compared to manual data transfer.
The customer was unaware of the difficulties of data portability. It is a common problem and requires proper communication. It is worth providing a comprehensive explanation to the client of project complexity and necessary steps. In this case, the problem of multidimensionality needed to be clarified.- Salesforce data export specialist
Within the five working hours of the project, I have analyzed the objects and created a Sample CSV of one single record. This file presented an initial form of saving information, matching data to appropriate tables. Then, the prepared CSV file has been sent to the client for approval. After the analysis, it turned out that the data could not be transferred using the available exporting tools. This Salesforce data export project requires the appropriate script. It means much more work than expected. Scriptwriting, test execution, and data export were estimated at 40 hours of salesforce developer work.
As the aim of the project was to develop a well-conceived data transfer solution rather than a manual process, we used the Workbench tool. For maintaining the connection between the Account - Cases - Notes, we have used apex classes to fetch the records using multiple SOQL statements to capture the data in CSV format.
Workbench is a visual database design tool. It was used to transfer Account and Cases into a CSV. Whereas Salesforce developer made use of VS Code for scripting to recognize which linked records can be exported. This stage of work was crucial due to the analyzed conclusions. The results of the scripting performed showed not all data can be transferred in the same way. VS code stands for Visual Studio Code. It is Microsoft source-code editor with a multi-language syntax highlighting option. In 2018, it was recognized as the most popular software development tool.
1. Performing the analysis of the transferred data
2. Using VS to check which data can be transferred
3. Application of a workbench tool to transfer data to CSV
4. Create a sample CSV file
5. Consultation with the client and presentation of the designed solution
In summary, open communication with the client and adapting the form of presenting the stages of work are essential in this type of project. It very often happens that a project requires much more complex solutions than it was initially assumed.
The Project board enables transparent communication between the freelancer and the client. The project manager also has access to the project board to control the course of cooperation so that the client receives all the necessary information. The image above shows a detailed description of the situation analyzed by the salesforce developer.