{Power 2022} How to add custom filter under “Field Service Schedule Board”? 

Business Requirement: Add a Custom filter for a table named “Language” on Field service Schedule board.

Solution:

Open your “Field Service” Application, make sure you are at the “Service” area (You may select the respective area from bottom left corner of the screen)

  • Select “Schedule Board” from the site map
  • Select the board in which you want to add a filter and then click on “Board Settings
  • Select “Other” and then edit “Filter Layout
  • Now, here we are adding “Language” entity filter (This is a custom entity I created). Add the following code under filter layout window:

<control type=”combo” source=”fetchxml” key=”Languages” unspecified-key=”UnspecifiedChildTerritory” label-id=”Language” entity=”test_language” multi=”true”>

         <fetch>

            <!– Table –>

            <entity name=” test_language “>

               <!– Filter By –>

               <filter type=”and”>

                  <condition attribute=”statecode” operator=”eq” value=”0″ />

               </filter>

            </entity>

         </fetch>

      </control>

  • Here “Language” entity filter which we were trying to add is added 😊

Hope it helps!

Power 365ing as usual!

Any problem in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual?

Problem Area – Technical, Functional, Training, Development or consulting?

Me and my team are here to assist, please fill the following form for your business needs: Click here

About the Author:

{Power 2022} Enable editable grid on a Dashboard component in Dynamics 365 CE

Requirement: Enable editable grid on a Dashboard component for views.

Solution:

Follow the following steps to configure editable grid on a view component within Dynamics 365 CE dashboard:

  1. Open the Dashboard for editing by clicking Edit:
  • Double click the View component in which you wish to add Editable Grid control and select control tab:
  • Select Editable grid in the control and set relevant option (selected Web in our example in the blog):
  • Clock Ok and then Save, Close the dashboard(using Personal Dashboard in this example)

Result:

Hope it helps!

Power 365ing as usual!

Any problem in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual?

Problem Area – Technical, Functional, Training, Development or consulting?

Me and my team are here to assist, please fill the following form for your business needs: Click here

{Power 2022} Enable 2022 Wave 1 features and first look at Modern Advanced Find

Today we are going to go through how to enable 2022 Wave 1 feature and then enable Modern Advanced find view settings.

Step 1: Navigate to Power Platform Admin centre and Environments. Under Updates Click Manage:

Step 2: Click on Update now:

Step 3: Leave updates to complete, Activating can take 20-30 minutes:

Next once done navigate to Environment -> Settings -> Features and turn on the following as selected in the screenshot:

Let us go through the feature usage in video format below:

Hope it helps!

Power 365ing as usual!

Any problem in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual?

Problem Area – Technical, Functional, Training, Development or consulting?

Me and my team are here to assist, please fill the following form for your business needs: Click here

{Power 2022} Extract Text out of Rich Text editor control using JavaScript in Dynamics 365 CE

Requirement: Extract text out of rich text editor control text on a Dynamics 365 CE Record form.

Here is the script for this example (written on change event):

function onChange(executionContext)
{

var formContext = executionContext.getFormContext();
formContext.getAttribute("new_plaintextwithhtml").setValue(formContext.getAttribute("new_htmlrichtext").getValue());
formContext.getAttribute("new_texteditorcontrol").setValue(convertToPlain(formContext.getAttribute("new_htmlrichtext").getValue()));


}

function convertToPlain(html){

    // Create a new div element
    var tempDivElement = document.createElement("div");
    
    // Set the HTML content with the given value
    tempDivElement.innerHTML = html;
    
    // Retrieve the text property of the element 
    return tempDivElement.textContent || tempDivElement.innerText || "";
}

Hope it helps!

Power 365ing as usual!

Other ways to learn with me:

Any problem in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual?

Problem Area – Technical, Functional, Training, Development or consulting?

Me and my team are here to assist, please fill the following form for your business needs: Click here

{Power 2022} Automate Scheduled Flow to Create a Task and Sales Assistant Card from 3 Days before the Closing Date of Opportunity in Opportunity Sales Process

Requirement:

Create a Task and Sales Assistant Card for Opportunity Owner and send him 3 Days before the Closing Date of Opportunity Estimated Close Date.

Implementation:

We are going to create a “Schedule Cloud flow” to implement the requirement mentioned above:

  • Go to https://flow.microsoft.com(Make sure you are in the correct environment)
  • Select Solution -> Open your Solution -> then Select Cloud flows from left navigation pane
  • Click on “New” button -> Select “Automation” -> Select “Cloud Flow” -> then select “Schedule Cloud flow”.
  • Give Flow Name as “Create a task 3 days before Est Close Date”.
  • Enter starting Date and Time when you want to run Scheduled Flow.
  • Enter the Duration/Time Interval (Repeat Every) you want run a flow. In this case we want it to run every day so we will select 1 Day.
  • Then click on Create.
  • Then click on “New Step”
  • Select the action as “List Rows”. In our scenario, we are triggering our flow to check if an Opportunity Close Date is in next 3 days, so first we retrieve records of opportunities which will be closed after 3 days.
  • Rename the trigger action as “List Opportunity which close in 3 days”.
  • Select “Opportunities” under Table name.
  • Add Fetch XML of Opportunity Entity under Fetch XML Query.
  • Then click on “New Step”.
  • Now, add “Apply to each” Condition from Choose an operation -> Control.
  • After Select Apply to each Condition, select an output from previous step as VALUE from List Opportunity as shown below.
  • Then click on “Add Action” for Creating a Task.
  • Then Add a Dataverse Trigger “Add new Row” for Creating a new Task.
  • Select “Task” under Table name.
  • Select “Topic” which is Opportunity Name from dynamic content under Subject as shown below.
  • Add “opportunities(Opportunity GUID)” under Regarding(Opportunities) field, which is Look-Up field in Task.
  • For creating a Assistance Insight Card, Select Create Card for Assistance v3 Action as per below Image.
  • After Selection Create Assistance card action, fill all required fields as per following Image.
  • Select Environment Which we use form drop-down menu.
  • Enter card name which we display on Insight card.
  • In Card Header section, Write Header for the Card using Task Topic.
  • In Card Text, we write detail message for card.
  • In Primary Action type we select Option which u want to perform, in our case we select Open record.
  • In Primary Action text we write short message which is show in pop up format.
  • In Primary Action entity type we select entity on which we require to display a Assistance Card.
  • In Primary Action record ID type we select entity on which we require to display a Assistance Card.  
  • Then Save the flow and Test flow by selecting Manual Test.

OUTPUT:

Now, check record whose Est. Close Date is after 3 days from today, for which Task should be Created in Timeline of that Opportunity record.

  • Now we will Open Form (as shown in highlighted square logo)
  • After Opening a Task Record, we can see data is auto populated which we added into the flow along with Subject and Regarding Lookup field.
  • After Opening Assistant It gives notification and Insight Card for Opportunity Entity Record which is Closed In next 3 days.

Hope it helps!

Power 365ing as usual!

Other ways to learn with me:

Any problem in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual?

Problem Area – Technical, Functional, Training, Development or consulting?

Me and my team are here to assist, please fill the following form for your business needs: Click here

{Power 2021} Clear and Update Custom queue field on Case based on Queue items related to the case

Pre-requisites:

  • Should have “Customer Service Hub” app installed in your tenant
  • Add out of box “Case” entity in your solution
  • Create a custom lookup field (Lookup to Queue) titled as “Queue” under Case entity and place it on “Case for interactive experience” form

Requirement:

  1. The Queue to which Case is assigned should get displayed under Queue lookup field
  2. If we are closing the Case as “Resolved” or “Cancel” – Queue lookup field should be set to null

Implementation:

Now, we are creating an “Automated Cloud flow” to implement above 2 requirements mentioned above:

  • Open Solution >> Select Cloud flow from left navigation (Make sure you have selected the correct environment)
  • Click on drop-down arrow next to “New” button >> Select “Automation” >> then select “Cloud Flow” >> then select “Automated Cloud flow
  • Now, give name to your Cloud flow and select the trigger action of Microsoft Dataverse i.e., “When a row is added, modified or deleted”. In our scenario, we are triggering our flow if a Case is added to Queue which means whenever a Queue Item has been created under respective Queue. Then, click on Create.
  • Rename the trigger action as “Whenever a Queue Item record is created or modified.
  • Select “Added or Modified or Deleted” under Change type
  • Select “Queue Items” under Table Name
  • Select “Organization” under Scope
  • Enter “statuscode” (which is logical name of Status field of Queue Item table) under Select Columns

Then click on “New Step”

  • Now, select “Get a row by ID” to get Case details and select “Cases” under Table Name and “Object (Value)” under Row ID. Select “New Step”.
  • Now, select “Get a row by ID” to get Queue Item details and select “Queue Item” under Table Name and “Queue Item” (unique identifier) under Row ID. Select “New Step”.
  • Now, select “Get a row by ID” to get Queue details and select “Queue” under Table Name and “Queue (Value)” under Row ID. Select “New Step”.
  • Select the “Condition” and add the condition where if Status (Queue Item) is equal to “0” i.e., Active. If the condition will be true, “Yes” part of the condition will be continued else it will go under “No” part
  • Click on “Add an action” under “Yes” part and select “Update a record” action.
    • Select “Cases” under Table Name
    • Select “Case” (Unique Identifier) under Row ID
    • Add “queue(QueueValue)” under Queue field

Scroll down a little and see the option of Queue.

  • Click on “Add an action” under “No” part and select “Update a record” action.
    • Select “Cases” under Table Name
    • Select “Case” (Unique Identifier) under Row ID
    • Add null expression under Queue field

Scroll down a little and see the option of Queue.

  • You may now save and test the flow.

Testing:

  • Create a case record by clicking on “New Case” button.
  • Add a Case to Queue by clicking on “Add to Queue” button from ribbon. Here I have a “Test” Queue, so I am using that
  • Now, Queue field which is placed under Case form should be auto populated with respective Queue.
  • Now, click on “Resolve” or “Cancel” option from ribbon
  • Now, check record becomes read-only, and the Queue field is automatically be set to null.

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

clip_image009

Any problem in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual?

Problem Area – Technical, Functional, Training, Development or consulting?

Me and my team are here to assist, Please fill the following form for your business needs: Click here

clip_image011

{Power 2021} Recover Deleted Environment in Power Platform

Microsoft has given the ability to create various kind of environments in Power Platform. Trial environments are often used for temporary POCs and then deleted. But what if you or your team accidentally deleted an Environment and you want to recover it.

Well, follow the following steps to recover a deleted environment (within 7 days of the deletion). In my example, I have deleted an environment called as “Test”.

· Navigate to Power Platform admin centre and click on Environments (Notice a button for Recover deleted environments):

clip_image002

· Select the environment you wish to recover and Click Recover:

clip_image004

· Confirm the pop-up that appears:

clip_image005

· Recovery will be initiated and it can take upto several hours:

clip_image006

· After recovery, you can see your required Environment back in Power Platform Admin centre:

clip_image008

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

clip_image009

Any problem in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual?

Problem Area – Technical, Functional, Training, Development or consulting?

Me and my team are here to assist, Please fill the following form for your business needs: Click here

clip_image011

{Power 2021 – Wave 2} Dataverse search 101: The new way to search in Dataverse

Microsoft has recently introduced a great feature which is the new cool way to search in Dataverse – Its termed as Dataverse search.

How to enable it?

Production environments: Enabled by default

Non-Production environments: Navigate to Power platform Admin centre and you can enable the setting which is highlighted below:

clip_image002

Tip: Scroll down and don’t forget to hit the Save button on the above screen after enabling it. It will take some time first time you enable this feature(Indexes are being created in the background) – so wait for a while for awesomeness

What tables are enabled by default?

21 in total are enabled by default, here is the list:

Without D365 Apps enabled:

Account (8)
Contact (11)
Goal (19)
Goal Metric (3)
Knowledge Article (56)

With D365 Apps enabled:

Campaign (2)
Campaign Activity (4)
Campaign Response (6)
Case (5)
Competitor (1)
Contract (7)
Invoice (4)
Lead (6)
Marketing List (5)
Opportunity (11)
Opportunity Product (8)
Order (4)
Product (5)
Quote (4)
Service (1)
Service Activity (9)

How to enable the Dataverse Search for tables/columns?

Navigate to the intended solution, Click Overview and select Manage Search index:

clip_image004

You can see the tables which are already enabled, and select others as per your requirement:

clip_image006

In our example, am adding Entitlement(notice the way 11 columns are included as a resultant) and click save:

clip_image008

How to use Dataverse Search?

Navigate to your Model driven App and use Search bar on the top, in my case am searching for a Contact:

clip_image010

The resultant of the Search:

clip_image012

Notice, the filters available for Modified on and Created on Date range on the right hand side of the screen.

Let me search something more generic like “Ab”:

clip_image014

Notice, that Owner filter is also available on the right-hand side now.

Lets Locate the Contact and understand Quick Actions available (Ability to Assign, Email a link or Share the record):

clip_image016

For another entity which is activity let us see what Quick Actions are available (Mark Complete, Close, Set Regarding, Assign and Email a link ):

clip_image018

clip_image020

Let us also use Natural language searches, here we are searching for “Open Phone calls”:

clip_image022

Let us also try Boolean operators, here am Searching for D365 Champs(Account name) + 1234567890(Phone number):

clip_image024

Let us do some Wild card searching, *D365*:

clip_image026

Isn’t this going to revolutionize the way we search – off course! Great job Product Team.

What are some important known limitations and considerations?

· Certain fields are counted as multiple fields:

· Lookup: Counted as 3 fields

· Customer: Counted as 3 fields

· Owner: Counted as 3 fields

· Option Set: Counted as 2 fields

· The Find columns in Quick find Views define the fields that are searchable in Dataverse search.

· The View columns in Quick Find View define fields that will be displayed when search is conducted on Dataverse search.

· The Find conditions in Quick Find View are applied on Dataverse search results except for the following clauses:

· Like

· NotLike

· BeginsWith

· DoesNotBeginWith

· EndWith

· DoesNotEndWith

· ChildOf

· Mask

· NotMask

· MaskSelect

· EqualUserLanguage

· Under

· NotUnder

· UnderOrEqual

· Above

· AboveOrEqual

· NotNull

· Null

· Quick Actions can be configured via a new type of rule on Homepage grid commands

· Disabling Dataverse search will remove the index within a period of 12 hours.

· You can configure upto 1000 Searchable fields, out of which 50 are required by Dataverse search system – hence limit is set to 950 fields.

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

clip_image027

Any problem in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual?

Problem Area – Technical, Functional, Training, Development or consulting?

Me and my team are here to help, get in touch here: Click here

clip_image028

{Power Integration}Email notification to all Queue Members on assigning a Case to Queue

Business requirement:

Email notification to be sent to all the Queue Members on assigning a Case to Queue.

Solution:

1. Add a step “When a row is added, modified or deleted” then rename it to “Trigger when a Queue item is created” and enter the following details:

Change Type: Added

Table Name: Queue Items

Scope: Organization

clip_image001

2. Add an action “Get a row by ID” and rename it as “GetCaseDetails” – This step is used to get a case record details:

Table Name: Cases

Row ID: Object (Value)

clip_image002

3. Add an action “Initialize Variable” and rename it to “Get all the emails of Queue Members” – This is used to store emails of all the queue members

Name: Queue Members Email

Type: String

clip_image004

4. Add an action “Initialize Variable” and rename it to “Record URL” – This is used to store the URL of Case record

Name: Case Record URL

Type: String

clip_image005

clip_image006

5. Add a condition to ensure when the type of record is case or not.

clip_image007

6. Under “Yes” part of a condition, add an action “List all records” and rename it to “List all members and their emails” – This is used to get all the users (Members) and their emails which we’ll use later. We may first need to fetch XML query.

Table Name: Users

Fetch XML Query:

<fetch version=”1.0″ output-format=”xml-platform” mapping=”logical” distinct=”true”>

<entity name=”systemuser”>

<attribute name=”fullname” />

<attribute name=”systemuserid” />

<attribute name=”internalemailaddress” />

<order attribute=”fullname” descending=”false” />

<link-entity name=”queuemembership” from=”systemuserid” to=”systemuserid” visible=”false” intersect=”true”>

<link-entity name=”queue” from=”queueid” to=”queueid” alias=”ad”>

<filter type=”and”>

<condition attribute=”queueid” operator=”eq” uiname=”Queue Name” uitype=”queue” value=”{@{triggerOutputs()?[‘body/_queueid_value’]}}” />

</filter>

</link-entity>

</link-entity>

</entity>

</fetch>

clip_image009

7. Add an action “Apply to each” and select the “Value” which we are getting from previous step (List all Records) then add an action “Append to String Variable”

under Apply to each and enter following details:

Name: Select “Queue Member Email” variable

Value: Add following expression

concat(items(‘Apply_to_each’)?[‘internalemailaddress’],’;’)

clip_image011

8. Add an action “Send an email (V2)” and enter the required details:

To: Queue Members Email

clip_image013

9. Save the flow and test it.

clip_image015

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

image

Any problem in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual?

Problem Area – Technical, Functional, Training, Development or consulting?

Me and my team are here to help, get in touch here: Click here

clip_image002[4]