Note: You need admin privileges in SalesScreen to carry out this tutorial.
Having already initialized integration with Salesforce, it's time to set up a subintegration that will actively retrieve relevant data from Salesforce and visualize it as a KPI of your choosing.
We'll illustrate this process through an example, presented in the step-by-step guide below, but first, let's explain the subintegration approaches.
The Technology behind subintegrations
Subintegrations receive data from Salesforce via Salesforce's Streaming API.
The Streaming API approach immediately notifies SalesScreen whenever an object record (e.g., an Opportunity) is created, updated or deleted. This in turn means that the corresponding SalesScreen report will almost instantly be subjected to the same operation. Subintegrations that receive data from any Custom Objects are supported by the Streaming API, as well as the following Standard Objects:
Account, Campaign, Case, Contact, Lead, Opportunity and Task.
The standard objects that are not supported by the Streaming API will utilize the Salesforce REST API to retrieve newly created/updated/deleted records - once every 10 minutes. The Event object is an example of an object that has to use this approach to synchronize its records with SalesScreen.
Example: New Opportunity triggers new Offer report
In this example, we want the Opportunity object in Salesforce to correspond to an Offer object in SalesScreen.
This means that every time an Opportunity is created or updated in Salesforce, a corresponding Offer report is created or updated in SalesScreen.
NOTE: If the Opportunity is deleted in Salesforce, it will also be deleted in SalesScreen.
Step 1 — Start creating a subintegration
First, navigate to the Salesforce integration dashboard, as seen in the images below, where your integration with Salesforce should already be initialized. If not, follow the 3-step process to initialize the integration.
From the Salesforce integration overview under Company Settings, click on New Subintegration.
Step 2 — Choose Salesforce object and SalesScreen report type
You'll be presented with a view that asks you to choose a Salesforce object from the dropdown menu. Select the Opportunity object.
Proceed to select the Offer object from the SalesScreen object dropdown menu.
To recap: Every time an Opportunity is created, updated or deleted, you want the same operation to be executed on the corresponding Offer object.
Click Continue to Proceed.
Step 3 — Map Salesforce object fields to SalesScreen report fields
The next view presents a selection of dropdown menus that provide you with the choice of mapping Opportunity object fields to Offer report fields.
The Offer fields are labeled above their corresponding dropdown menus - which contain selections of relevant Opportunity fields.
The following image shows a typical mapping setup.
Note that Create individual reports based on products is disabled by default. This function allows the subintegration to generate a new report in SalesScreen whenever the Salesforce object's product field is changed.
In this example we utilize the Opportunity's StageName as the product field. If we enable the function, a new report will be generated in SalesScreen for every stage that the Opportunity goes through. Read more about this functionality here.
The Report Id is the unique identifier of an Offer report. We want it to map to the Opportunity Id field.
The Quantity is not relevant in this case, and the default quantity of an Offer report will therefore be set to 1.
The Amount holds the value of how big the offer was. We want it to mirror the Opportunity Amount field.
The Gross Margin is not relevant in this case, and the default gross margin of an Offer report will therefore be set to 0.
The Report Date shows when the report was created. We want it to mirror the Opportunity CreatedDate field.
The Main User Id points to the user responsible for creating the Offer report. We want it to mirror the Opportunity OwnerId field.
The Second User Id points to a potential second user that should also be credited with the report. This field does not apply in our example. If set, the second user in SalesScreen will not receive the Amount or Gross Margin of the report - only the Main User will.
The Product represents a product that the Offer report was made on . In this case we want the product to be presented as the Opportunity StageName field (e.g., Prospecting, Qualification etc.).
The Customer represents the name of the client that received the Offer . In this case we want to display the name of the Account that corresponds to the Opportunity.
Optional Field Mapping Values
You'll notice that some of the Offer fields are without Opportunity field mappings and simply display 'Optional'.
You are free to define these fields as well when you're setting up your own subintegration.
Custom Field Mapping Values
You can choose to set your own custom value for the fields - except for Report Id and Main User Id. An example is shown in the following image.
In this case, all Opportunities will come in as Offer reports in SalesScreen, with the product always being "My Product Name".
When you are done with mapping the object fields, click Continue.
Step 4 — Create filters (optional)
The final step of creating a subintegration is to set up filters — if needed. These filters, or conditions, help to make sure that only a subset of records of the chosen Salesforce object — in this case, Opportunities — makes it into SalesScreen, thus ensuring that the data is as relevant as possible.
Note: Due to Salesforce Streaming API limitations, certain field types like formula fields, can not be filtered on. As a result, these fields are not available in the dropdown menus.
You'll be presented with a dropdown menu containing all the fields of the Salesforce object that filter can be applied to. You can combine mutiple filters by clicking the AND button or OR buttons, thus enabling you to create more complex filters.
For instance, you might want to only retrieve Opportunities with the Amount bigger than 0 AND the Probability less than 100%, OR the StageName equal to "Closed Won".
The image below shows the Opportunity fields and potential filtering choices you can apply to these fields.
In our example, we've chosen to only retrieve Opportunities with Amount value greater than 0 and Probability value of less than 100 (%). In other words, only an Opportunity with Amount bigger than 0 and Probability less than 100 will automatically show up in SalesScreen as an Offer report.
You can create more filters/conditions, like for instance, the Type value needs to be "New Business".
Finally, click Submit and wait for the subintegration to be created based on the input you've provided.
Step 5 — Review result
Upon successfully creating the subintegration, you be presented with the integration overview, where your new subintegration is now visible, as seen in the image.
It neatly summarizes the function of the subintegration; Opportunities in Salesforce trigger Offer reports in SalesScreen.
Step 6 — Test it
Now that our example subintegration has been set up, it's time to test it out.
Sign in to your Salesforce organization with a user account that is already synchronized to SalesScreen (a corresponding user account exists in SalesScreen). If you haven't done this already, please see our user synchronization documentation.
When signed in, create a new Opportunity. Remember to set the Amount to be greater than 0 and the Probability value to be less than 100 (%). See following image for reference.
Click Save and navigate to SalesScreen in your browser. After a few seconds, you should see a report activity popup in the SalesScreen window, as seen below.
The company feed shows the Offer report in the following image.
Remember that if you update the information of the Opportunity in Salesforce, the relevant information of the correspondingOffer report in SalesScreen is updated as well - within a few seconds.
If you delete the Opportunity in Salesforce, the corresponding Offer report in SalesScreen will be deleted as well.
By holding the mouse over the information icon (next to the Pause button), you'll see a tooltip that displays the object field mappings and any potential filters you set up with the subintegration, seen in the following images.
The top underlined headline of this tooltip tells you that the subintegration utilizes the PushTopic - Streaming API to synchronize the data from Salesforce to SalesScreen.
The second headline summarizes the conditions/filters that are enabled for this subintegration.
You can Pause/Resume the subintegration, or terminate it all together by clicking Remove.