In this series of post, we’ll see how we can use Azure Durable function(an extension of Azure Function which works on durable task framework) with D365 CE. We can find more details about Durable functions, it’s application patterns, pricing and the way it works here:

This series of post is divided into 6 parts:
Part 1: Starting with Azure Durable Function in VS 2019
Part 2: Using Azure Durable Function to perform CRUD operation in D365 CE
Part 3: Parameterize Azure Durable Function to perform CRUD operation in D365 CE
Part 4: Register WebHook using Plug-in Registration Tool for parameterized Azure Durable Function
Part 5: Invoke webhook using custom global action
Part 6: Invoke custom global action using JS based on business requirement

In this post, we’ll discuss Part 1 mentioned above. Let’s get started.


  • Azure Development workload already installed with Visual Studio 2019.(VS 2017 can also be used)
  • Azure subscription

We can verify if it’s installed or not following below mentioned steps:
Search for Visual Studio Installer in Windows and open it.

Select VS 2019 and click Modify.

If Azure Development is already selected then it’s installed. If it’s not selected then you can select and go ahead with installing it before starting with Durable Function.

Once Azure Development workload is installed, Open VS 2019 and click Create a New Project as shown below:

Select Azure Function and click Next.

Give a name and click Create.

Make sure Azure Functions v2 is selected in the dropdown and select Empty trigger. Click Create.

Once the project is loaded, Right click on project –> Click Add –> New Azure Function as shown below:

Give a Name –> Click Add.

Select Durable Functions Orchestration and click OK.

Once done, we can see that there are 3 azure functions created automatically. Brief information about these functions(the function names can be changed though which we’ll do in the next post of this series):
AccommodationPayments_HttpStart: It is the entry point of durable function which gets triggered through an HttpRequest(get/post) and the prime job of this function is to start the orchestration instance(AccommodationPayments azure function).
AccommodationPayments: The orchestration function which calls the activity function(AccommodationPayments_Hello) which actually does the work.
AccommodationPayments_Hello: The activity function which actually does the work.

In the next post, we’ll see how we can use Durable function to perform CRUD operation in D365 CE.

Hope it helps !!