I am trying to update a field on a master object based on couple of values{criteria needs to be if Status = Approved on the header - thats when it should fire, then check if Y(at line level) is equal to 'Y' and then come back to header and update Z ='z'} .

I don't want this to fire on creation/edition of the record but rather when the particular criteria met(In my case as soon as Status=Approved). I understand I can use WF/PB with the criteria to fire even when the record is Edited but:

  1. that would mean it would fire off everytime and I just want it to fire the only first time when the record status = Approved and not after that.

  2. Somehow change in status is not counted as an Edit so my PB ignores it all together and does not fire. But if I go in and manually edit any field it fires without any issue. How can I make it fire with just the status change on field level via an automated process.

Am I over-complicating this? Do I need to use trigger?

  • What process is changing the status? If PB doesn't fire I would think Apex Trigger wouldn't either. – Adrian Larson Mar 14 '18 at 15:32

Regardless of whether you're using Process Builder or Workflow Rules, you can choose an option to fire the action of the PB/WR only if it's edited to meet the criteria you've established.

This ensures that the action does not take place on any edit, but only edits that move the record from a state of not meeting the criteria (such as Status = null) to one that does meet the criteria (such as Status = Approved).

Your point (2) is likely an indicator that there is an issue with the criteria on your Process. While there are a handful of circumstances where automation doesn't go off in response to record changes, this does not sound like one of them.

  • 2
    They also both have a way to check if a field changed. – Adrian Larson Mar 14 '18 at 15:32

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.