The Pipeline application which the Opportunity Scoring for Sales Force creates connects to Salesforce using Developer Force sdk.

Developer Force SDK is developed and distributed by Salesforce to be used by .Net applications to interact with Salesforce organizations.


The credentials to be used with this application should have System administrator role for the Salesforce organization for which the application is been set up.

Custom Properties

Two custom properties, Consumer Key & Consumer Secret, in addition to user name and password identify the Salesforce organization which the application is trying to connect. The Consumer Key and Secret form part of Connected App, which in turn is part of the SFDC Package created by "Opportunity scoring team at Microsoft" to enable Salesforce Org to connect to and use Machine Learning Models and Experiments.

The Package is uploaded to Salesforce AppExchange.  Installer application is provided with the Installation URL which the user can use for using the capabilities of this package in their Organization.

At the time of Installation it is recommended that the user installs the package for all the users and permission should be given for accessing the Azure Machine Learning API sites.

Few other major components of the Package are:

Custom Objects such as Opportunity Scoring Result (to store the scores at opportunity level), Opportunity Score Reasons (reason names for significant drivers of score), Opportunity Score Config Details (stores azure subscription details, API keys) etc

Custom field (such as Lead__c in Opportunity object) which creates relation between Lead and Opportunity data.

Apex class which makes the call to the AzureML Models from Salesforce to score Opportunities individually and not at batch level.

Visual Force page which adds a Refresh Score button on the Opportunity Page layout. This button when clicked triggers the Apex class to fetch the score.


For the batch application (pipeline) to work with Salesforce the user has to make few modifications to the System Administrator profile. The IP Login Ranges should be modified to give access to the Azure Web jobs which host the pipeline to the Salesforce organization. This is achieved by adding new value of Start IP ( and Ending IP (


Last edited Sep 7, 2016 at 12:04 AM by prashdesh, version 1