This article includes links to and information from outside resources. We are not responsible for the content on the external site. If there is a link that does not work, please email [email protected] and we will attempt to adjust the information with an updated link.
Q: Does Elements have APIs?
A: Elements does not have APIs through DataBroker, but firms are able to use SFDC REST API service for SFDC proprietary development.
Q: What concerns should be considered prior to proprietary development?
A: There are three possible concerns with proprietary development:
-
Elements may create what you’ve developed in our product at a point in time in the future.
-
Elements does not support or troubleshoot proprietary third-party development.
-
Elements has proprietary context built in conjunction with SFDC Enterprise Sales, if CRM tools do not work with a client's proprietary enhancements, the process for resolution is to disable the proprietary features in favor of Elements' out-of-the-box functionality.
Q: Is Elements compatible with identity providers?
A: Yes and no. Proprietary SFDC login screens are likely compatible with third-party identity providers (Okta, Etc.). Data Broker resources, such as Context links & Real-Time Controls, to third-party systems are not.
Q: Which SFDC APIs are needed?
A: This depends on the scope of the project. Elements uses the following via Data Broker:
-
Connected App - Allows Elements to query user entitlements and permission for an added layer of security when building integrations (vs. using a hardcoded system account).
Q: How does Elements indicate the entities that Elements owns or has added to SFDC?
A: Elements adds the prefix to Elements entities as “SalenticaLMNTS__”. Firms can also access the Elements managed solution to see which entities are included. Also, note Elements “renames” proprietary Salesforce entities (ex. Account=Relationship object).
Q: What are dependencies and what needs to be known about them?
A: Dependencies are scenarios where in order to complete one action, something must happen before it. Elements is full of dependencies which can be problematic from a third-party development perspective, as the context to the dependencies is often not surfaced in external collateral. An example of a dependency is Address Manager. In order to create an address and sync it to a contact/relationship record, the corresponding address record needs to be created or selected to power the dependent process of surfacing the address on the parent contact/relationship record.
Elements recommends creating a data flow chart with an explicit list of data points/entities for each automated process so they can be reviewed for any potential dependency issues. Elements services can be used to review data process flows for dependency considerations.
Q: What are Webhooks?
A: Webhooks are real-time API calls that servers send out when certain conditions are met with the underlying data on their system. As an example, if a contact record is changed, a “webhook” can be configured to send an API-based notification to a third-party system, and vice versa.
Q: Are Webhooks supported by Salesforce?
A: Yes, Webhooks are supported by Salesforce and Elements can also support Webhooks through DataBroker.
Q: Are there any considerations for using Webhooks?
A: Yes, Inbound Webhooks transmissions will count against API limitations. As such, Elements will always recommend leveraging batch processes vs. real-time webhooks for persistent data integrations, as firms only receive a limited number of inbound calls per 24-hour period. Request batching allows Elements to update multiple CRM records while only using one API call, but is not real-time. There may be ways to configure webhook processes so that changes are only sent over at certain time intervals, or they can be used to send real-time updates to middleware tools for batch processing operations further downstream.
Q: Does Elements have any documentation for APIs?
A: While Elements does not have APIs, this request is for information about the Elements object model. The data dictionary can be provided, which includes:
-
Proprietary platform attributes
-
Managed Elements attributes
-
Firms/third parties should be aware that custom/unmanaged attributes will not be itemized on Elements' data dictionary
Note: an NDA is required between Elements and any third-party providers before Elements can directly share our data dictionary with them.
SFDC API Rest Services Documentation
SFDC API Info: https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm
Please see the following link for an example on how to connect with Postman: How to connect to Salesforce with Postman ?
Salesforce uses the concept of “Connect Apps” that provide options to administer endpoint access and the types of information made available for integration needs. Connect Apps will provide the client ID and client secret that are requirements for bearer authentication to the SFDC REST services.
Setting up Salesforce
First, a connected app needs to be set up in your org. To do so, follow the steps below:
-
In your Salesforce org, go to Setup and search for app. You'll have an option of Apps under Build->Create as shown below:
2. Click Apps and that will open a new page with Apps. Select the subtab Apps, and Connected Apps. On the Connected Apps section click New.
3. A New Connected App page will open as shown below:
4. In the form, enter the Connected App Name, API Name, and Contact Email.
-
The API name should automatically populate.
-
No other information is required
In the API (Enable OAuth Settings) section check the Enable OAuth Settings checkbox. More fields appear as shown below:
5. Similar to making a connected app at any third-party server, which is used for server-to-server communication, for basic authentication to APIs callback, URLs are not required. You can write any URL there. It’s fine to use https://www.salesforce.com if the field is required.
6. On the Selected OAuth Scopes section, choose Access and manage your data (API) and move it from the Available OAuth Scopes to the Selected OAuth Scopes section. It is basically a choice of which APIs you want to use. For example, if you want to use chatter API, you need to add it to the Selected OAuth Scopes section and a similar approach for any other API.
7. Use system administrator credentials to access standard Salesforce APIs for Elements data and any custom APIs made in Apex. Access and manage your data (API) is sufficient for this.
8. Leave other options as is and click Save. The screen below will show:
8. Click the Continue button and the below page will open:
9. As seen in the above image, Consumer Key and Consumer Secret are present in the API (Enable OAuth Settings) section. The consumer key will be visible directly and for the consumer secret, click Click to reveal link and it will be displayed.
For More Information on Elements
Check out the Elements Help Center for more helpful articles and videos.