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 Salentica have APIs?
A: Salentica does not have APIs through DataBroker, but firms are able to use MSFT REST API service for Dynamics 365 proprietary development.
Dataverse API Info: Use the Microsoft Dataverse Web API (Dataverse) - Power Apps
Q: What concerns should be considered prior to proprietary development?
A: There are three possible concerns with proprietary development:
-
Salentica may create what you’ve developed in our product at a point in time in the future.
-
Salentica does not support or troubleshoot proprietary third-party development.
-
Salentica Engage has proprietary context built in conjunction with Dynamics 365 Enterprise Sales, if Salentica tools do not work with a firm's proprietary enhancements, the process for resolution is to disable the proprietary features in favor of Salentica's out-of-the-box functionality.
Q: Is Salentica compatible with identity providers?
A: Yes and no. Proprietary Dynamics 365 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 compatible with identity providers.
Q: Which Microsoft APIs are needed?
A: This depends on the scope of the project. Salentica uses the following via Data Broker:
-
Azure Active Directory Graph - Allows Salentica to query user entitlements and permission for an added layer of security when building integrations (vs. using a hardcoded system account).
-
Dynamics CRM - CRUD interaction with the database CRM database. It’s important to be careful not to conflict proprietary development with Salentica's canned product features.
Q: How does Salentica indicate the entities that Salentica owns or has added to the Engage Dynamics 365 environment?
A: Salentica adds a prefix to our entities which is “si_”. Firms can also access the Engage managed solution to see which entities are included. Also, note Salentica “renames” some canned entities (ex. relationships=account 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. Salentica 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.
Salentica 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. Salentica services can be used to review data process flows for dependency considerations.
Q: Does Salentica have any documentation for APIs?
A: While Salentica does not have APIs, this request is for information about the Salentica object model. The data dictionary can be provided, which includes:
-
Proprietary platform attributes
-
Managed Salentica attributes
-
Firms/third parties should be aware that custom/unmanaged attributes will not be itemized on Salentica’s data dictionary
Note: an NDA is required between Salentica and any third-party providers before Salentica can directly share our data dictionary with them.
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 Microsoft?
A: Yes, Webhooks are supported by Microsoft and Salentica 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, Salentica 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 Salentica 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: What user should be connected to the APIs?
A: Microsoft has the concept of application users that are “non-imaged” and free to use when integrating applications into Dynamics 365 environments. Instructions on how to add applications users are here: Manage application users in the Power Platform admin center - Power Platform | Microsoft Learn
How to Authenticate with MSFT Rest Services
Microsoft uses the concept of “App Registrations” which are tenant-level objects which provide options to administer endpoint access and the types of information that are made available for the integration needs. This app registration will provide the client ID and client secret that are requirements for bearer authentication to the MSFT REST services.
Note: Global Admin Access is required for the tenant.
1. In Azure AD, select App Registrations and then click New Registration.
2. Specify a name, select Accounts in this organizational directory only, select Web, and leave the Redirect URL blank, then click Register.
3. When the App Registration is complete, the detail page will open. Click Certificates & Secrets, and then click New client secret:
4. Give the secret a meaningful name and select Never for the expiry. Click Add to create the secret.
5. You will then see the secret listed. Use the clipboard copy icon to copy the secret.
6. Navigate back to the Overview Menu. Note/copy the Application (client) ID.
7. Navigate to the API Permissions link, then click Add a permission. Select the Dynamics CRM App.
8. Select the Delegated permissions option, and then check the box for user_impersonation. Click Add Permissions at the bottom of the screen.
Microsoft API Rest Services Documentation
Find more information on the Microsoft API Rest Services documentation here: Dataverse API Info: Use the Microsoft Dataverse Web API (Dataverse) - Power Apps
For More Information on Salentica Engage
Check out the Salentica Engage Help Center for more helpful articles and videos.