Fixed – Duplicate records in Azure Synapse Link (Dataverse)


Recently for some of our Dataverse environments, we found duplicate records getting created (same GUID) for Notes and Work Order Incident tables in the corresponding CSV files.

Here we were using In place updateIn-place updates vs. append-only writes

This was causing the Power BI reports built on top of it to fail.

On raising the ticket, the Microsoft Support team mentioned that this is a known bug for certain regions, and they immediately ran the de-duplication scripts in the background which quickly fixed the issue for us. Also, they specified they will be deploying the fix for the issue in the coming days.

Hope it helps..

Advertisements

Fixed – System.InvalidOperationException: Message size exceeded when attempting to send response to sandbox. Message Size 123 Mb. Max Allowed 128974848 Mb (Dataverse / Dynamics 365 )


Recently we got the below exception for one of our plugins
Message: System.InvalidOperationException: Message size exceeded when attempting to send response to sandbox. Message Size 123 Mb. Max Allowed 128974848 Mb.

Below is the code where we were getting the error. We were retrieving the notes records associated with the inspection response/inspection attachments. (Dynamics 365 Field Service)

And if we had a total of all attachments to it more than 100 mb it was failing.

Below is the test Work Order Service Task record for which we were getting the error.

There were a couple of other attachments also to it making a total of more than 100 Mb.

Here to fix the error instead of fetching all the note details at once and then processing the notes attachments, we updated our logic to process the notes attachments one by one.

Hope it helps..

Advertisements

Exploring Pascalcase Data Mask App for masking data for Dynamics 365 and Power Platform Environments


You have probably used the copy environment feature in the Microsoft Power Platform admin centre to copy data and customizations between environments.


However, there is a crucial aspect to consider data privacy and security. When transferring data, especially to sandbox environments which typically have less stringent access controls, there is an inherent risk of sensitive information becoming exposed to unauthorized personnel. Such scenarios pose a threat to compliance with stringent data privacy regulations, including GDPR, HIPAA, and CCPA.

However, there is no out-of-box to mask data. Here comes Datamask App which helps with data protection by replacing sensitive information with dummy data.

Diving into the Strength of Data Masking

In the Power Platform sandbox environments, developers, and testers often grapple with the challenge of handling real data without compromising privacy and security. The Data Mask App steps in as a powerful solution to this dilemma. Its primary mission? To mask, anonymize, and obfuscate Dataverse data, offering a shield against potential data breaches.

How does Data Mask app work?


  • You can download the app from Microsoft AppSource, Download Data Mask app, and the app is available as managed solution.
  • Upon importing the solution, you need to configure the data mask app.
  • With configuration, users can selectively mask specific fields, choosing from options, such as replacing with dummy names, generating random strings, or employing asterisks for a discreet approach.


    Configuration settings for masking Account number field in Account table.

  • Various configuration options for table records provide versatile ways to protect sensitive data configurations, it collectively empowers users to customize data protection strategies based on specific needs and compliance requirements.
  • This dynamic approach ensures that sensitive information, like full names and contact details, is transformed into a secure and privacy-preserving version while retaining its integrity.
  • When a data mask run is created the masking process starts and we can track the masking of records in the logs section.


Free plan and paid plan

If you would like to test, there is a ‘Test Drive’ option. Otherwise, you can install the app in your environment, but there is a 1000-record limit. If you would like to buy the tool, you can contact https://pascalcase.com for a license.

Advertisements

Use the theme assistant Copilot to style emails (Dynamics 365 Customer Insights – Journey / Marketing)


Using Copilot’s theme assistant we can fetch the styles from a website and apply it to our email. Microsoft strongly recommends using Theme Assistant only on websites owned and not on 3rd party websites.

To use this feature, open an existing email record, enter the Website’s URL in the theme assistant section, and click on the Fetch Styles button.

The theme assistant will fetch the styles from the website and apply them to the theme of the email. We can also see the changes in the email editor.

If we are happy with the theme applied we can select the Keep and
close option or we can select Start over to specify another website.

We can further edit the theme as required.

Get all the details

Hope it helps..

Advertisements

Fixed – Invalid type. Expected Integer but got Number (Power Automate)


In one of our Cloud Flows, for Parse JSON action, we got the below error –

ValidationFailed. The schema validation Failed.

“Invalid type. Expected Integer but got Number”

The generated schema had data type defined as integer instead of number type for certain properties, and the response was having decimal value to it.

So replacing the “integer” with “number” in the Schema of Parse JSON action fixed the issue.

Hope it helps..

Advertisements

How to – Submit multipart/form-data using HTTP action in Power Automate (Dataverse)


Recently we were calling an API (that expects multipart/form-data) to pass the image uploaded in Dataverse’s Image Column.

We used Power Automate for this i.e. to get the image uploaded and use HTTP Action to call and pass the Image details to it.

Below is the specification of the API

https://vision.foodvisor.io/docs/#/paths/analysis/post

We used the “Download a file or an image” action to get the Image details

Below is how the HTTP action was used to pass the required details.

The successful response –

The body of the HTTP action –

{
"$content-type": "multipart/form-data",
"$multipart": [
    {
      "headers": {
        "Content-Disposition": "form-data; name=\"image\"; fileName=\"@{items('Apply_to_each_2')?['filename']}\""
      },
      "body": @{body('Download_a_file_or_an_image')}
    }
  ]
}


If we want to pass more than one data, we can have multiple headers defined as shown below

Helpful post –

Hope it helps..

Advertisements