- You need admin privileges in Salesforce to navigate the configurations described in this tutorial.
- This is a third-party article about Salesforce features. The names and labels used here are not necessarily up-to-date with the Salesforce platform.
The main method of synchonizing Salesforce data to SalesScreen is through a persistent connection, conducted by the Salesforce Streaming API. For the Streaming API to function properly with regards to sending data to SalesScreen, it relies on certain configurations in the Salesforce organization — specifically the Profile of the user account that initialized the connection between Salesforce and SalesScreen.
The User Profile Settings
Navigate to Setup > Profiles, and click on the profile that is assigned to the API User.
An wide range of settings for the profile will be presented to you. Please, make sure the following settings are enabled.
- API Enabled: Gives the user access to the Salesforce API in order to read data and present it in SalesScreen.
- API Only User (Optional): The user will not be able to sign in to the Salesforce dashboard, but only gain access to data via the APIs.
- View All Data (Optional): Allows the user to view all the data in the Organization. The user does adhere to the Organization wide defaults
- View All Users: Allows the user to view all users object, regardless of sharing settings configuration.
- Password Never Expires: Allows the user to a have a password that does not expire. This permission is good for any user that is only used for API purposes.
Note: It may be possible that if the IP Restrict Requests setting is enabled, and the SalesScreen server's IP addresses are not whitelisted, the Streaming API notifications might have trouble reaching SalesScreen.
General User Permissions
- Edit Tasks: Enables Push Topics to be created for the Task standard object.
- Edit Events: Enables data pulling to be enabled for the Event standard object.
Standard and Custom Objects Permissions
- Push Topic: Read / Create / Edit / Delete
- Streaming Channels: Read / View All
- Account: Read / Create / View All
- Contact: Read / Create / View All
Note: The Create permission for Account and Contact must be enabled for the objects to be visible via the REST API. Push Topics can then be created for the objects on the SalesScreen platform. The Read/Create/View All right must be enabled for all standard and custom objects that you want to visualize in SalesScreen.
The Organization's User Interface Settings
In Salesforce, navigate to Setup > User Interface and make sure the following options are enabled.
- Enable Streaming API: Allows the notifications to be sent to subscribers (e.g., SalesScreen) via the Streaming API, whenever a record is created, updated or deleted.
- Enable Dynamic Streaming Channel Creation: This setting is a feature of the Streaming API.
Make sure that the Sharing Settings are sufficient for sending notifications of new/updated records via the Streaming API.
Navigate to Setup > Sharing Settings and make sure that the Streaming Channel object is set to Public Read/Write.
Note: It's smart to look over the sharing settings for standard and custom objects that you want to visualize in SalesScreen. For instance, if you want to synchronize the Opportunity records to SalesScreen, make sure the Opportunity object sharing setting is set to Public Read Only.
If the API user has any Permission Sets assigned to it, make sure none of them limit the user account's access to standard/custom objects, records or APIs in the organization.
You can get an overview of any Permission Sets assigned to the user by navigating to Setup > Users and clicking on the specific user. On the user detail page, scroll down to Permission Set Assignments.
A list of all existing Permission Sets can be found under Setup > Permission Sets.
Creating Salesforce Records from External Source
Note that if you create Salesforce records by sending data to API endpoints (e.g., the SOAP API), rather than creating the records directly in the Salesforce platform user interface, you must make sure that the StreamingEnabled property (StreamingEnabledHeader) is enabled for the incoming records.
When this property is set to true, it results in streaming notifications being sent to all subscribers for changes made to Salesforce data.