101 little things to make salesforce a lot better

A sporadically maintained list of coal seams smoldering deep in the caverns of salesforce.com that cause needless liver damage in many an awesome admin.

In honor of summer19, this post now has the subtitle of:

101 things that might be more helpful than confetti (which, for the record, is actually kinda fun). #

Misc Nonsense w Fields and Reports and such

  1. parent case field not available on case close layout
  2. parent campaign field not available on activity with campaign report type
  3. primary contact not available on activity with campaign report type.
  4. primary campaign source not available on opp related lists - without formula field
  5. Amount and expected revenue not available on standard campaigns w opportunities report type, but available w formula fields
  6. cant load data to description field on campaign member?
  7. link to view hierarchy on case list view (why do i have to create a field for this)
  8. can’t display created datetime on a report (without creating a formula field with the value of createdDate)
  9. try changing the capitalization on an existing campaign member status record. there is one way that works. the rest will lead directly to the insane asylum.
  10. web name and web email are not available on case w/ custom object reports. are they zombies? gremlins? or fields?
  11. campaignmember.CreatedBy is not available on reports. just create a formula field for it! because admins need job security too!
  12. and contact.CreatedBy and contact.lastModifiedBy are not available on standard campaigns with contacts report type. Stop gucking up my reports!


  1. contacts have 4 standard phone fields. leads have 2 (mobile, phone). since you cant map a custom field to a standard field on lead conversion, you get to do all kinds of nonsense involving hidden custom fields and workflow rules if you want to collect home phone or other phone on leads
  2. contacts have a birthdate. leads are a close relatives of viruses and do not have a pulse or a birthdate until converted. so yeah, create a hidden field, add a workflow rule, try not to overwrite existing data, and bask in your job security because otherwise anyone could do this.

Some standard fields that cant be renamed (though idea is marked as delivered)

  1. owner (on standard objects, can be renamed on custom objects)
  2. account name (local) (thought contact name local can be renamed)

About me on user*

  1. is not available in workflow or validation rules
  2. is not available on standard user report type
  3. is available on custom report type on user
  4. List view default sort order is not planned!

Last Login Date on user

  1. is not available for formula fields or workflow rules despite having an (idea w 12k votes]. It is available in visual workflow, apex and in row level report formulas in lightning so just enable this already, collect the points, and head to chuck e cheese to cash them in.
  2. cant be filtered on in reports

Description fields and Help text

  1. Need a Description field on public groups : because they are used everywhere
  2. Need a Description field on standard fields : because we are not all the same
  3. No help text for name fields on standard objects : from c. 2011 folks. holy cow this is my idea!

Buttons / Links / Actions (in classic, bc i’m a luddite)

  1. URL List buttons will not open in a new window (the option is disabled). So you create the same button as execute javascript and voila, it works. Oh yeah, lightning doesnt like js buttons i hear.

Approval processes

  1. you cant remove the ‘submit for approval’ button on the approval history related list - even though you’ve been able to submit via flow and process builder since c 2015. so if you do something magically cool, say a dynamic approval process using visual workflow that launches via a custom button, you still have to have BOTH buttons on the page. Not exactly following the UX best practices manual here.
  2. everything about approval process email alerts, but especially how it appears to be virtually impossible to get the current approver’s name in the email alert. update - they actually fixed approval email alerts in summer 20. just took a decade or two
  3. cant remove the option to reassign the approval

any of these could have been fixed without my noticing, this is just an unordered list of rants, if one has been fixed, please let me know via carrier pigeon since i’m on a twitter vacation. #

And for 2020, I’m adding a ‘seriously…lightning’ section for things that are slow in lightning, faster or better in classic, and / or half baked

Clicking edit on a record that user doesnt have edit on OPENS THE EDIT MODAL WITHOUT THROWING AN ERROR TILL THEY HIT SAVE. there is an api just for this check the access. In classic, you get an insufficient priviliges error message.


Screenshot 2020-07-06 at 6.57.48 AM.png

And a new category for stuff in lightning that is absolute and complete nonsense
Related record component shows the compact layout for users with read only access


Now read this

Dynamic Approvals in Salesforce Using Visual Workflow

We needed a dynamic approval process for our new HR system (FinancialForce HCM), where the 3 approvers for a consultant job requisition needed to be based on the budget managers for the related department, cost center, and region. Budget... Continue →