{Step by step}Dataverse low-code plug-ins in D365 CE

In this blog, we will learn about the Dataverse low-code plugin,

Dataverse is a powerful low-code platform that seamlessly integrates with Dynamics 365, enabling users to build and deploy applications quickly. With the low-code plugin feature, developers can create custom business logic within D365 without writing extensive code, streamlining the process of tailoring solutions to meet specific business needs.

These plug-ins are stored directly within the Dataverse database, allowing for seamless integration with Power Apps and Power Automate. Utilizing the Power Fx expression language, which is also used for Power Apps formulas, these workflows can easily access Dataverse data and connect to external sources via Power Platform connectors.

Benefits of server-side logic :

  • Server-side logic offers numerous advantages, including enhanced security through controlled access to sensitive data and processes.
  • It boosts performance by minimizing data transfer between client and server, leading to quicker processing times.
  • Consistency and reliability are assured as business rules are uniformly enforced, mitigating errors or discrepancies.
  • Maintenance and upgrades are streamlined due to centralized logic, simplifying changes.
  • Server-side logic affords greater scalability for improved performance and workload management.

Low Code Plugin :

Low-code plugins have the following common properties :

  • Display name
  • Name
  • Description
  • Solution
  • Expression

low-code plug-ins have two types:

  • Instant Plugin:  Instant low-code plugin runs manually and supports parameters such as input parameters and output parameters.

Instant low-code plugins have unique properties :

  • Scope: The plug-in association to a table is configurable; it can be designated as either ‘table’ (entity) or ‘global’. A ‘table’ (entity) scope indicates that the plug-in triggers within the context of a specific table record. In contrast, a ‘global’ scope signifies that the operation is not linked to any table.
  • Parameter:
  1. Input parameter refers to a piece of data that is passed into a function or method for processing.
  2. Output parameter is data that is passed out of a function or method after execution.

Supported data types :

  • Boolean
  • String
  • Float
  • Decimal
  • DateTime
  • Integer

Implementation of Instant Plugin :

  • To create an instant plugin, select “Create instant plug-in”.
  • I’m creating an instant plugin for calculating two values.
  • Fill in the Display name,
  • Select input and output parameters to perform the calculations. Here I’m adding 2 input parameters (num1 and num2) and 1 output parameter (res).
  • Write the expression which operation you want to perform here I’m performing the multiplication of two values.
  • Define scope, either entity or Global.

Output:

Automated Plugin: An automated low code plugin is a custom code that runs on certain data events.

Automated low-code plugins have unique properties :

  • Data Event: The plug-in activation is contingent upon specific data events. It is designed to be invoked by any one of the following occurrences: Create, Update, or Delete.
  • Stage: stage defines whether the plugin runs before or after the main operation.
    • Pre-operation
    • Post-operation

Implementation of Automated Plugin :  

  • To create an Automated plugin, select “Create automated plug-in”.
  • I’m creating an automated plugin for updating the job title field on the creation of Contact.
  • Fill in the Display name,
  • Select table, here I’m selecting Contact table.
  • Select the trigger, here I’m selecting “Created”.
  • Write an expression to perform any operation, here I’m writing a patch function for updating the “job title” field on the “Contact” entity

Output :

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work 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 

{Step by Step} Opportunity Pipeline View in Dynamics 365

In this Blog post, we will learn about how Opportunity Pipeline view can enhance Dynamics 365 sales experience, Dynamics 365 Sales enables organizations to streamline their sales processes and enhance productivity through its Opportunity Pipeline view. This feature provides a visual representation of the sales pipeline, allowing sales teams to prioritize and manage opportunities effectively.

Opportunity Pipeline view in Dynamics 365 is a powerful tool designed to help sales teams visualize, prioritize, and manage their opportunities. It replaces the former ‘deal manager’ and introduces an updated user experience that puts the seller at the center of their workflows. The view offers interactive charts, key metrics, and an editable grid that allows for inline editing of opportunities.

  • Go to https://make.powerapps.com.
  • Sign into power apps.
  • Click on “Apps” from the left navigation panel.
  • And open Sales Hub App in edit mode.
  • Now go to the “App Settings”, you will find “Opportunity Pipeline View” under the General settings.

Configuring the Opportunity Pipeline View:

  • To begin configuring the Opportunity Pipeline view, users must navigate to the Sales Hub navigation panel and click on gear icon ⚙️.
  • Select “Advanced settings” under the settings.
  • In Advanced settings, go to the “Customizations”.
  • And open “Customize the System.
  • Now within the Power Apps Default Solution page find ‘Entities.’
  • And then “Opportunity” entity .
  • In “Opportunity” entity go to the “Controls” tab.
  • “Control” tab will reveal the “Pipeline view” option for web, phone, and tablet interfaces.
  • If the “Pipeline view” is not listed, you can also add by selecting “Add Control”.
  • Now go back to your Sales Hub app.
  • And navigate to Opportunities, you will get a pipeline view enabled.

Enhancing the Visualization with Charts:

Opportunity Pipeline view comes with a default bubble chart that displays opportunities based on various parameters such as opportunity score, deal probability, and estimated close date.

Administrators have the flexibility to customize this chart to change the data visualization according to the organization’s preferences.

  • For customizing the charts go to the “App settings” again and open “Opportunity Pipeline View.”
  • Scroll down in Opportunity pipeline view, you will find “Manage charts”.

Deal Tracker:  A tool within Dynamics 365 that allows for the tracking and management of sales deals. It provides a visual representation of the sales pipeline, enabling users to prioritize and manage opportunities effectively.

Sales Funnel:  A model that represents the stages a potential customer goes through, from initial awareness to the final purchase. In Dynamics 365, it helps sales teams track and manage interactions with leads and opportunities through each stage of the sales process.

  • You can customize properties of “Deal tracker” here.
  • You can customize “Sales funnel” also same as “Deal tracker.”

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work 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 

{Code Tip} How to set Global Notification by using JavaScript

In this blog post, we will learn a new code snippet of JavaScript that we are using to implement a requirement in a Model Driven App. The feature is called “addGlobalNotification()”, and it allows us to show global notifications for an app.

Requirement:

To show global notifications for an app when a model-driven app gets open then show Information notification.

We are using the “addGlobalNotification” client API to display notifications globally in our model-driven apps. These notifications can be error messages, information, warnings, or success messages.

Implementation:

We are implementing this requirement by using the JavaScript                                        

Xrm.App.addGlobalNotification(notification).then(successCallback, errorCallback);

The ‘Xrm.App.addGlobalNotification()’ method is used in Dynamics 365 to display global notifications to the user. It can show different types of notifications such as errors, information, warnings, or success messages.

The method takes a ‘notification’ object as a parameter, which defines the notification’s message and type.

var notification = {
    type: 2,
    level: 4, //information
    message: "Greetings! Let's achieve great things together with Dynamics 365."
}
//To show global notification call client API - "addGlobalNotification()"
Xrm.App.addGlobalNotification(notification).then(
    function success(result) {
    console.log("Notification created with ID: " + result);
    return false;
},
    function (error) {
    console.log(error.message);
    return false;
});

Notification property:

The notification object contains the following properties.

  • action: An object specifying an action label and an event handler function that is called when the action label is clicked.
  • level: Indicates the level of importance of the notification, such as error (2), warning (3), or information (4).
  • type:  Defines the type of notification. Currently, only a value of 2 is supported, which displays a message bar at the top of the app.
  • message: The text message that will be displayed in the notification.
  • showCloseButton (optional): Determines whether a close button is shown, allowing the user to dismiss the notification.

To call the JavaScript, we are going to create a ribbon button, which we named as “Global notification”. there is a limitation in JavaScript that we cannot run JavaScript on the load of the app.

  • Here we have added “Custom Rule”.
  • Select JavaScript web resource that you have created, and add the function name.
  • Publish the button and open the Model-driven app to see global notification.

Output:

  • As you can see the Global Notification is visible on load of sample application in the GIF given below.

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work 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