Help on Process Builder Scheduled Actions!! - Answers - Salesforce Trailblazer Community
Trailblazer Community
Ask Search:
Janis DavisJanis Davis 

Help on Process Builder Scheduled Actions!!

Hello! 

I was very excited about what I read about Process Builder capabilities being better than WFRs, but I don't seem to be able to get it to work any better on scheduled actions and SF support is telling me what seems like a fairly simple Process can't be done without a development trigger. Well, I have to say that my experience with the Answers and Development Communities has always been much better than going through SF support. You people are smarter since you face the same types of business requirements the rest of SF customers and always come up with totally innovative solutions and workarounds That said, here is the issue I need help with:

USE CASE: Our sales management team wants a process put in place to ensure that our sales reps follow-up on Opportunities that are assigned to them by Inside Sales, Managers, etc.
  • Immediate action - when an Opportunity is assigned to a sales rep, they receive an HTML email alert with all the details of the Opportunity pulled in with merge fields and links they can access on their mobile devices. The action we want the sales reps to take is to go to the Opportunity and update the custom Assigned Opportunity Contact Status field value from the No Contact default value to another contact action value (i.e. Left VM, Contacted, Sent Quote, etc.) to show that they have taken an action on the assigned Opportunity. If that happens, the scheduled actions should not fire (see criteria screenshot below). I’m not sure I have the right formula for criteria #1 to trigger the scheduled actions – so any help on that will be much appreciated.
User-added image
 
  • Scheduled Action 1 - If there has not been some customer/prospect contact when an Opportunity has been assigned to them, after 8 hours, they want the sales rep and their branch manager to receive an email alert that no Contact action has been taken on the assigned Opportunity (see screenshot below)
User-added image
  • Scheduled Action 2 - If there has not been some customer/prospect contact when an Opportunity has been assigned to them, after 24 hours, they want the sales rep and their area manager and RVP to receive an email alert (see screenshot below).
User-added image

So basically I have one immediate email alert action, and two scheduled email alert actions. I have a WFR in place that sets the Date/Time when an Opportunity Ownership has been changed and assigned to a new owner in a custom field Ownership Date Change in the Opportunity record. This WFR also populates another custom field in the Opportunity for Assigned Opportunity Contact Status that defaults to the picklist value No Contact (screenshot below).
 
Since changing the Opportunity Owner is not considered an actually edit to the Opportunity record to drive the process forward, I’m using the custom Ownership Change Date (Date/Time) field in the Opportunity record that populates via my WFR when an Opportunity Owner has been changed.
 
I problem I’m having is that although the immediate action and the first scheduled action fire correctly, the second scheduled action does not fire – particularly if there have been any kind of field edit to the Opportunity record once the process starts. It could be any random field edit not the ones included in the Process criteria. SF Support is telling me that what seems like a pretty simple process won’t work in Process Builder due to product limitations and would require a development Trigger and I’m not a developer. There has got to be a way or some workaround to make this process work. I’m hoping some of you very smart gurus out there have some ideas/suggestions and/or workaround that can make this process work.
 
Any help and/or advice will be very much appreciated!!!
 
Thanks!
 
Michael McNeeleyMichael McNeeley
Hey Janis,

My first guess here... I believe the Change Date <= NOW() + 1 node criterion is nullifying the scheduled action. When the scheduled action is set to execute, it no longer meets the NOW() + 1 criteria since at the time of re-evaluation (which always occurs at scheduled action execution time), NOW() has changed to 24 hrs in the future and the action is re-scheduled for 24 hours from the new NOW(). My guess is that if you go to Setup > Flows and check on the Paused Interviews, you'll see it there and it will perpetually be kicked forward 24 hours.

But realistically, you don't need that criteria in the first place - it's not really doing anything since it's always true so long as it has a value (that is, the Opp is always being evaluated NOW(), and thus as soon as there's a date value in that field and the Opp is evaluated, the date is always less than NOW()+1). You're served just as well by saying Change Date is null False. Assuming my first guess at the reason it's not firing the second scheduled action is correct, changing this criterion should solve that.

Finally, change in Ownership should be a valid way to trigger a Process...

Hope this helps!
Janis DavisJanis Davis
Hi Mike, 

Thanks so much for your response. I get what you're saying about the time criteria. I checked Flows as you suggested and I don't see ANY flows paused or otherwise. A bit confused about that.

I thought the change is Ownership would be a valid way to trigger the process too, however SF tier 2 support told me that changing the Opportunity Ownership using the look-up link is not actually considered a record Edit. They told me (what seems to me to be a fairly simple Process) won't work on the second scheduled action due to product limitations.Particularly, if another edit (any random field edit) is made after the first scheduled action fires. Does this make sense to you? I just can't believe this process can't work - but now I'm very confused about what to change in my process to get it to work correctly. Any advice or clarifications on this will be most appreciated.

Thanks!

 
Michael McNeeleyMichael McNeeley
Okay, to be clear, Opportunity.OwnerId Is changed True is absolutely a valid node criteria and it does work. However, you cannot use IsChanged criteria if you also want Scheduled Actions. The limitation is thus not on OwnerId, but rather any IsChanged criteria paired with scheduled actions.

But since we don't need that here anyway, it's not really relevant. Have you tried setting it up the way I suggested? That is, instead of using Changed Date <= NOW() + 1, make it Changed Date Is null False. I don't see why that wouldn't work. There's no reason why field updates not referenced in the node criteria would affect anything.
Janis DavisJanis Davis
Thanks for the clarification Mike! I'll give is a shot now and let you know if it works.
Janis DavisJanis Davis
Hi Mike, 

I tested your suggestion and now the immediate action is not firing. See the screenshot below with my process and criteria update as you recommended. Perhaps there is something else I'm doing wrong in the criteria.Please let me know what you think.

User-added image

Thanks!
Michael McNeeleyMichael McNeeley
Go to your Workflow Rule's Field Update and be sure to select "Re-evaluate Workflow Rules after Field Change". This should fix it.
Janis DavisJanis Davis
OK - I did that and it's still not firing the immediate action. See Screenshots below to make sure the WFR looks right to you. 

User-added image

User-added image
Thanks!
Michael McNeeleyMichael McNeeley
Okay, I'll have to set something up to test and will get back to you. Someone else may chime in the meantime if I'm missing something obvious.
Michael McNeeleyMichael McNeeley
Alright, let's just reset. There's no need for a custom DateTime field, so let's scrap it. You also don't need a separate Workflow Rule or Field Update, so let's also scrap those. All you need is one Process:

User-added image

As far as I understand your requirements, you need:
  • When an Opp is first assigned to a Sales rep:
    • Update Stage to "No Contact"
    • Send Email Alert to Rep
  • If after 8 hours, the Stage hasn't changed:
    • Send Email Alert
  • If after 24 hours, the Stage hasn't changed:
    • Send Email Alert
All this can be done with the Process above:

User-added image

First Criteria Node: Opportunity.OwnerId > Department/Role/Profile/Title (however you indicate that they are Sales) - CONTAINS - String - "Sales". Be sure to expand the "Advanced" section at the bottom and select Yes. If there are other criteria that should apply to this field update, my suggestion would be to add it to the Node rather than the Action.

User-added image

Immediate Action:

User-added image

Second Criteria Node: Opportunity.OwnerId is Sales AND Opportunity.Stage = "No Contact". Again, check "Yes" under Advanced.

User-added image

Now, go back to the first branch and click the "Stop" button to the right of the Actions. Change it to "Evaluate the Next Criteria."

Add your two Scheduled Actions under the second branch. Instead of basing them off of a date field, use the second option, basing them off of the Process trigger date (called "from now").

The way the Process works is that when the Opportunity is assigned to a Sales Rep, the first immediate action fires and sends an Email Alert and updates the Stage to No Contact. Then, because the Process was set to Re-evaluate when field values were updated (recursive), it will start from the beginning again. It now goes through the first node again, progresses down to the second, and schedules an action. You can verify that by going to Setup > Flows > Paused & Waiting Interviews.