I took over for a Salesforce Admin and I am pretty new as an admin, but have used Salesforce as a salesperson before.

We have a custom object called Logs, and our non-profit has case managers that apply to jobs on behalf of the people in our program. The case managers are required to create a record with the status of 'Application' before they are allowed to create a record with the status of 'Placement'. Some of our case managers get lazy and they skip the application records and thus we lose some data. FYI, the status field is called an Organizational Interaction Type.

Do I use a combination of Flow and Process Builder to achieve this check? How should I approach this problem? I don't believe I can achieve this with a validation rule.

  • Probably worth posting it over in the Power of Us Hub: powerofus.force.com/publogin – BritishBoyinDC Sep 14 '20 at 21:13
  • @BritishBoyinDC I didn't know this was a thing. I've been using TrailBlazer Answers... – Jree Sep 14 '20 at 21:18
  • If you are a Non Profit, that's really your go to place for answers - lots of folks with NPSP and NPO knowledge – BritishBoyinDC Sep 14 '20 at 21:29

At its core, I think this is a problem of data modeling. The way your org is defining what is/isn't an object is at odds with what you're actually trying to accomplish.

One thing to ask yourself is whether or not there needs to be two separate records (I'm assuming, based on your description, that "Application" and "Placement" are both Log__c records).

If not, then you could write a validation rule to enforce that a log needs to be an "Application" before it can become a "Placement". PRIORVALUE() would help with that.

Otherwise, splitting it into two objects, and creating a master-detail relationship between your "Application" and "Placement" would enforce your rule (with a master-detail relationship, the child "detail" record cannot exist without being related to a record of the "master" object).

Something else to ask yourself is what is the value to your organization for forcing people to go through this process? What do you gain by having a separate record for applications and placements?

Do you report on that data?
Is the measurement of performance of your case managers dependent on that information?

From my limited point of view, I'd suggest going with the split it into two objects approach. It would seem to satisfy your needs, even without the need to dive into the declarative tools (valdiation, workflow, process builder, etc...). Another possible option would be to use an approval process to manage the transition from application to placement (an approval process can modify a record after it reaches "final approval").

Of course, if you/your org can't justify why an Application is required before a placement, then requiring an Application is just slowing down your process and you may be better off without making that a requirement.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.