Don’t you hate it when you realize that there are a bunch of records still owned by an inactive user? This is one of my pet peeves, and unfortunately, it is also usually my fault. One of my biggest challenges has always been to remember to transfer ownership of records when I deactivate a user. And in a complex org, there are a lot of records to transfer. The mass transfer tool is great for some objects – but what about the records you can’t use it on? How can I remember to check all of them? What if I’m not sure which of my 200 custom objects need to be transferred? I swear I ran these reports before for another user, but where did I put them…?


Seriously. The solution was so easy, I wish I had known about it ages ago! All I had to do was add a set of custom links to the User page layout, one per object, each link opening a report of records owned by that particular user.

I started by creating a folder to keep these reports in. I locked it down to our Administrator role because no one else in my org deactivates users – but you will want to apply the security that makes the most sense to your folder.

Then, I created a report for each object. The most important thing to remember here is, “Record Owner = “ must always be your first report filter. After that, you can add whatever filter criteria you like – for leads, I make sure that they are unconverted, because converted leads will show up in my account and contact reports anyway.

For cases and opportunities, I only need to change the owner if they are open, so that was my 2nd filter on those reports.

Once your reports are done, you can create the custom links. Tip: It helps to have the report open in another tab when you are ready to create the link. Go to Setup | Customize | Users | Custom Links, then click the “New Button or Link” button. Give it a label (this is how it will appear on the page), make sure your Display Type is “Detail Page Link,” select the behavior for opening the report, and make sure the Content Source is “URL.”

To start the link, the first thing you want is the report ID – include the forward slash just before the ID.

Then, you want to add “?pv0=” immediately after the report ID. And finally, select “Name” from your list of merge fields.

My finished link looks like this:

Something to keep in mind for future custom links is, you can use any available merge fields – just make sure they match the fields that you use in your report filters. If you really want to get crazy, you can pull in up to 10 merge fields to match your report filters. The 2nd filter would be pv1, then pv2, etc., just separate them with ‘&’ in the URL.

Once you have a link for every report that you’d want to run, you just need to add them to the layout – go to Setup | Customize | Users | Page Layouts and add them to the Custom Links section of your User layout.

Voila! Now I click on each link, and a report opens up in a new window, showing me which records are owned by that user. I can then use the Mass Transfer Records page, or (for the ones that are not supported by Mass Transfer, like Contacts and Opportunities) I can quickly export the data and do a mass update. I can also export and email these lists of records to the user’s manager if they need to reassign them across a team.

This is just the beginning… next, I will add the links for open tasks, and for custom objects that need to be reassigned. And with these reports so easy to run, it’s a no-brainer to make it part of my user deactivation process. Think of all the other ways that this can be useful, on other objects – and see what you can come up with!

Liked this post? Follow this blog to get more.