Microsoft Dynamics CRM

{Happy Milestone} Mastering Dynamics CRM 2016 Released

It gives me great pleasure to announce that my first book on Dynamics CRM is released now.

Thanks to Packt Publishing for providing the opportunity to author a book.

Thanks for all those who helped on the book – Nishant Rana for reviewing the book.

Also, thanks to Simaranjit Singh Bhalla for his code contributions in the book.

Thanks to my wife Yamini and parents , for the time they gave me out of personal life and support provided by them have given me the motivation to complete it.

image

This has been my hardest project delivered on CRM from my end till date. At one point, due to my health issues this year, it seemed that I will not be completing the book at all. But one should always follow the motto:

“Try, Try but Don’t Cry”

This has made this book finally a reality.

Hope it helps and Happy CRMiing!

Any requirements in CRM/Dynamics 365 – end user,Microsoft  partner or an individual?

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

I am here to help, get in touch here: deepeshsomani@hotmail.com

ABOUT THE AUTHOR:

clip_image001

Twitter: https://twitter.com/msdynamicsblog
LinkedIn: https://www.linkedin.com/in/deepesh-somani-00296932

Google Play Store:

https://play.google.com/store/apps/details?id=com.dynamicsofdynamicscrm.msdynamicsblog&hl=en

Advertisements
Microsoft Dynamics CRM

{Dynamics 365 9.0 Series} Chat bot integration with Dynamics 365

In the blog we will go through Chat bot integration with Dynamics 365:

Technologies used:

  1. AZURE Cognitive Service and AZURE Web Service
  2. Bot Builder SDK for .NET
  3. Dynamics 365 ADXStudio Portal: Customer Self Service
  4. Dynamics 365 – CRM
  5. Cafex Live Assist for Dynamics 365

Hope it helps and Happy CRMiing!

Any requirements in CRM/Dynamics 365 – end user,Microsoft  partner or an individual?

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

I am here to help, get in touch here: deepesh.somani@dynamisity.com

ABOUT THE AUTHOR:

clip_image001

Twitter: https://twitter.com/msdynamicsblog
LinkedIn: https://www.linkedin.com/in/deepesh-somani-00296932

Google Play Store:

https://play.google.com/store/apps/details?id=com.dynamicsofdynamicscrm.msdynamicsblog&hl=en

Microsoft Dynamics CRM

{Dynamics 365 9.0 Series} New Themes available with Dynamics 365

In this series, I will be covering my exploration of the Dynamics 365 9.0 features as I traverse them over the coming weeks.

Microsoft recently released Dynamics 365 9.0 for all trials. One of the most interesting change is with respect to the look and feel which sees a lot more streamlines Dynamics 365 UI.

Default theme (CRM Blue Theme) is available in the following look and feel:

Dashboards:

clip_image002

Views:

clip_image004

Forms:

clip_image006

Two other themes have been natively shipped with this release. Here is a look and feel of the other two themes. Navigate to Settings->Customizations->Themes:

clip_image008

CRM Default Theme:

Dashboard:

clip_image010

Views:

clip_image012

Forms:

clip_image014

CRM Orange Theme:

Dashboard:

clip_image016

Views:

clip_image018

Forms:

clip_image020

Hope it helps and Happy CRMiing!

Any requirements in CRM/Dynamics 365 – end user,Microsoft  partner or an individual?

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

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

ABOUT THE AUTHOR:

clip_image001

Twitter: https://twitter.com/msdynamicsblog
LinkedIn: https://www.linkedin.com/in/deepesh-somani-00296932

Google Play Store:

https://play.google.com/store/apps/details?id=com.dynamicsofdynamicscrm.msdynamicsblog&hl=en

Microsoft Dynamics CRM

{Quick Tip} 3 Tips for mentoring Dynamics 365 teams and professionals effectively

In this blog, I am putting up some of the tips that are required to mentor a Dynamics 365 practice based on my experiences and the ones which I have shared from different people doing the same role across different companies, cultures and geographies.

clip_image002

Below is the list of 3 tips:

· Understanding the Action Plan and Goal: It is very important in mentoring to set an Action plan and a goal. The goal and action plan can be for an individual which flows on to a team and then to the entire company. Realistic action plans and goals are very important. Over time, it is very important to take feedback and adjust the ability and way to mentor depending on it. Regular interactions are very important part of forming an effective methodology.

· Being Open and Non-judgmental: It is very important not to have a prejudiced approach for someone you are mentoring. Being open in conversations and non-judgmental is critical in being able to build a healthy mentoring relationship with anybody – may it be an individual or team.

· Motivate and Encourage: It is very important to be motivated and encourage individuals, peers and teams. It becomes even a big priority when things are not going well or a particular module or sprint is not working through well.

Hope it helps and Happy CRMing!

Any problem in CRM – 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

ABOUT THE AUTHOR:

clip_image001

Twitter: https://twitter.com/msdynamicsblog
LinkedIn: https://www.linkedin.com/in/deepesh-somani-00296932

Google Play Store:

https://play.google.com/store/apps/details?id=com.dynamicsofdynamicscrm.msdynamicsblog&hl=en

Microsoft Dynamics CRM

{Dynamics 365 Portal Code Tip} Dynamically Show/Hide field based on Lookup field on Entity form

Achieving Business rules kind of functionality in portal forms is a bit trickier as Business rules do not directly reflect on the Dynamics 365 Portals.

One of such requirements is to show/hide a field based on other field value dynamically on Dynamics 365 Portals.

In the below scenario, Requirement is to show Other Reason text field if user selects lookup value of “Other” on the portal form for a custom lookup field Called “Reason” on Case entity portal form.

Navigate to Entity Form called “Customer Service – Create Case” and scroll down to custom JavaScript area:

image

Paste the following script:

$(document).ready(function () {
  if (typeof (Page_Validators) == ‘undefined’) return;
  var newValidator = document.createElement(‘span’);
  newValidator.style.display = “none”;
  newValidator.id = “contactFieldValidator”;
  newValidator.controltovalidate = “primarycontactid”;
  newValidator.errormessage = “<a href=\’#primarycontactid_label\’ onclick=\’javascript:scrollToAndFocus(\”primarycontactid_label\”,\”primarycontactid\”); return false;\’> Contact is a required field. </a>”;
  newValidator.initialvalue = “”;
  newValidator.evaluationfunction = function () {
    var customerType = $(“#customerid_entityname”).val();
    if (customerType != “account”) return true;
    // only require contact if customer type is account.
    var value = $(“#primarycontactid”).val();
    if (value == null || value == “”) {
      return false;
    } else {
      return true;
    }
  };

  Page_Validators.push(newValidator);

  updateEntitlementRequired();
  $(“#customerid”).change(onCustomerChange);
  $(“#customerid”).change();
  $(“#new_reason”).change(onReasonChange);
  $(“#new_reason”).change();
});

  function onReasonChange()
  {
    //alert(“On Reason Change called”);
    if ($(‘#new_reason_name’).val() == “Other”)
{
$(‘#new_otherreason’).show();
$(‘#new_otherreason_label’).show();
}
else
{
$(‘#new_otherreason’).hide();
$(‘#new_otherreason_label’).hide();
}
  }
  function onCustomerChange() {
    var val = $(“#customerid”).val();
    var entitlement = $(“#entitlementid”).parent();
    var product = $(“#productid”).parent();
    if (val) {
      disableEnable(entitlement, false);
      disableEnable(product, false);
    }
    else {
      disableEnable(entitlement, true);
      disableEnable(product, true);
    }
    updateContactRequired();
   
  }

  function disableEnable($param, disabled) {
    $param.find(‘input’).each(function () {
      $(this).attr(“disabled”, disabled);
    });

    $param.find(‘button’).each(function () {
      $(this).attr(“disabled”, disabled);
    });
  }

  function updateContactRequired() {
    var customerTypeVal = $(“#customerid_entityname”).val();
    if (customerTypeVal && customerTypeVal == “account”) {
      $(“#primarycontactid_label”).parent().addClass(“required”);
    }
    else {
      $(“#primarycontactid_label”).parent().removeClass(“required”);
    }
  }
 
  function showHideOtherReason()
  {
  $(‘#new_otherreason’).hide();
$(‘#new_otherreason_label’).hide()
  }
  function updateEntitlementRequired() {
var entitlementField = $(“#entitlementid”);
if (entitlementField && entitlementField.closest(‘td’).get(0).style.display == “none”) {
  //remove required class and validator if entitlement isn’t showing
  $(“#entitlementid_label”).parent().removeClass(“required”);
  if (typeof (Page_Validators) == ‘undefined’) return;
  if ($(“#RequiredFieldValidatorentitlementid”) != ‘undefined’ && entitlementField.closest(‘td’).get(0).style.display == “none”) {
   $(“#entitlementid_label”).parent().removeClass(“required”);
   Array.remove(Page_Validators, document.getElementById(‘RequiredFieldValidatorentitlementid’));
  }
}
}

The important functions to understand are below:

Function to show/hide text field based on Lookup field in portal:

  function onReasonChange()
  {
    //alert(“On Reason Change called”);
    if ($(‘#new_reason_name’).val() == “Other”)
{
$(‘#new_otherreason’).show();
$(‘#new_otherreason_label’).show();
}
else
{
$(‘#new_otherreason’).hide();
$(‘#new_otherreason_label’).hide();
}
  }

This function needs to be attached on Document ready main function in the portal:

$(“#new_reason”).change(onReasonChange);
$(“#new_reason”).change();

Output:

The output is as below:

When Reason is not selected:

image

When Reason is selected as Other:

image

Happy CRMing!

Any problem in CRM – 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

ABOUT THE AUTHOR:

clip_image001

Twitter: https://twitter.com/msdynamicsblog
LinkedIn: https://www.linkedin.com/in/deepesh-somani-00296932

Google Play Store:

https://play.google.com/store/apps/details?id=com.dynamicsofdynamicscrm.msdynamicsblog&hl=en

Microsoft Dynamics CRM

Thanks Microsoft and community for the BUSINESS SOLUTIONS MVP AWARD 2017

image

I was awarded for the third time as a Dynamics Business Solutions MVP.

I want to keep contributing for the next year and beyond. It has been a great journey so far for me and blog has been an integral part of it.

I want to thanks everyone in the community that view my videos on read my blog, my CRM YouTube channel  and finally follow me on twitter and other social media networks.

Thanks Microsoft within the organization as well which gave me the boost to start leveraging my ability well for serving the community.

Happy CRMing!

Any problem in CRM – 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

ABOUT THE AUTHOR:

clip_image001

Twitter: https://twitter.com/msdynamicsblog
LinkedIn: https://www.linkedin.com/in/deepesh-somani-00296932

Google Play Store:

https://play.google.com/store/apps/details?id=com.dynamicsofdynamicscrm.msdynamicsblog&hl=en

Microsoft Dynamics CRM

{Step by Step and Overview} Microsoft Dynamics 365 Organisation Insights App

One of the top most issues with Dynamics CRM online used to be to be able to monitor entity tables by size(to know which entities are occupying the maximum space?)

Well not any more! The new Microsoft Dynamics 365 App helps you there and actually does a lot more.

Here is a step by step and overview on how to get started with this awesome App from Microsoft!

Locate the App on the AppSource first:

clip_image002

Next agree to some conditions from Microsoft:

clip_image004

After the first one you might be asked to agree one more time, just go ahead and Click Agree:

clip_image006

Keep monitoring the solution and it will be enabled soon:

clip_image008

Next: As System administrator on your instance Navigate to Settings -> Organisation Insights:

Home screen on the Organisation insight shows Total active users, API success rate , etc.

clip_image010

Clicking on Storage you will land on the following dashboard, it outlines total used space, Space used by CRM instances,

Top tables by size, etc.

clip_image012

Also shows size of some common tables:

clip_image014

What is more: you can export to excel sizes(Isn’t that cool!):

clip_image016

There is also a System jobs area which shows number of Workflow executions, pass rates and throughput rates, etc.

Since this is a trial organisation, I do not have much stuff happening:

clip_image018

It also allows you to check API Success rates etc:

clip_image020

Last but not the least you can go and check Active usage as well:

clip_image022

For detailed description of each area, visit following link: Click here

This is a great tool for Dynamics 365 and kudos to the Microsoft product team!

Hope it helps and Happy CRMing!

Any problem in CRM – 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

ABOUT THE AUTHOR:

clip_image001

Twitter: https://twitter.com/msdynamicsblog
LinkedIn: https://www.linkedin.com/in/deepesh-somani-00296932

Google Play Store:

https://play.google.com/store/apps/details?id=com.dynamicsofdynamicscrm.msdynamicsblog&hl=en