In my last post, we saw how the Informatica Cloud lets you create bulk data load (i.e. ETL) tasks using a web-based designer and uses a lightweight local machine agent to facilitate the data exchange. In this post, I’ll show you how to transfer data from Salesforce.com to Dynamics CRM Online using the Informatica Cloud.
In this four-part blog series, I will walk through the following scenarios:
- Part 1 – Sending File Data to Dynamics CRM Online
- Part 2 – Sending Salesforce.com Data to Dynamics CRM Online
- Part 3 – Sending Dynamics CRM Online Data to a Local Database
- Part 4 – Sending Salesforce.com Data to Local Database
In this post, I’ll build the following solution.
In this solution, (1) I leverage the web-based designer to craft the ETL between Salesforce.com and Dynamics CRM Online, (2) use a locally installed Secure Cloud Agent to retrieve ETL details, (3) pull data from Salesforce.com, and finally (4) move that data into Dynamics CRM Online.
What’s interesting is that even though this is a “cloud only” ETL, the Informatica Cloud solution still requires the use of the Cloud Secure Agent (installed on-premises) to facilitate the actual data transfer.
To view some of the setup steps (such as signing up for services and installing required software), see the first post in this series.
Building the ETL Package
To start with, I logged into the Informatica Cloud and created a new Data Synchronization task.
On the next wizard page, I created a new connection type for Salesforce.com and provided all the required credentials.
With that in place, I could select that connection, the entity (“Contact”) to pull data from, and see a quick preview of that data in my Salesforce.com account.
On the next wizard page, I configured a connection to my ETL target. I chose an existing Dynamics CRM Online connection, and selected the “Contact” entity.
Instead of transferring all the data from my Salesforce.com organization to my Dynamics CRM Online organization, I used the next wizard page to define a data filter. In my case, I’m only going to grab Salesforce.com contacts that have a title of “Architect”.
For the data mapping exercise, it’s nice that the Informatica tooling automatically links fields through its Automatch capability. In this scenario, I didn’t do any manual mapping and relied solely on Automatch.
While, like in my first post, I chose not to schedule this task, you’ll notice here that I *have* to select a Secure Cloud Agent. The agent is responsible for executing the ETL task after retrieving the details of the task from the Informatica Cloud.
This ETL is now complete.
Testing the ETL
In my list of Data Synchronization Tasks list, I can see my new task. The green Run Now button will trigger the task.
I have this record in my Salesforce.com application. Notice the “title” of Architect.
After a few moments, the task runs and I could see in the Informatica Cloud’s Activity Log that this task completed successfully.
To be absolutely sure, I logged into my Dynamics CRM Online account, and sure enough, I now have that one record added.
There are lots of reasons to do ETL between cloud applications. While Salesforce.com and Dynamics CRM Online are competing products, many large organizations are going to likely leverage both platforms for different reasons. Maybe you’ll have your sales personnel use Salesforce.com for traditional sales functions, and use Dynamics CRM Online for something like partner management. Either way, it’s great to have the option to easily move data between these environments without having to install and manage enterprise software on site.
Next up, I’ll show you how to take Dynamics CRM Online data and push it to an on-premises database.