Tricks all Salesforce Admins Need part 4 of 7 – The Power of the Bucket #ForceFriday

You’ve may have heard of the Power of One but I’m starting something new… The Power of the Bucket!

Salesforce Reports have the ability to create a custom bucket. The Bucket is essentially a custom formula that groups fields dynamically within a report. Previous to the bucket feature, an administrator was needed to create a custom formula field to do the grouping. The bucket field is much more flexible as it can be used by any user that has access to edit reports, can be changed on the fly, and doesn’t require the consumption of a custom formula field.

As a simple example, I created a Bucket Field that groups Opportunities by Amount:
2016-02-12_0752.png

And you can see the results here:
2016-02-12_0758.png

I wanted to call this feature out not as a tool that Admins can use but rather as a tool Admins can train their end users on in order to avoid custom development (i.e. Formula fields) as they aren’t needed for reporting purposes. The trick is, if you can empower your users through training on bucket fields you get to avoid creating custom formula fields for reporting purposes and your users have a better user experience with Salesforce.

Now for the admin stuff… You can use a Custom Bucket Field in a Report Summary Formula! Super Cool!

How to use a Bucket field in a Formula field

Training to get your users started:

Add a Bucket Field

Using Bucket Fields

 

Tricks all Salesforce Admins Need part 3 of 7 – Effective Embedded Analytics #ForceFriday

Also called Report Charts, Embedded Analytics gives Salesforce Administrators the ability to publish a filtered Dashboard component directly on the page layout so users can see key metrics for that record without navigating to a Dashboard. Embedding certain types of metrics are more effective than others and in today’s post I am going to focus less on the How To of implementing Embedded Analytics and much more on the What To.

If you are interested in learning how to implement Embedded Analytics Salesforce Help and Training provides an excellent guide:

https://help.salesforce.com/HTViewHelpDoc?id=reports_embed_showcharts_pages.htm&language=en_US

What we need here is a Framework! I present to you: The Embedded Analytic Decision Diagram!

Embedded Analytics Venn Diagram

Venn Diagram anyone?

 

 

 

At the intersection of Actionable, Measurable, and Relatable we find our ideal candidates for embedded analytics. I’ll explain each in due time. Using this framework can help you identify what is going to be most effective to display. There’s a limit of 2 report charts per page so you want to make sure that you are displaying the most effective information you can with the limited space you have.

Measurable

Let’s get this one out of the way quickly. If you can’t report on it in Salesforce then you can’t embedded it as a Dashboard component on the page layout. Your metric needs to be something that can be measured. This is the concern of the Salesforce Admin because there may be relational database changes needed in order to create the reporting needed.

Let’s take the example of an Apartment Complex. Apartments have Residences (Accounts or Person Accounts) and they consume Resources (Apartments, Garages, Parking Spaces, Electricity, Water, etc.). A measurable metric might be water consumption by Resident displayed over several months. In order to report on this within Salesforce water consumption records must be related to the Resident through a Lookup or Master-Detail relationship.

Relatable

Take stock in your audience of the the component you are considering. Can Jane Sales Rep understand the data presented in this component? Can Joe Support Agent use this data to better serve the customer? Does the component .ell a story?

These are some simple questions to ask but they each dive into what the data behind the component is trying to tell you. I like to refer to this as the story behind the data. If you have data for data’s sake then its not useful. The narrative the data tells you is much more useful. What’s even more useful is if that narrative matters to the person viewing it.

Opportunities in Pipeline might not be directly impactful to a Support Agents duties but certainly might be useful for a Sales Rep. However, Number of Escalated Cases in the last 3 month may tell a much better narrative to both the Support Agent and the Sales Rep, something they both can relate to. Understanding the narrative behind your data will help to determine a relatable component.

Actionable

Much like data that doesn’t tell a story, if your users can’t do anything with it the data you give them the data is useless. When considering embedding analytics into a page layout we need to consider what actions our users might be able to take based on the data they are presented.

Let’s take our Water Consumption report example from above. Water Consumption is related to the Resident and measuring it over several months certainly can tell a story. But who cares if your users can’t do anything with it. Let’s say we are displaying this data in a component to a leasing agent who is working with a resident to sign a new lease. The leasing agent sees the component and notices a spike in water consumption in the last three months. She discusses quickly with the resident the possible reasons for this and finds out that the kitchen faucet has been leaking. The leasing agent can then easily dispatch maintenance to fix the issue, improving customer loyalty and satisfaction.

When implementing a component on the page layout, embedded with field level data, we need to consider what actions might be taken from a quick analysis of the data itself. If the data won’t result in your users taking action then its not going to be effective.

Tricks all Salesforce Admins Need part 2 of 7 – Dealing with Multiple Orgs #ForceFriday

If you are like me you have a laundry list of Production, Sandbox, and Developer orgs that you work with. Keeping track of everything can be daunting. The moment you realize you spent an hour working in the wrong org is right about the time you realize you need some organization. I have three tricks for admins that work with multiple orgs that help me organize my logins as well as ensure that I’m working in the correct org.

Enable Multiple Username Login Hints

http://releasenotes.docs.salesforce.com/en-us/spring14/release-notes/rn_forcecom_security_login_hints.htm

This feature allows you to save Usernames directly in the Login.Salesforce.com login page and then click on the one you want to use instead of typing in the username. Useful if you only have a handful of orgs you work with and an easy option to turn on.

Force.com LOGINS Chrome App

This app only works with Chrome so if you use a lesser browser then this option isn’t for you. That said, use Chrome.

Force.com LOGINS use to be completely free but has recently become a $2.99 annual fee. However, that’s only for 11 or more logins being stored and I get way more thank 3 bucks worth of saved time with the one click logins and the ability to store usernames/passwords/security tokens as well as group orgs together for organization.

https://chrome.google.com/webstore/detail/forcecom-logins/ldjbglicecgnpkpdhpbogkednmmbebec?hl=en

Name your Users’ Display Name with the Org Name

I like to append the name of the org I’m working with to the last name of my user. This is mainly to ensure that I’m working in the correct org. You can also update the Chatter photo of your user with a different picture but who has 20 different good head shots of themselves… Naming your user ensures that you see the name on every record and everywhere you go within Salesforce so you know that you are what environment you are working in.

2016-01-17_2144.png

My Primary Developer Org Display Name

Additionally, naming your users’ display names differently to indicate which org you are in also helps when sorting out which org to login to via Salesforce1.

2016-01-17_2150

Multiple-Org view in Salesforce1

Tricks all Salesforce Admins Need part 1 of 7 – Switching Page Layout Views #ForceFriday

Today we launch part 1 of a 7 part series I’m Tricks all Salesforce Admins Need. Today’s topic is switching to between the Enhanced Page Layout Editor and the Classic Page Layout Editor. This is an very simple distinction, only one checkbox in Setup, but can cause hours of searching for a solution if you don’t know the trick to switch.

You might need to switch to make a to the classic page layout if you receive an Internal Server Error while editing a page layout. The Internal Server Error can be caused by several issues including an actual Salesforce database error, corrupted fields, the Salesforce Physical Delete process not completing, and a bunch of other potential causes. The important thing is that they all present with the same error: “Internal Server Error”.

To switch to the classic Page Layout Editor:

  1. Go to Setup > App Setup > Customize > User Interface
  2. Uncheck the checkbox next to “Enable Enhanced Page Layout Editor”
  3. Click the Save Button
  4. Go to the Page Layout you are trying to edit and make the change you want
  5. Got to Setup > App Setup > Customize > User Interface
  6. Re-check the checkbox next to “Enable Enhanced Page Layout Editor”
  7. Click the Save Button
    2016-01-15_0812.png

 

Open Records and Inactive Owners – #ForceFriday

Employees come and go. Its a natural part of the ebb and flow of business. Keeping up with the data transfers when employees go can be a headache and often falls to the administrator to manage. By default, Salesforce offers a way to report on this via standard fields on the User object, although you need to manually add these fields to a Custom Report Type. However, a custom formula field offers a bit more flexibility including the ability to add the formula field on the page layout as well as use as a filter in the Mass Transfer Wizard. However, the report option may be all you need or you may be in an organization with long change management process so getting a formula field in production may not be feasible on a timeline you need. For these reasons, I’ve included instructions for both the reporting and Formula options:

Adding User Active Field to Custom Report Types:

To add the Active User field to Custom Report Types follow these steps:

  1. Go to Setup > Build > Create > Reports Types
  2. Either Create a new Report Type or click on the Report Type Name of an existing Report Type
  3. Click on Edit Layout
  4. Click on the “Add fields related via lookup »” link
  5. Click on the “{object} Owner »” link
  6. Click the checkbox next to “Active” and then click the OK button
    2016-01-04_0959.png
  7. Click the Save button.

Adding a custom Formula to identify Inactive Owner:

Fortunately, a simple formula is all that is needed. I’ve put together the most common standard object formulas needed in an un-managed package if you don’t want to take the time to put in the custom formula’s yourself.

Inactive Owners (Accounts, Contact, Opportunities, Activities, Leads, and Cases) – https://login.salesforce.com/packaging/installPackage.apexp?p0=04t80000000lSjh

 

However, if you are looking to put this formula on a different object or want to put these in yourself here’s the steps:

  1. Go to Setup > App Setup > Customize > {Object} > Fields  – If creating the formula on a Standard Object – Go to Setup > App Setup > Customize > Create > Objects > {Object} – If creating the formula on a Custom Object
  2. Click the New button in the Custom Fields & Relationships section
  3. Select Formula and click the Next button
  4. Select Checkbox and give the field a name – Click the Next button
  5. Enter one of the two formulas in the editor, depending on if the object has access to a queue owner

Object with only user as owner:

IF(
Owner.IsActive = TRUE,
TRUE,
FALSE
)

Object with only user/queue as owner:

IF(
Owner:User.IsActive = TRUE,
TRUE,
FALSE
)

6. Click Next and determine the field level visibility and page layouts you want to add to the field to

Note: In Professional Edition the report visibility of individual fields is determined by if the field is on the page layout or not. Since we want to report on this field, Professional Edition orgs should always have this field on the page layout

Reporting Options

Now that you have created the correct reporting fields you can include them as report filters and even create a custom dashboard with a component for each object.

Having certain records owned by inactive users is not necessarily a bad thing. For example, closed Opportunities should remain in the users ownership, even if the user is inactive. This would be to ensure historical data integrity as well as not attribute past sales to an existing user. However, if an employee leaves the company with open Opportunities the administrator will want to transfer those records immediately. The point here is to build in a process that makes senses for your organization with regards to inactive owners.

2016-01-02_1605

Example Opportunity Filter to produce a list of open Opportunities owned by inactive users.

 

Tips for reporting:

~ Reports should be filtered on open records
~ Reports should be summary reports so they can be added to Dashboards
~ Create a Dashboard and schedule it to yourself and any other interested parties on a regular basis to ensure consistent data quality

Sandbox Refresh Checklist – #ForceFriday

I like Fridays… especially this one as it’s New Years Day! Fridays are the perfect day to wrap up projects, close out the week, and start your weekend which for me usually means baby duty and marathon training #MoreWorkThanWork. Its also a good time to kick off a Sandbox refresh since they sometimes take a while to complete (especially the Full Sandboxes). Today is also the last day to get your Sandbox on the Spring 16 Sandbox Preview (https://www.salesforce.com/blog/2015/12/salesforce-spring-16-sandbox-preview-instructions.html). Don’t wait!

sb5
Image courtesy of Salesforce

Here are a few things that I check before I refresh my Sandbox and a few things I always do after its finished.

Check if there are any changes going on – Setup Audit Trail and Login History

About a month ago I got an email from a colleague that made my heart sink to the bottom of my stomach. I had refreshed my personal Sandbox I use for just messing around and had erased some development work he was doing. I gave him access to my Sandbox just to play around and do some testing… and then promptly forgot I had done that. Fast forward a month and there goes his work.

I always try and check the Setup Audit Trail and Login History before I refresh a Sandbox which would let me know what’s actually going on recently in the org. If there are changes that aren’t expected or haven’t be migrated to another Sandbox or production then that’s your red flag.

Refresh on a Schedule

Salesforce does three releases a year and companies should identify some Sandboxes to be refreshed along with this schedule. There are several different thoughts on development cycles and Sandbox refreshes to match those cycles. Outside of the whatever development cycle you use some Sandboxes should be matched to the release lifecycle with Salesforce releases.

Enable Sandbox only users

Many times, some users, such as developers, contractors, or even admins technically only need Sandbox access. Instead of paying for a production license you can maintain a list of users that only need Sandbox access and put in place a policy to load those users immediately after the Sandbox refresh.

More details from Salesforce on Sandbox Best Practices: https://help.salesforce.com/servlet/servlet.FileDownload?file=015300000036AisAAE

Email Deliverability

By default, after a sandbox refresh the Email Deliverability is set to “System Email Only”. This limits two things:

1) Ability for email to be sent from the Sandbox with exception of system emails like error messages.
2) Disables the visibility of the Send Email Global Action

In testing, email deliverability is integral in most processes and testing the delivery of said email is important. Add this setting to your post-refresh process and you won’t have to worry about it!

2015-12-30_1946.png