So I've been working on a flow recently that uses scheduled paths and, for some reason, it was failing to produce time-based workflow records for two of the four scheduled paths. I was looking everywhere to figure out what I was doing wrong, but ultimately found the cause and logged a case with Salesforce to determine whether this was a bug. I noticed that the two paths using DATE fields as a time source were not getting scheduled, while the ones with DATE/TIME fields as a time source worked. Sure enough, using any other DATE/TIME field solved the problem. Interestingly, during the call with Salesforce, we discovered that these scheduled paths CAN be triggered to run based off of a DATE field, but only if ALL scheduled paths have a DATE field as a time source. Since support mentioned DATE fields aren't supported, we decided to strictly use DATE/TIME fields moving forward when using scheduled paths.
Thank you for the video! On auto-layout, we have an option called 'copy element'. select the element you want copy and paste it. You can see the option called 'paste the copied elements '.
Thank you! Yes I realised this after the video. A nice feature to save time messing around switching and reparenting the flow branches. Thanks for highlighting as it helps other too :)
Hey Adam, on the moving the element under the decision, you said if anyone knows a better way :)....what I do is: rather than switching to free form delete links and relink, I click on the element, copy, then click on the + sign where I want it, paste it, then delete the first element. Try it, I find it quicker than switching views...hope that helps
It's crazy how you release these videos when it matters to me. I have literally been given a project to send reminder emails today! This is fantastic timing
Completely agree with you! Adam, if by any chance you have planned to talk about Entitlements/Milestones, that would be such fantastic timing again lol
Adam, I recently created a flow where i change the owner of a record if a custom checkbox field is checked off and create a task. The flow works but when i created the task i was unable to set the due date for 24 hours out and set the priority to"high". I used the quick action to create the task. Thanks for your videos I've learned so much from you!
Hi Julio, So I would recommend updating the due date and priority via the Flow too. I would also look at the order of events too and be careful as you may need to 'get record' again or ensure that the record you update is the one that triggered the flow. Should work then. Also, be careful with the date update. I don't recall, but Due Date might be a Date/Time field. If it is you would need to update it using the NOW() function (use the one in FLow) instead of TODAY() function. The 'NOW' function has time too. Hope this helps.
You are very entertaining to listen to. Great work keeping us engaged while running the tutorial! That's a very special art! You should consider teaching at University part time. I have been teaching Salesforce at the University of Maryland as an Adjunct Faculty member in their College of Information Sciences. Its a very rewarding experience!
WOW! Great and best tutorial on this requirement using flows! Thank you! Plus, the pink sweater looks so great on you :-). P.S. could you please let us know how we test it too?
Thanks on the Pink top! haha - best way to test this would be in the debug tool in Flows and to enter in a date. Hope this helps :) Also, if you want this to run without the record being updated or created, use a Scheduled Flow. :)
FYI - If you want to run this without having the record be updated (or from creation) then do all this using a Scheduled Flow (instead of a Record-Triggered Flow) :)
Unfortunately, the Scheduled paths seem to be available only on Record-Triggered flows. I wanted to build this on a Scheduled Flow on a daily basis. Do you know a workaround for this?
You have a great channel and it has been helpful. I have been running into to a few challenges and I will provide the context. I happen to be in the real estate industry and there are multiple date fields on one object and there are multiple time triggered events that happen throughout the transaction. Would you recommend doing a record triggered flow or a scheduled flow that will run a batch and execute actions on a daily basis? Additionally, when it comes to email templates, how do you use formula fields within the email template to create rich text based upon picklist values on the object? Case example - Sellers may need occupancy after closing. Field conditions are IF( Occupancy_Needed__c = Yes, "The seller does have (!pba__Closing__c.How_many_days_for_occupancy__c) of occupancy after closing. The day of closing counts as Day 1. The seller should be surrendering keys on or before 5pm on (!pba__Closing__c.Occupancy_Expiration__c). 3 days prior to that date, we will be following up and start coordinating the time of the exchange on that date. If the seller vacates prior to the occupancy date, the per diem rate will be divided according to the amount of days they actually used.", " ") When I test the with data, the formula doesnt work.
Tip: in the decision element, you can break one of the branch without going to ‘free form”. Simply click the ‘+’ under which branch you want to break and select ‘End’ to finish the flow
Sure thing. You just need to think about what the 'dynamic' action is. By dynamic, you could use a date field, or a flag, or a status, etc. When that value is hit, then you can trigger an email alert, even one per value in a picklist, etc. Just use the decision element to help with that. If it's time based then scheduler in the Flow can be used (on the main/first element/start).
Erghhhh not sure yo be honest. The problem is that I think SF only supports one timezone, so you'd have to probably hold in each Account or Contact record their timezone, then pullout the number of hours + or - and then add that to the condition of when to send email?
Hi Adam, May I suggest using the core action "Send Email" or UnofficialSF's "Send Better Email"? That would give you all the tools you need to create the email and set the recipient from within the flow.
Yes, you can do alot with Salesforce. But it's insane how overly complicated some email alerts have become.. Sometimes simple approach is better for simple things.
I agree completely - Classic Emails were pretty straight forward (despite still being over engineered with Letterheads, then the email content in separate places), but now in Flow, it's almost like they don't want you to send emails :(
Hi Adam! Brilliant video! I'm attempting to copy this process for the task object. However, the CreatedDate field within the task object is a date/time field and not simply a date field. Ergo, it is not able to create a number as you indicated in the "create date time formula" section of this video. Any advice?
Hi, so you can convert a Date Time field into a Date field using a formula variable. Check out page 2 here resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/formula_date_time_tipsheet.pdf
HI Adam! I've read through all the comments and I'm not seeing an answer to this question. The Scheduled Flow does not have the Scheduled Path option on it. I am struggling to figure out how to make this work. Great video though!
Hi mate - I should do an updated video for this as there have been changes and better ways to look at how to do this (as well as different use cases). However, to find the schedule path options, make sure you do the following: 1. Create new 'Record Triggered Flow', 2. Configure the start (select the object, etc), 3. You should then see 'Scheduled Paths and a + sign under the 'Start' box. NOTE: it disappears! yes, for some reason salesforce hides this when you click elsewhere in the screen, so to get it back just click the big green 'Play' icon on the start component and it will appear! Hope this helps.
Hi there, I think you can, just select a date field instead of a date/time I might be wrong as my memory is not great after just having a new baby. Let me knpow how you get on!
It’s likely you have emails off in the sandbox - it’s default off so you don’t make a mistake and send emails to people you don’t realise you’re doing. Go to setup, and type ‘deliverability’ and click on ‘email deliverability’ you should be able to then see a dropdown and select ‘system only’, ‘none’ or ‘all emails’ (this is all from memory)
Hi there, yes that's possible. You can do it a few ways. Either have a screen for the user to enter information for the email or just hardcode it in the Alert. :)
Hi adam, i have a scenario like if user is not logged in since 30 days then send first reminder email and deactivate the user if not logged since 60 days. Can you please provide solution of this.
Sure thing, just update the condition to 'greater than' the date you have as the due date...OR...if you want only exactly 1 day (and it not show beyond) then create a formula to take the due date and +1 to it. Use that formula date as the value to fire it on. (make sure you match the correct value with the due date field type, DATE or DATETIME)
Hi Adam, thanks for your videos! Quick question: This flow won't trigger if the Order record is neither updated or created, right? If I have many orders and they are not being updated, will they still be triggered if the dates are getting close? Would it not be better to create Schedule Triggered flow, so that all records are checked for their distance to the due date? Thanks for answering!
Hello! Yes, Scheduled Triggered flow is the way forward with that :) (I've added a new comment to the video to guide people on that) THanks for the feedback!
thanks for this video very well done. Question - if the start criteria is that there is a Due Date set and that criteria is met, is there logic built in that it knows to only go down the scheduled path if it meets the path time offset option? I don't need the decision element on each, that was just a nice to have, the flow should recognize the scheduled path time given and not send multiple emails just because the start criteria is met?
Hi there, thanks for the comments. SO I'm not too sure the use case you mean, but if you are receiving multiple emails then you need to ensure the entry criteria is exclusive - in other words - that an email can only be sent if you meets the criteria for that path and won't qualify for another path. Sorry for the delay getting back to you but hope it's helped you try it out and tailor to your needs. :)
Sure thing. You can change the time or date by converting it in a formula as an idea. Also, it might depend on the trigger too....whether it is purely date dependent or post-record update. See here for a table of which might fit best: trailhead.salesforce.com/content/learn/modules/autolaunched-scheduled-flows/schedule-a-flow#:~:text=In%20many%20cases%2C%20you%20could,and%20at%20a%20specified%20frequency.
Hi Adam, will this Flow continually send emails to my user? I just want it to go once 7 days before the due date. But as this is a record triggered flow will my user receive an email every time the record is updated (irrespective of the 7 day rule). Thanks so much, E-J
Hi Adam, I’m trying to figure out how to setup and send custom notification to number of users from different profiles when on a custom object Date passing (date field). using the FLOW and I know how to configure but have option to sending to the owner of the record, but what I want to send notification to number of users how to leverage groups, if I create a group and add few users to that group I have seen in Process Builder have options to choose the group and define the group name but have not find similar in Flow? Any help? Thanks...
Hi there, I think from memory you need to run a Get function to find the Group name. I believe DeveloperName is what you're looking for the value of from that object. You can then reference that to pull out the email addresses. Best of luck!
Hi there. Yes of course. Instead of using this type of flow (Record Triggered) where you need an update to happen, you can instead create a 'Schedule Triggered Flow' which runs at a set time each day/week/month. There you can have the flow run every day to see if the created date is older than 14 days and 'do something' when it does. Hope this helps :)
I am working on converting my workflow rules to flows, and I am curious if it's even possible to combine a bunch of my rules into a single flow. They are all to send an email alert when a "Sale" (custom object) is assigned a specific Status and/or Status Detail. These email alerts go to a specific person in the organization who's responsibility the next step for this sale is. So these aren't time based, but rather a field value based. Is it even possible to build these into one single flow? Or should I move forward with converting each one to it's own flow?
Hi, this is an amazing effort. But I think this flow will not fire till the Order record is either created or updated. Isn't that correct? If I understood the use case correctly, you want to fire email notifications on different times based on the due date, without the dependency of record being created or updated.
Hi there, you could be right. To be honest I've not revisited this for a while, but yes, to trigger on a set date then it would be to set it to 'run always'. Thanks for the feedback!
Hello Adam! I appreciate your videos and this one in particular helped me a lot to gain clarity on the steps to mimic this flow for my scenario. I have a questions though... I'm stuck on this step my flow will be relate to days ahead of time, meaning... I have a due date and then I need the trigger to send an email two weeks before that due date. How can I write this formula? I think I'm missing this decision element for the flow to work (this is my first flow LOL) Thanks for the guidance
Hi, the formula could just be the due date + a number (representing days). Example: {Due Date}+14 .....this produces a date 14 days after the {Due Date} field.
Great question. I've not come across that but pretty sure you can with some thinking. First thing I'd try is to test the flow after going to Setup > Company Settings > Business Hours, and adjusting there. See if that works? Failing that you may need to build some logic to limit the time from and to. Hopefully the first works.
Hello Adam, I just tried doing this on my Salesforce sandbox and tried it, but I did not get any email. What could be the problem? I debugged it, and the test was completed without fail.
Hello - go to Setup and search 'deliverability' and click on it (under Email header). There you'll see at the top a drop down that sets what emails are allowed out of the org. You need to set it to 'All Email' and save for it to work. Hope this helps!
Hi Adam, question, These alerts would work on records that already exist? I mean, I have an opportunity for renewal and I want that the flow triggers an email 60 days before expires, but I am not doing anything in that record, not updating anything because was already created, so is it work for records that already exist or do I have to update somehow for the email triggers?
Hi there, so great question and you could do this via a 'Schedule Triggered Flow' which doesn't look at the record if it's new or have been edited. Hope this help - best of luck. Adam
Great suggestion. I'll have a think about what I could do that could be of value. I actually don't do many Trailhead (I'm a bad boy) so I don't think I'll get a Superbadge anytime soon. I'm all about best use of time to get maximum return on investment (i.e. what can I learn in the least amount of time that could get me the most money). So far, I've not seen completing a Superbadge needed for me at the moment (that could change). Could be good though if I needed to go niche into a certain area. Thanks for the comments!