Jumping on the Cleanup Bandwagon

“Clean up, clean up, every Admin everywhere clean up, clean up every Admin do your share…”

OK, enough chanting of songs by purple dinosaurs.  So everyone is talking about cleaning the org for a fresh start to 2015, but I don’t feel like we are really digging into the horrible mess a mature org, or even a middle-aged or new org can really have below the surface. I’ll start with the basics, but readers beware, we will go further down the trail than most have dared to venture.   Fasten your seatbelts and get ready.

OK, enough changing of songs by purple dinosaurs.  So everyone is talking about cleaning the org for a fresh start to 2015, but I don’t feel like we are really digging into the horrible mess a mature org, or even a middle-aged or new org can really have below the surface. I’ll start with the basics, but readers beware, we will go further down the trail than most have dared to venture.   Fasten your seatbelts and get ready.

Report Cleaning

We all have out of control Reports.  Luckily, there are multiple ways to deal with this now, and they don’t all involve millions of clicks, hours of work, and bottles of wine.

  • Use the Mass Delete in Setup. We can thank each other for this time saver. Thanks to many a votes on the Idea Exchange, Salesforce released Mass Delete Reports in Spring 14.
Your Name - Setup - Data Management - Mass Delete - REPORTS.

Just build your filters and start deleting away. OK, sounds careless, I first recommend creating a Report with the Report Report Type in the Admin Reports on the Reports tab (wow). Then take a look and what Reports are being run, who are they being run by, and how many of them are there.

  • mass delete in setupReal quick, before we begin, check if report types should be hidden. If you don’t use it is clutter, and we are here to clean right? Examples:
    1. Are there retired objects waiting to be deleted?
    2. What about objects that are not for users, E.g. Admin Apps?
    3. Do you use all standard objects?
  • Click that little box above the list of reports and get the junk out of your users’ way.  OK now for the actual cleaning part…
  • The Force.com IDE.  I know it isn’t as “easy” as the Mass Delete, but it lets me do oh so many more things than delete.  It is actually my favorite tool of all time. Just download, install, and create a new Force.com Project.  Add your reports and dashboards.  Now, personally, i then open my Windows Explorer and cut and paste my Reports around from folder to folder, making sure to delete the folders with nothing left.  I also review what reports are in the system, checking to see if there are reports used by many I can create a more standardized version of.
You can access the IDE here from the developerforce site:  https://developer.salesforce.com/page/Force.com_IDE
  1. Few other great things for the IDE, backing up your sandbox when doing a refresh
  2. Regular org metadata records
  3. copies of projects before and after for a roll back
  4. Finding where Roles, Profiles, Fields are used in SFDC
  5. Mass changing terms used in reports, if our region changes from Central to Midwest, use Ctrl F in the IDE with your reports, BAM all better

 Other Practices

  • Global Dashboards and Reports should have a lockdown, no entry, no exceptions.  The last thing you want is someone changing a field, editing count to SUM and being hundreds of thousands off on your numbers, or worse.
  • Keep the reports for Dashboards in a folder w/ a prefix it too.
    • DB: Dashboard Name
    • DB Reports: Dash Name
  • Make sure you don’t have duplicate Dashboards for regions, when a Dashboard Filter is all Management needs, and security settings or the same filter can help with the rest.
  • Now my favorite rule: If it hasn’t been run in 3 months, put it in your personal reports folder OR a quarantine folder, and 3 months later, DELETE unless a user speaks up. Yep that’s right, buh-bye reports.
  • Also, send out a report to users that you will be deleting the… Unfiled Public Reports folder.  This folder should not be used long term.  It is a place to send a report to another users private folder. If they didn’t pick it up and move it, delete it at end of quarter.
    • Please, Please, Please remember to lock these folders down like the hope diamond.  You don’t want someone switching your Closed Won Rev Dash to be showing your CEO and others all open opps.  You could end up with some pissed off people at your door.

BTW, Since you are here anyway…

  • While you are here, run a User Report from the Admin Report folder, now have it with active and inactive on top, then have the User Profile down the side – now, you know which Profiles are no longer in use, because you know which Profiles are. You also know which only have deactivated users. 2 birds with one stone, if you do the same report but swap Profile for Role that’s 3 birds.

Field Archiving and Retirement

Maybe you have a new Sales Process, maybe you were testing or you need to turn that text field into a picklist, it doesn’t matter why, just that we do all outgrow our fields.  Now first things first what is being used.  I use Field Trip, you’ll see this all over the blogs, everyone is hip to Field Trip.  It is great, easy to use, fast, and free.


Appexchange Listing: https://appexchange.salesforce.com/listingDetail?listingId=a0N30000003HSXEEA4

If you don’t have it yet, hop on over to the Appexchange and download it into your org.  Once installed you can go to the Field Trip tab and click ‘NEW’ after you enter your criteria (it is in SOQL, just a heads up), click Save, once you Click analyze on the next screen, and begin, you may not be able to click again or refresh, but you can leave the page and keep working on other things.

This leaves you with how many records you have, and how many times the fields are filled in on each. Downside: formula fields, checkboxes, fields w/ a default, they are always 100%, also you don’t know when it was last populated.  As great as it is, it isn’t able to clean our org for us.  To go with this, I usually use Enabler4Excel, my other fave.

I use E4E to further define Field Trip, such as what is on each page, what % on the pages is used, where are users skipping, etc. Helps me optimize my Page Layouts too.

What to do with my fields now that I want them gone.  first i take them off all pages, even my Admin page, I hide them with Field Level Security, then add “zzz_” before the name to keep them out of the way when i am working with fields. If nobody complains I then export all the data from the field, save to a shared drive and HARD DELETE the data, and field. With the Export, it can always be brought back to life if 4 months later someone needs it OR if they just need the data direct them to the shared drive.

Other Yearly Tasks:

Export the Field History values, archive, delete – why? These auto delete at 18 months, and you can’t report on them.  Plus it lets you save some space. I recommend saving on a shared drive online as long as required by your company’s data retention policy.

Delete old Activities. Activities in SF are archived 365  days after the activity date or 365 days after creation if no activity date, this however doesn’t really do much for you, besides limit your reporting in my mind.  Your storage is the same, it isn’t reduced, you still see them on records, BUT you supposedly can’t report on them. Now I do keep all human activities on customer and former customer records as our reps need that data, but automated tasks, they are fair game.  Tip: Make sure to Export All when using the Data Loader.

  • Export and delete activities over 2 years old for prospects that have never been customers.
  • Export and delete emails over 2 years old
  • Export and delete marketing automaton activities over 1 year old

Export and archive Graveyard Leads/Contacts w/ their related records, same goes for any other bad data queue such as 555 Ph#s, no email, test in the name.

And since we are in the marketing zone, talk to marketing and get new letterhead, then replace the logos in Documents and Letterheads. Delete unused/expired email templates and unused folders. I like to get a expiration date from Marketing for their templates so we can remove from use and reps regularly, but some generic templates don’t expire. This cleanup includes moving templates out of the folders reps use to one they cannot access.  Update or remove email auto notifications for leads, cases, too, as our internal notifications need some pizzazz too

Audit WFRs, get rid of the unused field updates, email alerts,etc, the ones deactivated throughout the year or created just for a project, delete, I do export them with Octopus first.

  • If you wand to do an export with your IDE, totally cool, but do yourself a favor, put that XML file into an Excel Table for easy reading.  Here is the site I use, this totally hand awesome online, no download necessary, XML2Table then it lets you export. Formats better than using my Excel built in XML reader.
XML2Table Online Tool:  http://www.aridolan.com/xml2table/x2t.aspx

With a Happy End of Year/New Year announcement, I also like to have users update their signatures, and include details in the email.  I use this email to send out a user survey out to find out what users want for views and reports. This will increase adoption and cleanup errors while standardizing the system. With that data audit list views and remove the unnecessary views and remove permissions for anyone that shouldn’t make public views. Then create/update the reports requested – Repeat with dashboards.

This seems like a lot, but there are still things we need to do during the year…


  • Run an audit for Contacts not owned by Account Owner, that is if you don’t have a trigger, but this should be checked anyway
  • Refresh of the sandbox, and do a IDE export

Every other Month

  • Update the Custom links on custom’ Objects
  • Review and Update the Custom Links


  • Release notes time!!
  • Update list of what to focus on at Dreamforce, cheesy yes, but I will not remember next year and I will forget the needs for the sounds cools
  • Report Archive – move unused in 3 months to Pending Delete
  • Empty the Unfiled Public Reports Folder & SalesOps Shared Folder
  • Setup audit trail export. REVIEW IT don’t just export.
  • Check for unused fields and hide them from users via field level security to check for actual need (makes the EOY Field Trip easier)
  • Deactivate and move email templates that aren’t current
  • The dreaded Dashboard use review, are they being used, check schedules, running users
  • Schedule Job review, are those reports being used?  Do people actually read the auto email?
  • Send out a list of Salesforce Reminders to reps, include BPs new functionality released this quarter, and what is coming up
  • Delete unused/expired email templates
  • Review page layouts to verify that fields are properly added to all and setup in a functional way based on changes to the system
  • Export and archive attachments from emails 1 year+ old unless related to a deal

What are your thoughts? Seriously, comment.

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s