The Microsoft Dynamics CRM Platform Enhancement Discussion

  • How to Configure Super Grid on Dashboard?

    Super Grid is an ingenious add-on from MTC that allows excel-like editing down the column on both home grid and sub grids of CRM entity records for different views. As a result, CRM users can become more efficient and productive than before as they no longer have to dive deep into the records for either editing or adding of records.

    The most interesting aspect about Super Grid is that it can be configured on Dashboards and Forms too. Let’s see how Super Grid can be configured on Dashboard.

    Go to CRM àSettings àCustomizations

    Click Customize the System.

    A window pops up displaying the components you can customize as per your business needs.

    Since we are configuring Super Grid on Dashboard, let’s click on Dashboards first and select the target Dashboard. For example, let’s try to configure Super Grid on Sales Activity Dashboard. See image below.

    Click Sales Activity Dashboard.

    A window pops up displaying the dashboard. Click Web Resource present on the ribbon. Web Resource window will pop up.

    Add Web Resource ‘mtc_/EditGrid/CustomGridPage.html’

    Enter Web Resource name. The same name will be populated as Label Name.

    Click OK. Save and Publish the customizations.

    You will be redirected to the Dashboard with the newly created Grid on it. You can adjust the size of the grid as per your preferences from settings area.

    Settings Area for Super Grid on Dashboards

    Since a grid has already been created on Sales Activity Dashboard, you should now configure custom grid on the web resource.

    Click Settings icon. Form Settings window pops up.

    It has 3 tabs namely, Entities, Events and Advance Settings.

    Click Entities. Select the entity and view of your choice from the drop down (e.g., Account entity with My Active Accounts view).

    Next, Select Events tab.

    Add Web Resource, Type of Event, and Function Name.

    Here we are using the existing web resource ‘mtc_ButtonScript.js’

    Note: There are five types of Event available from the Drop down list. Like On Load, On Save, On Add Row, On Change and On Save Complete. Except for On Change for all the other four events, you can directly give the Function name and Click Add button as shown below.

    On clicking Add, the Name is moved to existing Functions. This can be deleted if needed by selecting the function and clicking Delete Button.

    “On Change” Event:

    Select “On Change” event from the drop down list.


    Add Function Button is shown in the place of Function Name. Click on Add Function Button. A new Pop-up window is displayed as shown below.

    Note: If Filter by View is checked, only the Attributes pertaining to Select Views under Entities are displayed for Attribute Names. If not selected, then all the Attributes of the entities are displayed for Attribute Names.

    Here you must select the Attribute Name and Function Name. These can also be filtered by View if needed.

    Click OK to Continue.

    Select Advance Settings. Then select Auto Save, CRM required fields, Filter Attributes, etc., as per your requirements.

    A Custom Grid will then appear as shown below.

    You can notice there is a Search Functionality created along with the Custom Grid. It helps a lot in narrowing down your target search. You can do search on all the columns with keywords.

    Super Grid Search Functionality on Account Name Column

    Super grid Search functionality on Main Phone Column:

    Likewise, you can perform search operations on other columns too.

    For any queries or technical assistance, please write to

  • How to implement CRM Report Scheduling?

    CRM report scheduling can be done in 2 ways, namely,

          1. Standard Subscription

         2. Data-Driven Subscription

    Scheduling with Standard Subscription:

    As a prerequisite for Scheduling with Standard Subscription, you must capture Snapshot first. A Snapshot contains layout information of a report and results that were captured at a specific point of time. Report snapshots are processed for schedule and then saved to a report server. When you select a report snapshot for viewing, the report will be retrieved from the report server database. Report snapshot is a pre-executed report.

    Whenever a user wants to schedule a report to static recipients (e-mailing to certain specific users statically) then standard subscription will be used.

    Steps to Create Report Snapshot:

    Let’s consider an existing CRM report named as “Account Details”

    Now create the snapshot of this report so that the report has data up to this specific time only.

    1. From the Available Reports view in your CRM, select Account Details report and click “SCHEDULE REPORT” button. 

    You will be directed to Select On-demand or Scheduled Snapshot window.

    2. A window pops up. Select “on a schedule” radio button and click Next.

    You will be directed to Select Frequency window.

    3. Select the frequency of scheduling the report. For instance, let’s go for monthly schedule (1st day of every month at 11AM) and click Next.

    You will be directed to Select Start and End Dates window.

    4. Then select Start Date and End Date. If you don’t want to end the schedule, then select “No end date” radio button. Click Next.

    You will be directed to Define Report Parameters window.

    5. If the report has parameters, then enter values for parameters accordingly. To modify default filter used to create the snapshots, click Edit Filter.

    You will be directed to Modify Filter Criteria window.

    6. Use date parameter such as ‘Last x days’ that will be repeated for each subsequent snapshot. Click Save.

    7.A final review will summarize the selections. Click Create.

    8. Now Report Snapshot is created with timestamp.       

    Steps to Schedule Emailing of the Report Snapshot:

    1. To set up the email schedule, you must navigate to the CRM report server and select the organization.

    2. Usually snapshots will be available in custom folder. So, open the Custom Reports.

    3. Hover over any snapshot report to see drop down menu and select “Subscribe.”

    4. For the first time, a subscription is set up for this report, you must select “New Subscription,” otherwise for modification select the report and edit. Select Render format from drop down like PDF, word, excel, etc. If we tick the check box Include Link, then only CRM users can access.

    Click on “Select Schedule” button to schedule the email.

    Report snapshot was created to run at 11:00 AM, now let’s send the email at 11:02 AM. First snapshot will be executed after which report scheduling will work. For this reason, you must give time difference to report snapshot and scheduling the email. Select end date also, if necessary. Click Ok.

    Scheduling with Data-Driven Subscription:

    Reporting Services data-driven subscriptions allow you to customize and automate the distribution of a report based on dynamic subscriber data. It allows distributing of reports to a specific group of recipients based on predefined criteria.


    1. Go to the SQL Server Reporting Services folder where you want to create data-driven subscription. Choose the SSRS report and choose Manage from context menu.

    2. When the report metadata is displayed, go to “Data sources” tab. Provide user details under custom data source and check Test Connection button to verify whether connection exists or not and click “Apply.”

    3. Once connection exists, go to Subscriptions tab. If you are dealing with a new report, you will find an empty subscriptions list.


    4. Click on “New Data-driven Subscription” button to create a new data-driven subscription in Reporting Services.

    5. Provide description for this subscription, then choose a delivery extension.

    6. Provide connection string and user credentials and click Next.

    7. Specify a command or query that returns a list of recipients and optionally returns fields used to vary delivery settings and report parameter values for each recipient:

    Here is the source code of sql Query returning the list of recipients for this Reporting Services data-driven subscription tutorial.

    8. There is a time-out period which will fail the process in case the data source command fails to respond within given period of time in seconds.

    Before you continue to next step, press "Validate" button to execute the data source command and populate a sample result set for future data-driven subscription steps. If the Validate button displays an error message, you should correct SQL command or SQL query that you have entered the above text area before continuing with next steps and click on Next.

    9. In Data driven subscription, you will get email recipients from database based on specified criteria (see SQL query).

    Select To, report format, include report and subject from drop down.

          And click on next.

    10. If there are any parameters in report, you must pass field values to those parameters.

    11. Now select “on a schedule…” radio button for this subscription.

    12. Mention the day and time for email subscription.

    Click Finish.

  • How to Configure Buttons in D365 Portal Page?

    Based on your requirements, you can either use default buttons on Entity Forms and Entity Lists, or user defined buttons on D365 Portal.

    Products with Add to Cart Buttons

    1). In Portals, configure Entity Lists to show Products List in portal.

    2). In Entity Lists, use Grid Configuration section to configure buttons.

    3). Click Create Related Record and configure entity form which you are redirecting to and provide button label name Ex: Add to Cart.

    4). In Portals, when user clicks on Add to Cart button on products page, it will redirect him to carts form.

    Note: In Grid Configuration, View Actions and Item Actions are default buttons, you can use it as per your requirements.   

  • How to Trace a Plug-in? Isolation Mode in Plugins.

    To trace a Plug-in, we use Plug-in trace log which stores the trace log information.

    Enable Plug-in Trace Log:

    To enable the Plug-in Trace Log in CRM, navigate to Settings > Administration.

    The Administration window opens.

    Click System Settings. You will be directed to System Settings page.

    From here, you can navigate to the Customization tab and select all for the Enable logging to Plug-In Trace Log field. Then click OK.

    To check the Plug-in Trace Log entries, click on Main Settings Plug-in Trace Log.

    Isolation Mode in Plugins

    Isolation mode in plugins describes the level of security restrictions imposed on the plugin execution pipeline.

    Isolation mode is specified on assembly level and not on individual plugin steps.

    • If a plugin is in isolation mode, that means it set to be sandbox or none
    • CRM online plugins can only run with an isolation mode = sandbox
    • A normal plugin is a plugin which has an isolation mode = none
    • A plugin registered in sandbox mode is more secure, but some action are restricted, although a plugin can still access the Dynamics CRM organization service
    • Access to the file system,system event log, certain network protocols,registry, and some functionalities like using database or file directory is prevented in the sandbox. 

    For any help, write to us at

  • How to Execute Plugin Using JavaScript?

    There are many business scenarios where we are required to call a Plugin using JavaScript. In this blog, we will discuss one of the approaches that is very effective.

    To call Plugin using JavaScript, we should:

    • Create an action in CRM
    • Register Plugin
    • Register step on action message
    • Call this action in JavaScript

    Business Scenario:

    On Order entity we have a custom field, this field on change we trigger a plugin. Create an action, it is blank action with no arguments or steps. Activate that action and use that action name while registering step in plugin.

    Write the plugin code and register the plugin. In this scenario, we just have to write throw exception in code.

    Register New Step

    In step creation, we select message as action name (i.e., mtc_sendemaila49b5f8ca894e811) and we select primary entity as order and event pipeline stage as post-operation. Click on Register New Step.

    After completion of plugin registration, call your action in JavaScript code. Below code shows how to call action in JavaScript for your reference.

    We call above code (callAction function) during on change event in order entity. The below screenshot shows exception message in plugin.

    Still need any help? Write to us at We will help you.

Please Wait