0 item - $0.00
Glad to have you!

Project - Migrate SugarCRM Accounts and Contacts to Salesforce in 15mints

Posted on March 10, 2016

Migrating of data from one CRM system to another is one of the tedious tasks in migration projects. Companies whether big or small spend a lot of time and money to accomplish this. With the help of a powerful tool like DIALRun™, this can become a cakewalk experience.

DIALRun™ can migrate Accounts (with custom fields), Contacts (with custom fields and email) and its relationships in 3 easy configurations.

Before proceeding let’s have a plan of action. First, I’m going to populate all Accounts data to Salesforce from SugarCRM, when I’m populating the data I’m going to pass on SugarCRM Account ID to Salesforce. Next step I’m going to reverse map all the Accounts ID from Salesforce to SugarCRM Account records. Then I’m going to populate contacts data and Salesforce Account ID from SugarCRM to Salesforce Contacts.

You will need to create two connections for this, one for SugarCRM and one for Salesforce.

You will need to create 5 modals:

Modal 1: SugarCRM Account and Accounts_cstm, let’s name it SugarAccountsObj.

To accomplish this, use “Direct Query” method to create the modal. Due to time constrains, I’m migration only the Prospect accounts. This query will return me only the Prospect accounts. If you are having custom fields in accounts_cstm table then you might also want to use a “Direct Query”.

         select * FROM accounts, accounts_cstm  WHERE account_type='Prospect' AND id=id_c;

Modal 2: Salesforce Account using “Data Object” option, let’s name it SFAccountsObj.

Modal 3: SugarCRM Account modal using “Data Object” option. , let’s name it SugarReveseMapObj.

: : If you are using a custom field as a holder for the Salesforce Account ID, then you have to select Accounts_cstm as the modal table.

Modal 4: Salesforce Contact modal using the “Data Object” option, let’s name it SFContactsObj.

Modal 5: SugarCRM Contacts modal using “Direct Query”, let’s name it SugarContactsObj.

The reason for using a direct query is to bring in all the custom fields, relationship and email address as one data object. Below is my query according to my SugarCRM setup.

select contacts.*, email_address_caps,salesforce_id_c  from contacts

LEFT JOIN accounts_contacts on contact_id= contacts.id

LEFT JOIN accounts on accounts.id=account_id

LEFT JOIN accounts_cstm on accounts.id=accounts_cstm.id_c

LEFT JOIN email_addr_bean_rel on bean_id=contacts.id

LEFT JOIN email_addresses on email_addresses.id=email_address_id

WHERE account_type='Prospect' AND primary_address=1

 Now I’m going to configure the cast: We need to have 3 configurations within one cast to accomplish these steps.

Configuration 1: Steps

  • Create Choose Set, let’s name it SugarAccounts_To_SF.
  • Add SugarAccountsObj modal to the Choose Set.
  • Mark the dataset that will be returned.
  • Select the SFAccountsObj modal as the populate set, and map the needed fields from SugarCRM to Salesforce.
  • Be sure to map SugarCRM Account ID with a custom or unused field in Salesforce. This will be used in next process to create the relationship between accounts and contacts in Salesforce.
  • Choose “Use All” as the populate mode, as this is going to create new records.


Configuration 2: Steps

Configuration two is a basically reverse mapping, that is, we are going to map Salesforce account IDs back to SugarCRM using the SugarCRM account ID we already pushed to Salesforce.

  • Create another Choose Set, let’s name it SFID_To_Sugar.
  • Add SFAccountsObj modal to the Choose Set.
  • Mark the dataset that will be returned.
  • Select the SugarReveseMapObj modal as the populate set, and map Salesforce Account ID to SugarCRM custom field.
  • One additional step before completing your configiration is, you would need to provide an “Apply Based On” condition, as this is going to update records in SugarCRM. This is where the custom field that we created in Salesforce to hold the SugarCRM Account ID comes in handy. Below is my condition, as I have used Salesforce AccountNumber to hold my SugarCRM Account IDs.


             : : When writing condition make sure you enclose the VALUE_OF(FIELD_NAME) with an open  and close quotes where ever applicable.

  • Choose “Strict” as the populate mode, as this is going to update existing records.


Configuration 3: Steps

Configuration three is migrating SugarCRM contacts along with its account relationship to Salesforce.

  • Create another Choose Set, let’s name it SugarContacts_To_SF.
  • Add SugarContactsObj modal to the Choose Set.
  • Mark the dataset that will be returned.
  • Select the SFContactsObj modal as the populate set. Map all the needed fields and most importantly map the field that holds the Salesforce Account ID to the “Accountid” field in Salesforce.
  • Choose “Use All” as the populate mode, as this is going to create new records.

Once you have created all the configurations, give a name for the cast and deploy it.Go to the scheduler and run the job. Once the job has completed its run, you should be able to see Account and its contacts in Salesforce.

 Check the video for the same steps in action.

Write Your Comment

Only registered users can write comments. Please, log in or register

Ready to try the most SIMPLE & POWERFUL data manipulation tool?

Scroll to Top