How to – Use Custom API to create custom messages in Dynamics 365
Custom API (preview) allows us to define our custom messages that can be called from web services, similar to Custom Actions. Usually, we would be creating custom workflow actions just to create a new message, to which we can hook our plugin, without defining any logic in the workflow. For this scenario or pattern now we can use Custom API instead.
There are different ways of creating a custom API.
Through the Maker Portal.
Using Web API or Organization Service.
Editing the solution files.
The 3 key entities involved here are
CustomAPI
CustomAPIRequestParameter
CustomAPIResponseProperty
Let us try creating a CustomAPI through the maker portal.
Create a new solution, and click on New and select Custom API
Let us start with a very basic custom action.
Unique Name
This will be the name of the message. Should have the prefix same as solution’s publisher.
Name
The name of the Custom API will show up inside the solution
Display Name
Localized display name of the Custom API
Description
Localized description of the Custom API
Binding Type
Value: 0 Label: Global
Value: 1 Label: Entity
Value: 2 Label: EntityCollection
Bound Entity Logical Name
Logical name of the entity in case of binding type – Entity and EntityCollection.
Is Function
Value: 0 Label: No
Value: 1 Label: Yes
Allowed Custom Processing Step Type
Value: 0 Label: None Meaning: No custom processing steps allowed.
Value: 1 Label: Async Only Meaning: Only asynchronous custom processing steps allowed
Value: 2 Label: Sync and Async Meaning: No restriction. 3rd party plug-ins can add synchronous logic to change the behavior of the message
Execute Privilege Name
Name of the Privilege that is required for the execution of the Custom API.
Plugin Type
Reference of the plugin registered for the Custom API
So right now we have a very basic custom API registered of Global type, which doesn’t allow any steps to be registered and doesn’t need any privileges to execute
Let us write a sample plugin and associate with this new message.
Let us register the assembly
Now let us go back to our Custom API record and associate the Plugin registered.
Let us trigger the plugin by calling the Custom API through the Postman.
Let us check the plugin trace log inside Dynamics 365 App.
Let us understand this with a simple example. We have the following 2 custom tables having a 1 – N relationship. Project (1-n) Artefact. The relationship behavior is Custom with Cascade All for all…
Recently while trying to Activate a Workflow we got the below error – Turn on failed. The user with SystemUserId=f02934fa-483e-eb11-bf70-000d3a795b83 in OrganizationContext=37c5705b-a88f-4f40-b654-7bab4d5c1f95 is not licensed. Please contact your system administrator to add license to…
For one of our flows while testing we realized it was not getting triggered. We could see it giving below error – There’s a problem that needs to be fixed to trigger this flow…
Suppose we have below array variable – varTestVariable having a list of GUIDs in it. And we have another array variable varWorkOrderGuidToBeRemoved which has the list of GUIDs we want to remove from our…
While trying to set the Start Location / End location to the Resource Address for Bookable Resource, we might get the below error Exception Message: The latitude or longitude for the User record associated…
We can track the different locations Field Service technicians have traveled or where they are at a given time inside Dynamics 365 Field Service. Field Service Technicians can enable location sharing from the app,…
Recently in one of our flow triggers – When a row is modified (Dataverse), we got the below error Exception parsing _msdyn_billingaccount_value eq ‘a84c5028-ecdf-ed11-a7c7-00224893b2b0’ submitted for attribute filterexpression of callback registration. Target entity: msdyn_workorder.…
While trying to create a Website with Template – Partner Portal, we observed the provisioning stuck at – Getting set up… Also, it was showing the below error on checking the Site Health. “URL…
We now have the version support for Cloud Flows in Power Automate. This feature is only available in the new editor. Let us start by creating a simple flow, the creation part will happen…
Recently we had to change the password of the user account being used as an owner of the cloud flows as well as the used for connection/connection reference. So we tried it on a…
11 thoughts on “How to – Use Custom API to create custom messages in Dynamics 365”