Skip to content

Latest commit

 

History

History
67 lines (51 loc) · 5.6 KB

README.md

File metadata and controls

67 lines (51 loc) · 5.6 KB

Azure Functions for retriving data from SharePoint Online, Dynamics CRM, and Dynamics 365 Business Central using Entra ID app, Microsoft Graph API and Dynamics 365 Business Central API

This repository contains Azure Functions for retrieving data from a SharePoint list, Dynamics CRM, and Dynamics 365 Business Central. These functions can be used anonymously without additional authentication and requesting permissions from the end-user. For instance, they can be utilized in public web forms as data sources for choice fields—dropdowns, checkboxes, or radios. For more inforamtion on how to install and use them, read articles on retrieving data from SharePoint Online, Dynamics 365 and Dynamics 365 Business Central.

Installation

SharePoint

  1. Open Microsoft Entra admin center
  2. Register an app and add application permissions to read data from SharePoint sites via Microsoft Graph API (Sites.Read.All).
  3. Grant admin consent for your tenant.
  4. Fork this repository.
  5. Sign in to the Azure portal, create a function app, and deploy your forked repository.
  6. Set up Environment variables for your function app:
Name Description
SharePoint:AzureApp:ClientId The Application (client) ID of the Entra ID app
SharePoint:AzureApp:ClientSecret The Client secret of the Entra ID app
SharePoint:AzureApp:Tenant Your Microsoft 365 tenant, ex.: contoso.onmicrosoft.com
SharePoint:ListData:SiteUrl The absolute URL of the source site, ex: https://contoso.sharepoint.com/sites/mysite
SharePoint:ListData:ListName The name of the source list

Dynamics 365 CRM

  1. Open Microsoft Entra admin center
  2. Register an app and add delegated permissions to Dynamics CRM: Dynamics CRMuser_impersanation.
  3. Fork this repository.
  4. Sign in to the Azure portal, create a function app, and deploy your forked repository.
  5. Copy the URL of the D365-CRM-Authorize function and paste it to AuthenticationWebRedirect URIs of the Entra ID app
  6. Set up Environment variables for your function app:
Name Description
Dynamics365.CRM:AzureApp:ClientId The Application (client) ID of the Entra ID app
Dynamics365.CRM:AzureApp:ClientSecret The Client secret of the Entra ID app
Dynamics365.CRM:AzureApp:Tenant Your Microsoft 365 tenant, ex.: contoso.onmicrosoft.com
Dynamics365.CRM:AzureApp:DynamicsUrl The URL of your Dynamics CRM, ex.: https://mycompany.crm4.dynamics.com
  1. Copy the URL of the D365-CRM-Authorize, open it in your browser, and approve the permission request. After that, all requests to Dynamics 365 CRM will perform on behalf of your account. The end-user will not be asked for permissions.

Dynamics 365 Business Central

  1. Open Microsoft Entra admin center
  2. Register an app and add delegated permissions to Dynamics 365 Business Central: Dynamics 365 Business CentralFinancials.ReadWrite.All.
  3. Fork this repository.
  4. Sign in to the Azure portal, create a function app, and deploy your forked repository.
  5. Copy the URL of D365-BC-Authorize function and add it to AuthenticationWebRedirect URIs of the Entra ID app
  6. Set up Environment variables for your function app:
Name Description
Dynamics365.BusinessCentral:AzureApp:ClientId The Application (client) ID of the Entra ID app
Dynamics365.BusinessCentral:AzureApp:ClientSecret The Client secret of the Entra ID app
Dynamics365.BusinessCentral:AzureApp:Tenant Your Microsoft 365 tenant, ex.: contoso.onmicrosoft.com
Dynamics365.BusinessCentral:AzureApp:InstanceId Your Business Central ID: https://businesscentral.dynamics.com/{instanceId}/?referrer=office
Dynamics365.BusinessCentral:Customers:Company The name of the source company for D365-BC-Customers function
Dynamics365.BusinessCentral:Vendors:Company The name of the source company for D365-BC-Vendors function
Dynamics365.BusinessCentral:Items:Company The name of the source company for D365-BC-Items function
  1. Copy the URL of the D365-BC-Authorize, open it in your browser, and approve the permission request. After that, all requests to Business Central will perform on behalf of your account. The end-user will not be asked for permissions.

License

The MIT License (MIT)

Copyright (c) Plumsail