Associate activities (Email) with multiple related records – Dataverse / Dynamics 365


This new feature allows associating an activity record with multiple related records or related parties.

For E.g. we might want to associate an email with multiple cases, or with case as well as account and contact records.

It is still in the public preview (April 24) and is only available for Email Activity.

To see it in action, first, we need to add the Related field of type Party List to the form.

We can see the option to add related records of type Account, Case, Contact, Knowledge Articles, Queue, and User to it.

A screenshot of a computer

Description automatically generated

Below we can see multiple records of different tables added to it.

Also, we can see the email record showing up in the timeline of the corresponding related records.

A screenshot of a computer

Description automatically generated

Check more details

Hope it helps..

New Attachment features for Email – Dataverse / Dynamics 365


We can see a few new features added to attachments for email activity as part of 2024 Release Wave 1.

  • We can use drag and drop to add attachments.
  • Select (Select All) and copy the attachment(s)
A screenshot of a computer

Description automatically generated
A screenshot of a computer

Description automatically generated
  • And can paste it to another email
A screenshot of a computer

Description automatically generated
  • Bulk download and delete the attachment(s)
A screenshot of a computer

Description automatically generated
  • We can switch between Tile and Grid view which also shows the size of the attachments.
A screenshot of a computer

Description automatically generated
  • We can export attachments to Excel.
A screenshot of a computer

Description automatically generated
  • The exported Excel file will have the following details
A screenshot of a computer

Description automatically generated

Get all the details here

Hope it helps..

Advertisements

Geofencing unit ‘Mile’ with id: ” cannot be removed – Dynamics 365 Field Service


While trying to delete the Unit records related to the “Distance Units of Measure for Resource and Asset Location Management” unit group, we will get the below error

Geofencing unit ‘Mile’ with id: ‘<GUID>’ cannot be removed

Below is the out of the box plugin that restricts the deletion of the unit

The code for the plugin –

UOM GUIDs –

And the GUIDs within the environment –

To know more about Geofencing.

Hope it helps..

Advertisements

Using Union function to remove duplicates – Power Automate / Dataverse


We recently got the below error in one of our cloud flows, the requirement was to fetch the distinct work orders that have notes with attachments associated with them.

A resource of type ‘Microsoft.Dynamics.CRM.annotation’ was found in a resource set that otherwise has entries of type Microsoft.Dynamics.CRM.msdyn_workorder’. In OData, all entries in a resource set must have a common base type.

This occurs if we try using the aggeration in the Fetch XML queries in the List rows action.

The solution was to rewrite the fetch xml query without using aggregation.

And then next if we want to get the distinct values, we can use the Union function for that.

Here,

we are first adding the GUIDs to the varLstWorkOrderGUID array variable using Append to array variable action

And then applying the Union function – to remove the duplicate from the array.

union(variables(‘varLstWorkOrderGUID’), variables(‘varLstWorkOrderGUID’))

The result –

More on Fetch XML Query

Hope it helps..

Advertisements

Fixed- The XRM workflow table row could not be found error (Power Automate)


Recently while trying to open one of our cloud flows we got the below error.

Error: The XRM workflow table row could not be found.

Inside the Power Automate maker portal for the new designer, we got the below error

We could see our flows were in the OFF status.

We switched ON the flows, and this fixed the issue for us.

We were able to edit our flow then.

As we recently restored the environment (was deleted), because of which the corresponding ‘Callback Registration’ records might be incorrect or missing. So enabling the flows would have created new entries in the Callback registration records for our flows, which fixed the error.

Please refer- https://rajeevpentyala.com/2021/01/30/callback-registration-expander-system-jobs-waiting-for-resources/

Hope it helps..

Advertisements

How to – use booking rules for validation checks in Dynamics 365 Field Service


Through booking rules, we can specify custom JavaScript methods, that can be used to run validation checks, before creation or update of a bookable resource booking record. Based on the result of the validation checks we can either warn the user or cancel the booking create or update event.

Booking rules are triggered when a resource is booked or a bookable resource booking record is either created or updated using the schedule board, schedule assistant, or booking form.

The booking rules are not triggered if the booking form has business process flow enabled. We can also disable the booking rule to be triggered on the save of the booking form by enabling the setting – msdyn_DisableProcessBookingRulesOnSaveBookingForm

Let us see it in action.

Below is our JavaScript method to be used as a Booking Rule.

function Validate(sbContext) {
  
    var url = Xrm.Page.context.getClientUrl();
    var ruleResult = {
        IsValid: false,
        Message: '',
        Type: 'error'
    };
  
    var isScheduleBoard = sbContext.newValues.ResourceScheduleSource;
    var isUpdate = sbContext.isUpdate;

    if (isScheduleBoard === '690970001' && isUpdate === true) {
        ruleResult.IsValid = false;
        ruleResult.Message = 'Booking cannot be updated from the Schedule Board';
        ruleResult.Type = 'error';
    }
    else {
        ruleResult.IsValid = true;
        ruleResult.Message = '';
        ruleResult.Type = '';
    }     

    return ruleResult;
}

To create a Booking Rule, navigate to Resources >> Booking Settings >> Booking Rules inside the Dynamics 365 Field Service app and create a new booking rule, specifying the web resource and the method inside it.

Let us try to update a booking from the schedule board.

This will trigger our booking rule and will pass the context object, which contains details like whether it is a create or update event, and details around old values and new values for start time, end time, resource details, etc. for that booking.

We can use these values passed in the context, fetch more details about the corresponding resource or work order, have our validation logic defined there, and finally pass the ruleResult object.

If we want to cancel the event, we can set IsValid as false, specify the error message, and set Type as an error in the ruleResult object. Similarly, if it passes the validation, we can set IsValid as true.

This is how the error message shows up, and the event is canceled inside the schedule board.

Below we can see the same booking rule being triggered from the Booking Resource Booking form.

We can deactivate the booking rule record created if we do not want it to trigger.

Get all the details here – Booking Rule

Hope it helps..

Advertisements