Rise to distinction

Time & tide wait for none

Search shared data across CRM entities

In one of recent project requirements, I implemented a solution to share Personal Email Templates. Requirement was to allow super users to share specific templates with users/teams in readonly or write permissions. Though language filter provides a way to limit templates for specific users, it is still possible for users to see organization visible templates. What we needed was to have personal templates that could be further shared, specially when defined by users, in higher businessunits, that shall be visible for usage to users below.

CRM SDK allows templates to be owned by users / teams, and / or can also be shared, however the templates lists / views interface is not as intuitive as compared to commonly used entities. My solution comprised of a CRM dialog combining with workflow activity code, to implement very specific business logic as per requirements. Implementing this solution was not a big trick, however the more surprising part came later, when it was time to verify whether the specific templates were shared with required users. One way was to login in multiple browsers with different users and other was to somehow query CRM. Honestly, i did not like either of those approaches. So i looked into our favorite: XrmToolBox. There is a nice plugin named “Access Checker”, but I still could not see a list of all records shared with with users & teams. And there I got the idea “why not build one such plugin myself”. So folks, I wrote my first plugin for XrmToolBox, (hopefully not the last).

You can find it here:

Search shared CRM entity records (data across PrincipalObjectAccess)

I am using POA (PrincipalObjectAccess) entity here, but of course there is no direct querying of CRM database to read from this table. If you are not aware of POA => It is one central entity / table where CRM maintains which entity’s which record is shared with which user / team in which access mode.

In order to access this plugin, make sure you are using latest version of XrmToolBox (i am using 1.2018.10.29). In Plugin Store, look for “Search data in PrincipalObjectAccess (POA)”. Select the plugin and install

Search Shared Data in CRM Plugin in Plugin Store

Once installed, the plugin shall show (as below) in the main screen of XrmToolBox.Search POA Landscape

Open the plugin and explore, i hope you will find it interesting and helpful.

Search POA Landscape Plugin in Usage

Note: once i started working on this plugin, I thought of a number of additional features to implement in this interface. I will keep working on improvements, however your suggestions / comments / critics will be extremely helpful in improving this

24 responses to “Search shared data across CRM entities

  1. Jonas Rapp (@rappen) April 19, 2017 at 12:11 pm

    Looks promising! 🙂
    Feedback will be a lot easier if you implement the IGitHubPlugin interface, then we can submit issues directly from within XTB 🙂

  2. Scott Sewell (@scottsewell) January 12, 2018 at 7:35 pm

    Ameed – I’m glad to see you working on this – I really like the things I see within it. Gaining this type of additional transparency into the permissions / entitlements within Dynamics 365 Customer Engagement is critical for troubleshooting and ensuring compliance, but diving into the depths of the POA table is not for the “faint of heart”. 🙂

    • Ameed January 12, 2018 at 9:08 pm

      Thanks Scott 🙂…. if one thing that I like to redesign in platform … that will be POA. Shall be an exciting challenge 🤟

  3. crmlife May 15, 2018 at 12:37 pm

    Is it possible to export this data? I have tried various things but no luck.

    • Ameed May 15, 2018 at 1:05 pm

      Not currently … i have to implement that … i must say this should have been there from version 1, as many have been asking for this. I shall do this very soon. hopefully in a few days

      • crmlife May 15, 2018 at 5:22 pm

        You would so be my hero. It will save days of work for me and my team. I love the plugin, it has given us so much insight.

      • Diane Bartlett October 2, 2018 at 9:30 am

        hello, is there any progress to adding export functionality?

      • Ameed October 2, 2018 at 9:34 am

        Hi Diane, no sorry … I have been simply too occupied with clients at work …
        I must do this now

      • Ameed December 18, 2018 at 11:13 am

        Hi Diane, I just published a new version with excel export facility. For now it is limited to current page only, however I am going to release another version (within 2018) to support Max 5000 records export matching criteria and specified ordering. Hope you can try this
        Many thanks for comments and sorry for long wait

    • Ameed December 18, 2018 at 11:40 am

      I just published a new version with this facility … for now only exports current page records … but working on next version to allow max 5000 records export, based on criteria and selected ordering

      Sorry for long wait & thanks for feedback … more awaited


    • Ameed January 2, 2019 at 10:29 am

      A full featured Export to excel is now available in most recent version (1.2018.12.31). Please make sure that you use XrmToolBox latest version before you install my tool’s update. Please do report issues, feedback. Many thanks for support

  4. Abbas January 5, 2019 at 7:00 am

    Nice work and keep on adding new functionality.

  5. Nachiket March 20, 2019 at 1:22 pm

    Hi Ameed, How one can search for the records which are not shared with Team?

    • Ameed March 20, 2019 at 1:58 pm

      Hi Nachiket, Thanks for feedback. Unfortunately, this is not possible with the current options. For now one can only say select only to find “Only Unshared” but not with saying those which are not shared with teams. I will keep that in the features list for next versions.

  6. René February 22, 2021 at 2:35 pm

    HI, XLSX Download does not work. After I provided a file name nothing happens

    • Ameed February 22, 2021 at 2:38 pm

      Hi René, thanks for feedback. I will surely take look soon and get back on this.

    • Ameed February 22, 2021 at 2:54 pm

      Hi René, i just tried with latest version and got a file downloaded in the folder that i selected in dialog box. Are you sure you have looked into the same folder where you saved the file ? If you still dont get find, could it be that you need to run xrmtoolbox as administrator ? I am eager to know more about this test case, so may be we can do a short screen sharing call ? If you leave another comment, with details on how to reach you, i will not publish that comment, and then delete after connecting with you. I hope this helps.

  7. Doug Allinger March 4, 2021 at 10:02 pm

    Hi, Ameed. Thank you for this tool. I’m attempting to use the “Search by Principal” feature, but when I check that option, the lookup fields remain inactive. Is there a setting I’m missing to use this feature?

    • Ameed March 4, 2021 at 11:52 pm

      Hi Doug, thank you for the comment & feedback. Well this feature is still pending and i am sorry to not have proceeded on this development. Must not hide behind the excuse but th the ever evolving CDS / PowerPlatform / Dataverse simply kept me too engaged with so much to learn while delivering customers solutions. I should get this done very soon, at least the basic first version. However, please do let me hear if you have any specific exectations from this feature.

  8. boostbizsolutions April 21, 2021 at 4:14 pm

    Hi, This is a great tool. Helps a lot.
    To overcome the limit of 5000. It would be great if we could filter the data based on the ‘Shared on’ date. Maybe, other filters could be added also.

    • Ameed April 21, 2021 at 4:32 pm

      Hi, thanks for your much valuable feedback 👍:) & that is actually a great idea to add date filters …will surely do that soon … much appreciated,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: