An elegant solution
While we all have different titles, what this Salesforce admin/developer job really entails is “Problem Solver.” Some of the solutions are slick & cool, others are a bit messy but get the job done. Usually the person with the problem doesn’t really care so much how it gets fixed, so I was surprised the other day when someone commented on how elegant my solution was. To me, it was fairly basic stuff, but the more I thought about it, I realized that it was something pretty clever that I had come up with.
What exactly did I do? I should start with the business problem. Without going into too much detail, we have leads assigned to a queue & the business wanted a sales rep to actively accept or reject the lead before working it, and also capture some key data points at the time of acceptance or rejection.
Now, the fun part – how I solved the problem. I created a new record type, and made it the default. I create a page layout with only key fields displayed & the only buttons that exist are the ‘Accept’ and ‘Reject’ buttons. “What are the ‘Accept’ and ‘Reject’ buttons?“, you may be asking. Pretty simple – a clone of the “Edit” button, except the are passing a value into a field on the record. This passing of a value allowed my to write validation rules to conditionally require data based on whether the lead was accepted or rejected.
So far, pretty cool, but nothing amazing. But wait! There’s more! Once the user is done editing the record & hits “Save”, a workflow rule fires (based off the accept/reject field containing a value) and a field update occurs. Still pretty simple, right? Well, the slick part comes in that the field that gets updated is the Lead Record Type. (Ta-daaaaaa!) The record saves & then the user is presented with the standard lead layout with all the fields, related lists, and other bells & whistles they were used to having.
Magic transformation – all in a day’s work for a salesforce admin!