SF Toolkit

  • Cutting the Clutter: Maintaining a Clean Salesforce Org

    Maintaining a clean Salesforce org, doesn’t need to be a battle. Recently, I was watching a great webinar by Kelly & Leanne entitled ‘Cut that Clutter‘. And it got me thinking about how the problems faced by a cluttered Salesforce, and how it can easily consume an Admin’s time and effort. And it not only affects us as Admins, but also our end users! So in this post I am going to recap some of the awesome tips shared in this webinar, and also see offer some additional FREE tools to tackle the problem that so many of us face!

    The War Against Clutter

    Ok, ok. I admit that this header is full of hyperbole.

    Maintaining a Clean Salsforce, shouldn't be a battle...
    Don’t raise the white flag, in the war against clutter!

    But a cluttered Salesforce creates a lot of frustration and anxiety for me. And I assume most it does for most of you reading this too! My personal vendetta against clutter drives me to ensure I am always improving the org for my end-users…

    I have previously written about how we started to tame the Technical Debt beast haunting our primary orgs and removed over 2 million records from an org (hint: very manually).

    But there is still so much to do…

    It is a seemingly never-ending fight. But as Admin’s we are always looking for tools and resources to help us in our day to day Admin Superhero duties. And to help us in maintaining a clean Salesforce org…

    Cut that Clutter! – The Recap

    Now before we get much further. If you have a spare 30mins I strongly recommend that you watch the webinar as I am only going to briefly summarise it here…

    The session covers the Three-S’s. These are the primary areas to focus on, to ensure your CRM is kept in tip-top shape.

    • Security – making sure you know who can see what in your CRM
    • Structure – does the setup of Salesforce ensure data security and meet any data governance requirements
    • Strategy – how to plan and scale while ensuring you don’t have to keep doing ‘big clean-ups’ each year

    If you want to hear more, then please check out the video.

    Cut that Clutter: Resources mentioned

    Next up, the ladies mentioned some great tools to help you in maintaining your Salesforce org.

    From Salesforce:

    • Salesforce Optimizer (aka Optimiser in non-US/Canada countries ūüôā ) – I am in LOVE with Optimizer reports. It is such an amazing tool to help you analyse and understand where the Technical Debt is likely to be hiding within your org. This should be your first port of call, in maintaining a clean Salesforce. That is how much I love it!
    • Security Health Check – helps you understand any vulnerabilities you may have within your Salesforce. This covers areas like Password Policies, Critical Updates, etc.

    From AppExchange:

    • Field Trip – this tool is one I install in every org I have managed now for a number of years!! It is a great tool to help analyse and understand just which fields are being populated and used by your end users. It is worth noting, that if you have a field that is always updated automatically by a trigger/workflow… Then it will obviously show as being used, even if that trigger/workflow update isn’t actually required. But overall it will help you understand your org in very tangible way.
    • The Permissioner – can help you when mass assigning/removing Permission Sets from your users.

    From Trailhead:

    Additionally the ladies have set up an Admin Trailmix.

    This covers a number of modules covering: Salesforce Profiles/Permission Sets, User Authentication, Data Quality, Data Management and finally Reporting & Dashboards.

    Help with maintaining a clean Salesforce org

    Extra, extra! Two more tools to add to your Salesforce Cleaning toolkit…

    Now for the bonus round.

    There are always so many tools and ideas out there helping admins when maintaining a clean Salesforce org. And I am only skimming the surface with these next two tools…

    Compare Permission Sets & Profiles

    When watching the webinar, albeit not live, I started shouting at my screen.

    During the Security section, there was a point around Profiles/Permission Sets. As an admin it is a mammoth task to compare all profiles/permission sets and what they might grant access to within your org. This can be kryptonite to Salesforce Superadmins…

    There was a recommendation to switch off Enhanced Profile View, and then compare the permissions… But why do that? Especially, when there is a secret weapon at your disposal?

    Perm Comparator by John Brock is that secret weapon!

    Seriously… More people need to know about this tool! And I am not even on commission! ūüôā

    Stop duplicates in their tracks…

    Salesforce hasn’t always been an admin’s best friend when it came to cleaning an org…And without getting all ‘back in my day’-ish…

    But there was a time Optimizer, Security Health Check and those tools simply didn’t exist.

    There was also a time Salesforce didn’t have an easy way to prevent duplicates… Admins had to either buy other tools to identify and manage duplicates, or create complex formulas and validation rules to try and prevent exact match duplicates.

    But when planning your strategy for maintaining a clean Salesforce, you should investigate the in-built duplicate management tools from Salesforce.

    After all, what good is cleaning up your security (profiles, access policies, passwords) and clearing out fields you don’t use any more – if your end users are still swimming in duplicate records?!

    The in-built feature will take care of the basics, but depending on your use case, there may still be a reason to buy a tool like Cloudingo or DemandTools (just to name a few).

    What is in your toolkit?

    De-cluttering your Salesforce can be so rewarding!
    De-cluttering can be so rewarding!

    As I mentioned I only skimmed the surface here… And this is a topic I can (and will likely) write more about in the future. I have rambled more than enough for now…

    So to wrap up the post, feel free to add any other suggestions or recommendations for your ‘Cleaning Salesforce Toolkit’ into the comments section below.

  • Secrets of Spring ’18: Hidden Formulas

    Spring ’18 is now live for most orgs, but there appears to be some changes included in the release which haven’t been documented :-O The great news for us Admins, the changes actually resolve a number of ‘simple’ problems we have when trying to calculate values in formulas.¬† So in this quick update we look at some of the new ‘hidden formulas’ included with Spring ’18 and some of the use cases where you might be able to apply them…

    Update: 26/Feb¬† – Eagle-eyed Ekaterina has pointed out in the comments, there are even more additional formulas available!¬† Here is a link to her blog if you want to read more…

    Update: 01/Mar – Salesforce have now scheduled an update to the Known Issue and scheduled an update via the Spring ’18 Patch 11.0.¬† To see what’s included, click here.

    Hidden Formulas: ADDMONTHS

    The first of the hidden formulas included in Spring ’18 is the new AddMonths function.

    Imagine you need a formula to calculate a date, which based off another date entered on a record.  For example, you could see this in action in Contract End Date (contract start date + 2mth duration = contract end date).

    The formula to add 2 months, while only using point and click Admin features, is quite little long winded (if you want to accurately account for Leap Years):

    IF(
      MOD( MONTH( date ) + 2, 12 ) = 2,
      IF(
        DAY( date ) > 28,
        DATE( YEAR( date ) + FLOOR( ( MONTH( date ) + 2 ) / 12 ), 3, 1 ),
        DATE( YEAR( date ) + FLOOR( ( MONTH( date ) + 2 ) / 12 ), 2, DAY( date ) )
      ),
      IF(
        OR(
          MOD( MONTH( date ) + 2, 12 ) = 4,
          MOD( MONTH( date ) + 2, 12 ) = 6,
          MOD( MONTH( date ) + 2, 12 ) = 9,
          MOD( MONTH( date ) + 2, 12 ) = 11
        ),
        IF(
          DAY( date ) > 30,
          DATE( YEAR( date ) + FLOOR( ( MONTH(  date  ) + 2 ) / 12 ),
           MOD( MONTH( date ) + 2, 12 ) + 1, 1 ),
          DATE( YEAR( date ) + FLOOR( ( MONTH( date ) + 2 ) / 12 ),
           MOD( MONTH( date ) + 2, 12), DAY( date ) )
        ),
        IF(
          MOD( MONTH( date ) + 2, 12 ) = 0,
          DATE( YEAR( date ) + FLOOR( ( MONTH( date ) + 2 ) / 12 ) - 1, 12, DAY( date ) ),
          DATE( YEAR( date ) + FLOOR( ( MONTH( date ) + 2 ) / 12 ),
           MOD( MONTH( date ) + 2, 12), DAY( date ) )
        )
      )
    )

    GULP!!

    But, now you will be able to use the AddMonths formula…

    So you want to add 2 months, to a field containing the start date of the contract, it is now as simple as:

    addMonths(date, 2)

    To see more details, until the official documentation is available, visit Ekaterina’s post¬†here.

    Hidden Formulas: WEEKDAY

    Salesforce WEEKDAY formula
    Salesforce WEEKDAY formula

    Also in Spring ’18, and a little more obscure, is the new WeekDay function.

    It allows you to return a number (from 1-7) which indicates the day of the week, based on a date field within Salesforce.

    Before, once again, you could retrieve this information – but it was again a bit cumbersome:

    CASE(
      MOD( DATEVALUE(CreatedDate) - DATE(1900, 1, 7), 7), 
         0, "Sunday", 
         1, "Monday",  
         2, "Tuesday", 
         3, "Wednesday", 
         4, "Thursday", 
         5, "Friday", 
         6, "Saturday",
         "Error"
    )

    But now – simply use:

    WeekDay(date)

    And it will return for you, a number which represents the day of the week:

    1 = Sunday
    2 = Monday
    3 = Tuesday
    4 = Wednesday
    5 = Thursday
    6 = Friday
    7 = Saturday

    Hidden Formulas: CURRENCYRATE

     

    Salesforce CURRENCYRATE formula
    Salesforce CURRENCYRATE formula

    The next hidden formula in Spring ’18, is CURRENCYRATE.

     

    This formula will return the conversion rate used for a record’s currency code.

    So for example, if you have the default currency as USD.¬† But the record’s currency is GBP – you can now retrieve what the conversion rate is between those currencies.¬† And then display it as a formula field or use it in reports.

    CURRENCYRATE(IsoCode)

    As a possibly obvious tip, Currency Management will need to be activate in your org before you can use this…

    The returned value will be a number showing the currency conversion rate, eg 0.717412 (but you will be able to control how many decimals are shown).

    Hidden Formulas: MFLOOR & MCEILING

    Salesforce MCEILING formula
    Salesforce MCEILING formula

    These two final formula functions go hand in¬†hand.¬† And now also available in Spring ’18!!

    Previously, we did have access to ROUND function:

    Round(decimalNumber, 2)

    Where you could round a decimal number to the number of decimals you specified in the formula.¬† But you couldn’t force Salesforce to round up or down… Until now!

    MCEILING will round a number up to the nearest positive whole number.  Whereas the MFLOOR will round down to the nearest positive whole number.

    Both functions will return 0, if the input number is a negative.

    So for example, if you have a number field which contains decimals but you want to round up or down, you can control this with these functions.

    To round up, to nearest whole number:

    MCEILING(number)

    To round down, to nearest whole number:

    MFLOOR(number)

     

    Found any others?

    No doubt Salesforce will be updating all relevant documentation and the Help site soon.  But if you have found any others, add them to the comments below!

  • How to tame the Salesforce ‘technical debt’ beast

    Previously I raised the issue of technical debt, which is an issue that can easily impact any Salesforce org.

    Trying to find out just where to start can feel like trying tame a wild beast.¬† We’ve all been there…¬† Questions like, is it really a problem?¬† Where do I start?¬† How to I gather the information I need?

    Help is at hand, when you are¬†scoping size of the problem,¬†there are some amazing¬†free tools you can use to really zone in on your org’s problem areas.

    New Salesforce features

    The last two¬†Salesforce releases¬†have also brought new features¬†to support you in checking your org.¬† Let’s take a quick look at them both.¬† Please keep in mind, to use both of these new features you will need to check your permissions and license edition of your org.

    Salesforce Optimizer

    Spring ’17 has brought with it the new Salesforce Optimizer.¬† It is a great new feature giving¬†you an easy to understand PDF report.¬† Which focuses on some of the key areas within your org where Technical Debt might be hiding.¬† The¬†report will highlight key areas¬†including:

    Salesforce Optimizer
    Sample of a Salesforce Optimizer report

     

    • Fields
    • Apex triggers
    • Page layouts
    • Report types
    • Validation rules
    • Workflow rules
    • Sharing rules
    • Administrator permissions

    To access Optimizer right now, jump to Setup -> Optimizer.

     

    Salesforce Health Check

    In the previous release, Winter ’17 also introduced Salesforce Health Check.¬† This one is very much aimed at reviewing your org’s security policies, and as a result¬†is a little more ‘techy’.

    The report will give you an overall baseline score, recommended areas of focus and suggested actions covering:

    Salesforce Health Check
    Salesforce Health Check
    • Certificate and Key Management
    • Login Access Policies
    • Network Access
    • Password Policies
    • Remote Site Settings
    • Session Settings

    It is very helpful and useful in performing an audit on these key security areas.

    To find this within your org, head on over to Setup -> Security Controls -> Health Check.

     

    Other Resources

    Salesforce Toolkit

    Another great resource I have used is the Salesforce Toolkit.  It is a must-have suite of free Heroku apps which allow you to analyse, diagnose and configure a variety of Salesforce items.  It does offer up to seven different tools (at the time of writing), and I have used a number of them personally across various orgs of Salesforce.

    Org Doctor

    I found this tool before the Spring ’17 release came out, and introduced Salesforce Optimizer.¬† However this tool still provides some additional¬†information that is helpful when diagnosing any technical debt within your org.¬† Particularly helpful in highlight potential problem areas in your Apex (like API versions and number of test classes) and additional details about your role hierarchy.

    The report it generates once again if very helpful and even contains a brief summary as to why each metric is important to the overall health of your org.

    Schema Compare

    Another fantastic app from the toolkit.  This one presents an extremely helpful report comparing multiple instances of Salesforce.

    Yes, you read that right! Compare two orgs side by side in a single report, which breaks it down object by object.  The two orgs can be a mix of Production <-> Sandbox, Production <-> Production or Sandbox <-> Sandbox.

    An example use case could be to compare a development sandbox with production to see what are the differences object by object.

    Perm Comparator

    The final app I want to share with you today is the Perm Comparator.  Another simple Heroku app which allows you to easily compare Profiles, Permission Sets & Users within an org.  Genius!

    Say for example you wanted to see how two Profiles within your production org actually differ.  This app makes it so simple to view the profiles side-by-side, showing how the user/object permission vary between them.

     

    Now go forth and slay the beast!

    There is never a better time than now to start slaying the technical debt beast, and with these tools you should make short work of it.  Of course, there will still be other areas that may need analysis.  But this should give you an idea of where you are starting from.

    My next post will look at setting a roadmap, which will help you prioritise and deliver improvements for any identified areas from above.

    As always, feel free to share in the comments below.¬† Do you know of any other free tools that can help in analysing and defining where an org’s pain points are?

Back to top button