Application Ribbon in Dynamics, or how can we add a button to all entity forms?

By | September 25, 2017

Most of the times, if we wanted to add a button to the ribbon, we would create a solution, we would add an entity to the solution, and we would use Ribbon Workbench to configure entity ribbon in that solution.

It works great, but what if we wanted to add a button to all entity forms?

This is also possible, although, instead of the entity ribbon, we need to configure what’s called an application ribbon.

It’s exactly the same idea:

– Create a solution

– Instead of adding an entity, add “Application Ribbons” under the “Client Extensions”

image

– Save your solution

You don’t need to add any entities or other components to that solution – just load it to the Ribbon Workbench at this point.

Once in the Ribbon Workbench, you’ll have the same 3 ribbons (Home, SubGrid, and Form):

image

However, those ribbons will not be entity-specific. If you add a button to any of them, that button will be configured for the whole application.

Just make sure you have selected the right tab. For example, on the screenshot above I’ve highlighted Mscrm.Form.{!EntityLogicalName}.MainTab – use that tab if you want to add a button to entity forms. There are other tabs there which you can use to add buttons to the form designer etc.

Once you have added the button, simply publish the changes and have a look at the results.

Here is a Lead form:

image

Here is a contact form:

image

The same button will show up for all other “main” entity forms, even though I have not added it to any of the entity-specific ribbons.

3 thoughts on “Application Ribbon in Dynamics, or how can we add a button to all entity forms?

  1. Michael Blackburn

    Any suggestions on what might be causing this not to work?
    I’m in CRM 2016 v8.1, and adding a button to this section of the form ribbon in Mscrm.Form.{!EntityLogicalName}.MainTab and I’m not seeing it in any entities, even ones with no ribbon customizations that might override the default. Here are some of the things I’ve tried:
    * I’ve created a “dummy” command,
    * Turned off Auto-Save (since it was in the “Save” section, disabled auto-save so those buttons appear).
    * Created a new entity (I thought maybe this was a template the system used when creating a new entity instead of the base ribbon that gets modified).
    * Created an Enable Rule (that just uses CrmClientTypeRule to test for being on the web).

    I can’t think what might be happening. Is there documentation for this functionality in the SDK? I started playing with this on my own and found this page when I was searching for information.

    Reply
    1. Michael Blackburn

      Haha, it was that the ribbon workbench in XrmToolbox was connected to a different organization. Well, leave the above up, it’s a good list of things to check if something in the ribbon toolbar isn’t working. Add to it that you check that the org you’re connected to is the same you’re testing. 🙂

      Reply

Leave a Reply

Your email address will not be published.