Fix – Cannot write more bytes to the buffer than the configured maximum buffer size: 104857600 (Power Automate / Dataverse)


We might below error in our flow –
BadRequest
. Http request failed as there is an error: ‘Cannot write more bytes to the buffer than the configured maximum buffer size: 104857600.’.

This is because of the 100 MB Message Size limits in Power Automate.

We can enable Allow chunking option if supported by the action.

Or we can fix it by specifying Select columns and Filter Rows to limit the data returned as in the case of the List Rows action of Dataverse.

Hope it helps..

Advertisements

Custom Actions missing in the “Perform Action” step of the workflow (Dataverse / Dynamics 365)


We might see some of the custom actions not appearing in the Actions list inside the Perform Action step of the workflow.

This is because the Custom Action would be using one of the following parameter types, which is not supported for Perform Action like

  • Picklist (Optionset)
  • Entity
  • Entity Collection

E.g. we have the following actions defined few are bound to the Contact table, some are Global, and have different types specified as either Input or output parameter.

Out of the above actions defined, we can see only the following actions listed inside the perform actions step of the workflow.

The action which has input as Entity Reference are the ones listed, as it is one of the supported types. For the unsupported types, if used as an output parameter, the actions are listed.

https://learn.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/create-own-actions?view=op-9-1#execute-an-action-using-a-process

Hope it helps..

Advertisements

Enable / Disable (turn on / off) multiple business rules – Dataverse / Dynamics 365


Within the Maker Portal, we can only turn on / turn off one business rule at a time.

If we select multiple business rules, we do not see that option.

Here we can make use of XrmToolBox’s Bulk Update Plugin.

Get the required business rules, using the FetchXML and use the Set State option to update the status of the business rule.

Here Category = 2 is Business Rule and Type = 1 is Activated.

The other values for type are Definition and Template.

Get more details on the type – https://sachinbansal.blog/2018/05/02/error-while-deactivating-workflows-should-be-exactly-1-messageprocessingstep-registered-for-workflow-dynamics-365/

We can also use the Advanced Find editor to activate/deactivate the business rules.

We can see our business rule activated.

Similarly, we can enable and disable multiple cloud flows –

Hope it helps..

Advertisements

Business Rules in Bulk Edit and Import (Dataverse / Dynamics 365)


Let us see an example of a Business Rule with scope as Table (Entity) triggering on Bulk Edit as well as Data Import.

Below is our Business Rule – It shows the error message if the First Name is equal to the Last Name of Contact.

Here we are bulk updating the contact records and setting the last name same as the first name.

We can see the exception being thrown.

Below are the exception details –

Now let us try exporting/importing these records by setting the same value for both the first name and last name fields.

On Importing the Excel, we can see the records as partially failed.

We can see our error message in the Failures tab of the import record.

Similarly, let us check another Business Rule that sets’s description value based on the value of the First Name field.

Below we are bulk updating the contact record’s first name field.

We can see the Description field updated.

Now let us try the export and import of some of the records after updating its first name

Before –

After –

The import record status shows success

As expected that triggered the business rule

Hope it helps..

Photo by Monstera Production on Pexels.com
Advertisements

The webhook call failed because the Http request timed out at client side. Please check your webhook request handler – Dataverse / Dynamics 365


Recently we were getting the below for one of our webhooks registered on Update of lead.

Exception Message: The webhook call failed because the Http request timed out at client side. Please check your webhook request handler.

To test the timeout, we created a below Microsoft Flow with HTTP trigger, Delay and actions to be used as Webhook.

Helpful post – https://d365demystified.com/2021/11/23/call-flow-from-webhooks-in-dynamics-365-crm-power-automate/

Let us register this through the Plugin Registration tool.

We can get the values from the HTTP Post URL Generated.

For the Endpoint URL, enter URL Path and use Params for Key and Values.

Register the synchronous step on the update of the lead for the webhook

Let us trigger the flow, right now we have Delay set as 10 seconds.

The flow runs successfully as expected.

Now let us update the delay to 61 seconds and trigger the flow again by updating the lead record.

As expected we get the time-out error this time.

The same is the case if we register the plugin step asynchronously.

For the asynchronous step, we can check the corresponding system job for the error.

https://learn.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/use-webhooks?view=op-9-1#possible-causes-for-failure

Hope it helps..

Advertisements

Transitioning from Unmanaged to Managed Solution (Dynamics 365 / Dataverse)


Microsoft has always recommended managed solution(s), apart from the some of benefits that managed solutions offer over unmanaged, Microsoft is also adding features to the managed solution, making it easy for teams to adopt and transition to Managed solutions, like focusing on making the solution import faster and adding ALM-specific features to it.

Let us take a simple example to see it working –

Suppose we have 2 environments, a Test and a Managed environment.

The test environment has 2 unmanaged solutions from different publisher that is already deployed to the target environment as unmanaged.

Source

Target

Ideally, we should be creating 2 copies of production environments, one for creating the new unmanaged solution (s) containing the components to be converted to managed and the other environment where the unmanaged solution (s) will be converted to managed and will be used for testing and validation.

Ref – Dynamics 365 FastTrack Architecture Insights – ALM Transitioning from Unmanaged to Managed Solutions

https://learn.microsoft.com/en-us/shows/dynamics-365-fasttrack-architecture-insights/alm-transitioning-from-unmanaged-to-managed-solutions

Now let us create a new unmanaged solution in the source environment that will combine the components we have in Pub 1 and Pub 2 unmanaged solutions.

Here we can use the wonderful XrmToolBox plugin – Solutions Components Mover.

https://prajapatiamit.medium.com/move-the-components-between-customization-solutions-in-d365-customer-engagement-crm-solution-8f17a1fafb2b

Select source solutions and the target solution (combined) in our case, and click on Copy Components.

Here we have selected all the component types.

Back in our TestEnv, we can see the components of the solution added from Pub 1 and Pub 2 solutions to the combined solution.

Let us export the combined solution as managed.

The other way to create the combined solution would be to “Include all objects” for unmanaged components like custom tables. For managed components, like out-of-the-box tables lead, contact, case, etc, we’d only select the components customized.

Run the below command, to connect to the destination (managedenv) environment.

https://learn.microsoft.com/en-us/power-platform/developer/cli/reference/auth#pac-auth-create

Run the below command, to convert the unmanaged solution to managed.

https://learn.microsoft.com/en-us/power-platform/developer/cli/reference/solution#–convert-to-managed–cm

We can see the managed solution imported successfully to our target environment.

For quick reference –

Unmanaged

Managed

Unmanaged solutions are intended to be used in the development environment.

Managed solutions are intended to be distributed and installed.

Unmanaged solutions can be exported either as managed or unmanaged.

Managed solutions cannot be exported

Components can be directly edited within an unmanaged solution.

Components inside the managed solutions cannot be edited directly. Editing can only be done in the corresponding unmanaged solution or an additional unmanaged solution in dev and then exported and imported as managed in the target environment.

The unmanaged solution can be seen as the source code

A managed solution can be seen as a compiled code.

Deleting an unmanaged solution only deletes the solution container, all unmanaged customizations remain in effect and are applied to the default solution of the environment

Deleting a managed solution removes the customizations from the environment.

   

Benefits

Benefits

Unmanaged solutions allow for real-time customization directly within the environment.

The managed solution secures the solution components in the environment, by restricting the user from making changes or removing components from it.

Developers can make changes on the fly without the need for importing/exporting solutions

Ability to uninstall/roll back. In case of issues or undesired changes, managed solutions make it easier to roll back to a previous version. This can be crucial for maintaining system stability and ensuring minimal disruption to ongoing operations

 

The managed solution supports layering allowing multiple solutions to be installed simultaneously without conflicts.

 

Clearly defined component ownership in the case of multiple publishers/solutions.

 

Improved solution import performance with reduced performance impact on the environment.

Check the below links for more details

https://learn.microsoft.com/en-us/shows/dynamics-365-fasttrack-architecture-insights/alm-transitioning-from-unmanaged-to-managed-solutions

https://learn.microsoft.com/en-us/power-platform/alm/move-from-unmanaged-managed-alm#convert-an-unmanaged-solution-to-managed

Hope it helps..

Advertisements