You are using an unsupported browser. Please update your browser to the latest version on or before July 31, 2020.
close
You are viewing the article in preview mode. It is not live at the moment.

Salentica is now Black Diamond CRM Solutions. Click here to learn more.

 

Home > Engage Support & FAQs > Using the Microsoft APIs & Webhooks
Using the Microsoft APIs & Webhooks
print icon

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. 

FAQ

 

Q: Does Engage have APIs?

A: Engage 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:

  1. Engage may create what you’ve developed in our product at a point in time in the future.

  2. Engage does not support or troubleshoot proprietary third-party development.

  3. Engage has proprietary context built in conjunction with Dynamics 365 Enterprise Sales, if CRM tools do not work with a firm's proprietary enhancements, the process for resolution is to disable the proprietary features in favor of Engage's out-of-the-box functionality.

 

Q: Is Engage 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. Engage uses the following via Data Broker:

  • Azure Active Directory Graph - Allows Engage 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 Engage's product features.

 

Q: How does Engage indicate the entities that Engage owns or has added to the Dynamics 365 environment?

A: Engage 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 Engage “renames” some Microsoft 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. Engage is full of dependencies which can be problematic from a third-party development perspective, as the context of 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.

Engage 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. Engage services can be used to review data process flows for dependency considerations.

 

Q: Does Engage have any documentation for APIs?

A: While Engage does not have APIs, this request is for information about the Engage object model. The data dictionary can be provided, which includes:

  • Proprietary platform attributes

  • Managed Engage attributes

  • Firms/third parties should be aware that custom/unmanaged attributes will not be itemized on Engage’s data dictionary  

Note: an NDA is required between Engage and any third-party providers before Engage 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 Engage 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, Engage 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 Engage 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 Engage

Check out the Engage Help Center for more helpful articles and videos. 

 

Feedback
0 out of 0 found this helpful

Engage can be customized by your System Administrator, so your views & access may differ from this documentation. Please contact your System Administrator with specific questions.

scroll to top icon