{Power Integration V3} Security sync between Dynamics 365 and SharePoint using Power Automate

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]
Advertisement

{Power Resolution} Solution import failure fix for Sales insights dependencies

Problem statement: In a recent project, we were evaluating Sales insights for the customer in Development environment. When we tried to move solution to QA for Sales development that was going on we faced an error in import:

clip_image002

Resolution steps:

Uninstall Sales insights from Dev environment by deleting the solutions in following order:

· SalesInsightsAddOn

· SalesInsightsMDLConfig

· msdyn_Conversationlntelligence

· msdyn_SalesRouting

· msdyn_segment

· msdyn_acceleratedsalessitemap

· msdyn_acceleratedsales

· msdyn_sequence

· msdynce_RelationshipAssistantAddOn

· msdyn_connectiongraph

· PredictiveLeadScoring

· PredictiveOpportunityScoring

· PredictiveForecast

· msdyn_PredictiveScoringCommon

· RelationshipAnalytics

At certain solutions you will get dependency issues, here is the resolution

For Sales Acceleration solution, we got below error:

clip_image004

Solution: Remove sequence control from Opportunity(form)

For Relationship analytics solution, we got below error:

clip_image006

Solution: Remove Action Cards control from Opportunity(form)

After following these steps, Sales insights components were able to be removed from the Development environment.

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]

{Power Integration} Create Teams meeting based on D365 CE Appointment

Business Requirement: Whenever Appointment is created in D365 CE, send Teams meeting invite to everyone and also update Team meeting URL back to the appointment.

Note: Server side sync is not enabled at the client tenant for Appointments.

Solution:

Step 1: Create an Automated cloud flow and set trigger as follows:

clip_image002

Step 2: Set the trigger condition as follows:

clip_image004

Step 3: Next step is very important; we need to route through all activity pointers to get email addressed of the attendees.

Filter to be used is _activityid_value eq

clip_image006

Step 4: Now we need to initialise variable to Append all List of Attendees:

clip_image008

Step 5: Loop through all returned Activity pointers and keep appending email address of the attendees into the string variable:

clip_image010

Step 6: Create Teams meeting as below. Note the formulas will need to be used to map start and end time.

formatDateTime(triggerOutputs()?[‘body/scheduledstart’],’yyyy-MM-dd HH:mm:ss’)

formatDateTime(triggerOutputs()?[‘body/scheduledend’],’yyyy-MM-dd HH:mm:ss’)

clip_image012

Step 7: update the appointment back with the Team meeting url by Updating the description:

concat(triggerOutputs()?[‘body/description’],’Click here for Team meeting url: ‘,outputs(‘Create_a_Teams_meeting’)?[‘body/onlineMeeting/joinUrl’])

clip_image013

Final Flow should look like this:

clip_image015

Result:

Now let us go and create appointment in D365:

clip_image017

Let us see the Teams calendar now:

clip_image019

Let us see Appointment description below in D365:

clip_image021

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

clip_image001[4]

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]

{Power Milestone}Half a million views and a Thank you note!

Thank you note for all the readers of CRM community and Microsoft, I crossed half a million views on my blog and was read in 191 countries in its journey so far.

image

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

clip_image001[4]

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]

{Power 2021} Trigger on save notification only when certain fields change in Model driven App

Business Requirement: Show notification in model driven form on save of table only when particular field/attribute has changed.

clip_image002

Solution: In Dynamics 365 , we can achieve this requirement using following script:

// function to show notitification on save
function onSave(executionContext) {
var formContext = executionContext.getFormContext();
var field = formContext.getAttribute(“fieldname”);
if (field.getValue() == VALUETOMATCH && field.getIsDirty())
{
var message = “Field name has changed”;
var messageString =
{
confirmButtonLabel: “Ok”,
text: message
};

var messageAlertOption =
{
height: 120,
width: 260
};

Xrm.Navigation.openAlertDialog(messageString, messageAlertOption);
}
}

Register this on save and show alerts based on field changed.

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

clip_image001[4]

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]

{Power 2021} Tips for Model driven form design

In today’s blog I will be covering some generic recommendations one should follow while designing Model driven forms.

clip_image001

Ø Review the fields on the form regularly

§ It happens across many CRM deployments over time that certain fields are removed due to business need or are no more relevant to a particular department (Role based forms). Please make sure to remove such unused fields from the form. The lesser the fields, the better the performance as lesser data needs to be transferred over the internet or intranet.

Ø Create different forms for different kinds of departments/ teams/ groups

§ Identify different departments or groupings of individuals in the organization

§ Track the fields that are more relevant to a grouping and consider creating different role based forms.

§ The approach will simplify the usage of form based on relevance to different users and also segregate security requirements.

Ø Avoid unsupported scripting

§ Anything that is not mentioned in Microsoft Docs will be considered an unsupported script. It might be an internal namespace library from Microsoft you are using or DOM manipulation.

§ Try to explain to the customer workarounds to use supported ways of using the form to achieve the requirement.

Ø Mobility considerations

§ If you have needs to use Mobile version of the D365 form, make sure you do proper previews while designing the form to get an idea of how it will appear in D365 Mobile App.

Ø Other Scripting considerations

§ Try to limit onload event handlers, this has a big impact on form load.

§ Use collapsed tabs wherever possible, for example in the case of web resource(html) inside the tab.

§ In case you need to show certain fields based on conditions, keep them initially hidden and then use script to enable them when condition is true.

§ Wherever possible use asynchronous requests instead of synchronous requests.

Ø Usage of sub-grids

§ Not all the sub-grids or related entity data needs to be visible at all times.

§ Try to use and recommend Related tab and Associated grids to the customer wherever related data is needed to be seen which is less frequent to be accessed.

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

clip_image001[4]

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]

{Power 2021} Prevent auto save on specific entities in Dynamics 365 CE

Business Requirement: Client wanted to disable auto save on certain Sales entities such as Leads and Opportunities so that it is sure that user has completed all the information. On all other entities, client requirement was to keep auto save.

Solution: We have to write a small client-side script and register it on save event of Lead and Opportunity record to achieve this requirement.

Here is the script:

function preventAutoSaveOperation(executionContext)

{

var eventArguments = executionContext.getEventArgs();

if (eventArguments.getSaveMode() == 70 || eventArguments.getSaveMode() == 2) {

eventArguments.preventDefault();

}

}

In case you are looking for different types that getSaveMode returns here is the complete list:

Value Save mode Table
1 Save All
2 Save and Close All
5 Deactivate All
6 Reactivate All
7 Send Email
15 Disqualify Lead
16 Qualify Lead
47 Assign User or Team owned tables
58 Save as Completed Activities
59 Save and New All
70 Auto Save All

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

clip_image001[4]

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

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

I am here to help, get in touch here: Click here

clip_image002[4]

{Power 2021} Get current App details in Model Driven App and D365 client-side scripts

In a recent project there was a need to know Model driven App name in client side script.

We can achieve the requirement using following script.

In this example I have alerted App details on Load of a custom entity titled “Visit” under a Model driven App called “Visitor management”.

Here is the output:

clip_image002

Here is the script:

function onLoadApp()

{
var globalContext = Xrm.Utility.getGlobalContext();
globalContext.getCurrentAppProperties().
then(

function successCallback(app)

{
var message = “App Display name: ” + app.displayName + “\nApp name: ” + app.uniqueName + “\nApp Id: ” + app.appId;
var messageString =
{
confirmButtonLabel: “Ok”,
text: message
};

var messageAlertOption =
{
height: 120,
width: 260
};

Xrm.Navigation.openAlertDialog(messageString, messageAlertOption);

},

function errorCallback()

{ console.log(“Error”);

}

);

}

Other details that are accessible in the app object are mentioned below:

· appId

· displayName

· uniqueName

· url

· webResourceId

· webResourceName

· welcomePageId

· welcomePageName

Hope it helps and Power 365ing as usual!

Other ways to learn with me:

clip_image004

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

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

I am here to help, get in touch here: Click here

clip_image006