3 steps to integrate Microsoft Dynamics 365 Sales using Web API

3 steps to integrate Microsoft Dynamics 365 Sales using Web API
3 steps to integrate Microsoft Dynamics 365 Sales using Web API

This blog will act as a reference for creating an OAuth web application for Microsoft Dynamics 365 Sales to interact with the Web API. We have done the grunt work and have listed out just the resources you need to integrate.

⚠️
This post is not an in-depth tutorial on how to build OAuth apps in general, some prior knowledge of how OAuth apps work is required.

Prerequisites

You'd need a onmicrosoft.com account. If you don't have one, signup here.

Signup flow for Dynamics 365 Sales Premium Trial

At the end of the signup flow, you will end up at the Power Platform admin center. Just click "Cancel" when prompted to create an Environment.

Power Platform admin center

Sign up for Dynamics 365 Sales

  1. Visit Dynamics 365 Sales Free Trial page and click on Try for free.
  2. Enter your onmicrosoft.com email and click "Start your free trial".
Dynamics 365 Sales Free Trial Signup

Create an application on Azure AD

  1. Visit the App registration page on Azure AD
  2. Click "New Registration"
Click New registration to start creating new OAuth app

3. Enter in the details of the app, with the redirect URI.

4. Select the account type based on whether you want to make this OAuth app available to others (Multitenant) or if you want to use it only in your organization (Single tenant).

Confirm the details before submitting

5. Submit the form by clicking "Register"

6. You can get your OAuth Client ID in the Overview tab, copy and store it somewhere.

OAuth Client ID is present in the Overview tab

7. On the app details page, click "Manifest" on the sidebar and change the value of  allowPublicClient in the JSON editor to true

Update the manifest to allow public clients

8. Click "API permissions" and click "Add a permission"

Click Add a permission to add Dynamics CRM permission

9. Select "Dynamics CRM"

Select Dynamics CRM or search for it in the "APIs my organization uses" tab

10. Check "user_impersonation" permission and click "Add permissions" at the bottom.

Select user_impersonation permission and save by clicking Add permissions

11. You can also grant admin consent for your organization by clicking, "Grant admin consent for ..."

12. Click "Certificates & secrets" and click "New client secret"

Create an OAuth Client Secret

13. Enter a friendly name for the secret and click "Add"

Enter a name and select the expiry duration

14. You will be shown the Client Secret for the OAuth app, copy it and store it somewhere safe.

Copy over the Client Secret

Post creating an OAuth application, you can either use Microsoft's Authentication libraries to add OAuth flow into your web application or any other OAuth client library, you can find the OAuth URLs and flows here.

IMPORTANT: When doing OAuth flow using a non-Microsoft library, add the Web API endpoint (which you'll find in the next section) as part of the scope. For example, if your Web API endpoint is https://abcd.api.crm.dynamics.com/, then add the following to the scope parameter -> https://abcd.api.crm.dynamics.com/.default

You can also test out the Dynamics 365 Sales API using Postman by following the instructions here.

Get your Web API Endpoint

  1. Visit Power Apps dashboard.
  2. Click the Environment selector on the top right and select the "Sales Trial" environment. This environment is created when you sign up for the trial of Dynamics 365 Sales on the first step.
Select the Sales Trial environment

3. Click the Cog icon beside the Environment selector and click "Developer resources"

Select Developer resources under the cog menu

4. The Web API endpoint will be listed.

Make a note of your Web API URL

For information on how to make requests, refer the guide by Microsoft here.

For information about the entities of Dynamics 365 Sales, refer the Web API reference.

Following these steps will you put on the right path to integrating Microsoft Dynamics 365 Sales CRM.

Are you looking to natively integrate with all leading CRMs such as HubSpot, Close, Pipedrive, Freshsales, and Copper? Use Truto.one for free. It’s built for developers by developers to natively integrate all CRMs in one go.

If you have any questions or run into a roadblock, feel free to reach out to us at [email protected], we’ll be happy to help.

Build +200 native integrations

Using Truto's Unified API for CRM, Unified API for ATS, Unified API for HRIS, Unified API for Accounting, and 26 other categories

Get started for free