Managing Activate/Deactivate ‘permissions’ of CRM Entities

Visit Website View Our Posts

Business Case

When an account or a contact isn’t purchasing we might think of them as “inactive” – and CRM offers a button on the ribbon to ‘deactivate’ the record - but is that the right way to manage the status of a record? - Typically not. – The Active/Inactive status of CRM records really refers to the status of the ‘record’ rather than the contact or account the record refers to. Setting a customer to ‘inactive’ means that it cannot be edited, re-assigned, shared and it immediately gets excluded from most views and reports.

While you may ultimately want to de-activate records if the customer goes out of business or is merged, because of the system-wide implications of this status field - everyday users shouldn’t be deactivating records on-the-fly. Far more useful is to add a customer status option set (or even extend the “status reason” options) to include a more descriptive set of data around why the customer is not an active customer – once that information is captured, it’s possible to review and deactivate those records through a more methodical process.


So why not just remove the ‘De-activate’ privilege from users’ security profile? Unfortunately there isn’t a special activate/deactivate privilege in CRM security – if you can edit a record, you can deactivate it – and furthermore there’s a very nice button in the ribbon to activate/deactivate records –in bulk!


In 2011, we have a supported, if a bit geeky way to edit the ribbon – and by doing so, we can remove the temptation of the activate/deactivate buttons from selected entities. – We then would add simple workflow processes to activate/deactivate records and share these with administrators / power users.


Download and install the free tool from Codeplex. (You’ll need to be sure you’ve already installed the 2 requirements beforehand – “.Net Framework 4.0” and the “Windows Identity Framework” – since these are common requirements for CRM development, you might already have them installed.)

Launch the application and click the ‘Connect’ icon in the upper right-hand corner then enter the connection information needed to connect to your environment. – I’ve found that this step can be finicky if you’re connecting to IFD and sometimes to Online but in general I’ve been able to connect.


Next click on the “Open” icon in the ribbon and select the entity you wish to edit from the option set. In this case I’m choosing the Account entity.


The application will create a simple solution with that entity in it and export it for editing.

It then displays a version of the ribbon in the editor – Click on the “Activate” button and then click “Hide” – Repeat the same for the “Deactivate” button.


Then repeat the same on the Homepage and Sub-Grid ribbons.


Finally, save your changes – This will publish the ribbon back into CRM.


Reopen CRM and you’ll see the Activate/Deactivate buttons have been removed from the Ribbon.



At this point you’re all set. – You may want to create a workflow for the entity that sets records active and one that sets them inactive – simply create it and share the workflow with your administrators to allow them to ‘optionally’ activate or deactivate records based on your business rules.

Post by: Scott Sewell, Customer Effective

Show Buttons
Hide Buttons