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.**
If 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.
⚠️ 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.
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.
Sign up for Dynamics 365 Sales
- Visit Dynamics 365 Sales Free Trial page and click on Try for free.
- Enter your
onmicrosoft.comemail and click "Start your free trial".
Dynamics 365 Sales Free Trial Signup
Create an application on Azure AD
- Visit the App registration page on Azure AD
- Click "New Registration"
Click New registration to start creating new OAuth app
Enter in the details of the app, with the redirect URI.
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
Submit the form by clicking "Register"
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
- On the app details page, click "Manifest" on the sidebar and change the value of
allowPublicClientin the JSON editor to
Update the manifest to allow public clients
- Click "API permissions" and click "Add a permission"
Click Add a permission to add Dynamics CRM permission
- Select "Dynamics CRM"
Select Dynamics CRM or search for it in the "APIs my organization uses" tab
- Check "user_impersonation" permission and click "Add permissions" at the bottom.
Select user_impersonation permission and save by clicking Add permissions
You can also grant admin consent for your organization by clicking, "Grant admin consent for ..."
Click "Certificates & secrets" and click "New client secret"
- Enter a friendly name for the secret and click "Add"
Enter a name and select the expiry duration
- You will be shown the Client Secret for the OAuth app, copy it and store it somewhere safe.
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 ->
You can also test out the Dynamics 365 Sales API using Postman by following the instructions here.
Get your Web API Endpoint
- Visit Power Apps dashboard.
- 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
- Click the Cog icon beside the Environment selector and click "Developer resources"
Select Developer resources under the cog menu
- 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.
If you have any questions or run into a roadblock, feel free to reach out to us at firstname.lastname@example.org, we’ll be happy to help.
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.
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 free
Top comments (0)