In this integration tutorial, I am assuming integrating two Salesforce Systems in order to synchronize Accounts, and this was based on a real use case that I worked on.
Login into the SOURCE SFDC instance using its credentials.
  image1
Open Setup
image2
Using right side search box, open API
image3
Under WSDL and Client Certificates, click “Generate Enterprise WSDL”, then Generate
image4
Save the generated WSDL file (you can name it as you want(, and call it enterprise1.wsdl
image5
Return back to “WSDL and Client Certificates” page, choose Generate Client Certificate
image6
A certiticate is downloaded and called sfdc-client.cert, next we need to convert it to .CER format to be able to import it to ICS. Open certmgr.msc from Windows Run.
image7
Import sfdc-client.cert using certmgr utility.
image8
If the certificate is imported under personal certificates directory, you find a certificate called proxy.salesforce.com.
image9
Open the imported certificate, and under details click “Copy to File”
image10
Choose the default, and export the certificate into .CER
image11
No need to export the issuer or any other certificate on the tree.
Now login to the DESTINATION SFDC instance using its credentials.
image12
Repeat Steps from 2 to 12. You should have the DESTINATION SFDC enterprise WSDL and client certificate.
Now we create outbound message in SOURCE SFDC Salesforce, so that whenever there is an account updated (you build your own criteria), then a new outbound message got created. Under setup, search for “Outbound Messages”.
image13
Click “New Outbound Message” , and choose “Account” object, then click next
image14
Add the following info:
Name= XYZ_Account
Endpoint URL=http://dummy (to be changed latter)
Choose your Account Fields to be sent, and then save.
image15
Then under Setup, search for “Workflow Rules”.
image16
Click create “New Rule”
image17
Choose “Account” object, then click Next.
Add the following Info:
Rule Name=RULE1
Evaluate the rule when a record is = “created, and any time it’s edited to subsequently meet criteria”
Field= Any criteria field
Operator= equals
Value= License Issued
Then click “Save & Next”
image18
Under “Add Workflow Action”, choose “Select Existing Action”, then choose “Outbound Message: XYZ_Account”.
Then click Save. Then
image19
Open the created rule and “Activate” it.
image20
Now return to “Outbound Message” again, and make sure “Send Session ID” is checked. Then click on “Click for WSDL” to download the outbound message WSDL.
image21
Save the WSDL file to be used with ICS later on and call it accounts.wsdl (you can call it as you want)
image22
Now login to ICS, by adding identity domain and access credentials:
Identity Domain=
Username=
Password=
image23
Choose “Connections”, then choose “Create New Connection”
image24
Choose “Salesforce” Adapter
image25
Under “New Connection – Information” add the following:
Connection Name=SOURCE SFDC Conn
Identifier= SOURCE_SFDC_CONN
And under Connection Properties:
Enterprise WSDL Location= source-enterprise-wsdl.wsdl
And under Security:
Username=
Password =….
image26
Test and Save the connection, and make sure it shows 100% completed.
image27
Repeat steps 27 to 30 to create a connection for DESTINATION SFDC instance:
Connection Name=Destination SDFC Conn
Identifier= DESTINATION_SFDC_CONN
And under Connection Properties:
Enterprise WSDL Location= desitnation-enterprise-wsdl.wsdl
And under Security:
Username=
Password =….
image28
Now you should have both of the connections configured.
image29
Now open Administration
image30
Upload Salesforce client certificates for SOURCE SFDC and DESTINATION SFDC that we have converted to .CER
image31
Now return to designer and choose “Integrations”
image32
Then click “Create New Integration” and choose “Map My Data”
image33
Now for “New Integration – Information” add the following:
Integration Name= SFDC Accounts SYNC
Identifier= SFDC _ACCOUNTS_SYNC
image34
Next we need to drag and drop connections to the corresponding endpoints.
image35
Drag and drop SOURCE_SFDC_Conn as a source connection on the left side. A wizard dialog will appear to configure Salesforce outbound messages connectivity.
Call this endpoint “PublishAccounts” (You can call it as you want)
Then Click Next.
image36
Then choose the Outbound Messaging WSDL, in our case we saved it as “accounts.wsdl”.
Then Click Next.
image37
In “Response” step, uncheck Send a response.
Then Click Next.
image38
Review Summary and Click Done.
image39
Now drag and drop DESITNATION_SFDC_Conn to the destination endpoint on the right side.
image40
A wizard will appear to configure Salesforce inbound messages connectivity.
Call this endpoint “SyncAccounts” (You can call it as you want)
Then Click Next.
image41
In “Operations” step, select “Operation Type” equals “CRUD” and then select “create”.
Then under “Business Objects” select “Account”.
Then Click Next.
image42
In “Headers” step choose the default values.
Then Click Next.
image43
Review Summary and Click Done.
image44
Now we need to do mappings and transformation
image45
Click on Create Map, and apply the shown mapping. Then Save and return.
image46
Now the last step is to do tracking configurations for integrations.
Click on tracking on the top, and choose tracking fields.
Then click Done.
image47
Last thing Save and make sure that the integration is 100% complete.
Then click Exit Integration.
 image48
Now “Activate” the integration.
image49
For PoC purposes choose “Enable tracing including payload into Activity Stream” in order to check payload later.
Now we need to copy ICS integration endpoint by clicking on integration details.
 image50
Then add to SOURCE SFDC Outbound Message “XYZ_ACCOUNT” that we created previously, the “Endpoint URL” for ICS that we copied in the previous step
 image51
The Endpoint URL must not include ?wsdl in the end.
Now you can test the integration by either creating new Account in SOURCE SFDC instance and make the criteria is met and outbound message has been sent correctly without issues (you can monitor outbound messages from within Salesforce).