In this example we have registered for a Salesforce developer demo edition with API access enabled at force.com. Lets take a look at the Accounts list.
Fig.: Salesforce list Accounts to replicate to a SharePoint contact list as an example.
To access Salesforce we need any ADO.NET driver for this. In our sample we use the well-known RSSBus Salesforce driver referred as System.Data.RSSBus.SalesForce in the configuration file (see below). The driver must be installed on the computer, that runs the Cloud Connector, usually somewhere in the corporate network, e.g. on Windows 7.
The Cloud Connector is configured as follows:
<?xml version="1.0" encoding="utf-8" ?>
<connection xmlns="http://www.layer2.de/schemas/cloudConnections" interval="60" version="1.2" enabled="true">
<dataEntities>
<dataEntity name="Salesforce"
provider="System.Data.RSSBus.SalesForce"
connectionString="User=myUser@myDomain.com; Password=myPassword;
Access Token=myAccessToken"
primaryKey="Id"
selectStatement="SELECT * FROM Account">
</dataEntity>
<dataEntity name="SharePointDestination"
provider="Layer2.SharePoint.Provider"
connectionString="Data Source=https://myDomain.sharepoint.com/sites/mySite/; Initial Catalog=myList;
Authentication=Office365; User Id=myUser@myDomain.onmicrosoft.com; Password=myPassword;"
selectStatement="">
</dataEntity>
</dataEntities>
<fieldMappings autoMapping="false" >
<fieldMapping>
<field entity="Salesforce" name="ID"/>
<field entity="SharePointDestination" name="Title" />
</fieldMapping>
<fieldMapping>
<field entity="Salesforce" name="Name"/>
<field entity="SharePointDestination" name="Company" />
</fieldMapping>
<fieldMapping>
<field entity="Salesforce" name="Phone"/>
<field entity="SharePointDestination" name="WorkPhone" />
</fieldMapping>
<fieldMapping>
<field entity="Salesforce" name="BillingCountry"/>
<field entity="SharePointDestination" name="WorkCountry" />
</fieldMapping>
</fieldMappings>
</connection>
After sucessful replication the SharePoint list looks like this:

Fig.: Salesforce accounts replicated to a native SharePoint list in the Office 365 cloud.
Please note:
- The replication interval is set to 60 minutes in the configuration file.
- Bi-directional replication is used in this case by default. That means, you can write-back changes in SharePoint to Salesforce.
- You can specify one way replication as well, if required (see manual), e.g. in a migration scenario.
- Automapping is disabled here because the fields in Salesforce have different names compared to the SharePoint contact list.
- You have to generate an Access Token in your Salesforce settings to enable API usage.
- Only changed items are changed in the connected system. So change workflows and notifications can be used on both sides.
- You can have unmapped fields on both sides to host information on one side only, e.g. a picture on SharePoint side.
- On the SharePoint side all list features are supported, e.g. views, lookups, offline replication with Outlook, Tagging etc.
- The replicated items are fully integrated with SharePoint search (because they are in a native SharePoint list ;-)
- No programming is used at all, just a few lines of XML. There will be a user interface for the Cloud Connector starting with version 3.
- In the same way you can replicate to almost any other data provider, e.g. to SQL. Simply replace the data entity section of configuration.
- Installation of the RSSBus driver and configuration of connection takes roundabout 20 minutes only, agile integration at it's best.
Please contact sales@layer2.de if you have questions about any other connections to integrate, replicate or migrate Salesforce. You can download a free shareware version of the connector here.