cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
New Member

FLOW TO SEND EMAIL WHEN DATE APPROACHES

Hi there

 

This is the first time posting in the forum but a long time user of the forum. What I am trying to do, is to get a flow to trigger an sending an email when the date of a required audit approaches. The audit due dates are listed in a SharePoint list and you would think that this would be a simple thing to do. However, no matter how much I tinker and how much I see what others have done, I cannot get this to work.

 

This is what I have done:

 

@equals(item()?['Nextauditdue'], adddays(utcnow(),'mm-dd-yyyy')+14)

 

So basically I want this to send me an email when it is 14 days to the audit due date. 

 

If anyone can shed light on this, I would be most grateful.

106 REPLIES 106

@Anonymous

 

We would need to do similar to what we did before. Setup a dummy date that's unique (1/1/2049), run your Flow, go to results, Get Items -> Outputs -> Body and then hit ctrl+f and search for that year and see if you can find it. Then, that should give show you how SharePoint see your column name.

Anonymous
Not applicable

@kristof805

 

It is working!! Thank you so much!!!!! You have been a great help. Thanks so much for taking the time 🙂

@Anonymous

 

Yessss! That's awesome! Congrats Heart. It's awesome because now through all that troubleshooting, building anything similar will be so much simpler. Cheers!

Wow,

gotta say this is a GREAT thread and I have dedicated a few days at going back and forth here.

I finally reached a good point with my testing...

 

BUT

 

My dates seem to only be working with month and day -- ignoring the year.

 

I'm using;

@less(formatDateTime(item()?['reminder_x0020_email'], 'MM/dd/yyyy'), formatDateTime(addDays(utcNow(), 01), 'MM/dd/yyyy'))

 

I have (3) items in my share point list with dates of 

A> 10/1/2018

B> 10/12/2018

C> 3/29/2019

 

I can consistenly get an email for both A & C but C is in 2019...

 

can anyone help shed some light?

 

 

EDIT:::::

I should add that I can live life without the addition of days, so I'm eagerly open to any suggestions on how I can simply have my flow check that date column and if it matches the date of today = send email

 

 

 

::::: EDIT #2 :::::

ok, I got it to work with this one and posting up for fuuture me to review as needed.

 

@equals(formatDateTime(item()?['reminder_x0020_email'], 'MM/dd/yyyy'), formatDateTime(utcNow(), 'MM/dd/yyyy'))

@chico glad this was helpful and that you found your solution. No idea why your 2019 wasn't being checked. I only use mine with a "is today 30 days away from the date in the column"? If yes, it sends the e-mail and if not, nothing happens.

 Hi Kris,

 

Thanks for sharing this. I've successfully made 3 reminders - 14, 7, and 1 day before the date in my SharePoint list column.

 

However, I just tried to do one where it sends a notification when the Current Date is after the deadline, where it will send an email to the "backup person" every day - from 2 days after the deadline.

This failed - and by that I mean it sent out a bunch of emails even though the date is not yet passed. 

 

This was my code:

@less(formatDateTime(item()?['Review_x0020_Date'], 'MM/dd/yyyy'), formatDateTime(addDays(utcNow(), 2), 'MM/dd/yyyy'))

Do you know a way to make this work correctly?

Hey @tehfunnie

 

I haven't really delt with anything like what you are thinking of. You could play around with like trying to get that logic to check if the today's date minus two days is equal to your date in your SharePoint list but I'm not quite sure of the syntax of it all ... maybe something like this:

 

 

@equals(formatDateTime(item()?['Review_x0020_Date'], 'MM/dd/yyyy'), formatDateTime(addDays(utcNow(), -2), 'MM/dd/yyyy'))

 

I have not tested this and there might be a subtractDays function that might help you but my theory is that it should work with the addDays as I have it in the code and the -2. So you'd have your Review Date from your list be, for example, 10/27/2018. Then your Flow runs today and takes today's date, 10/29/2018 and adds -2 days (aka subtracts two days) for 10/27/2018, dates match, and in theory and e-mail goes out?

 

Let me know if you get it working.

 

Anonymous
Not applicable

Hello everyone, thank you in advance on providing advice on an issue I am facing with this Flow. I was able to get it perform the basic action, meaning it sends an email 30 days before a date is approaching. However, the Flow still says failed and there are multiple error messages.

 

Error 1: Action failed, no dependent actions succeeded - Under Inputs, the Expression result says 'false'

 

Error 2: Action failed, no dependent actions succeeded - Invalid template, unable to process template language expressions for action 'Condition' at line '1' and column '2498':  Run History | Microsoft Flow

'The template language function 'formatDateTime' expects its first parameter to be of type string. The provided value is of type 'Null'
 
Even though I am getting what I need from the Flow (which is sending an email) I want to figure out why this Flow is still failing - is it because it is a long list and the condition is not met everytime an item is not the due date? I am pretty sure I am doing something wrong and need your help to identify.
 
My SharePoint list's column type is 'Date and Time' and it does not have any time in it. I am also attaching a screenshot, thank you again.
 
Capture1.PNG
New Member

Hi All,

Can anyone help me to set flow for the following condition

 

StatusRoot CauseBusiness ImpactManagement Action PlanResponsibilityDue Date

this is the list , i want to set reminder to the responsibal person ( responsibilty column) to get auto email reminders before due date(due date column). which template to select or to create custome template.

 

i am using online sharepoint. Thanks in advanced.

 

Regards,

Ganesh

 

 

@ganeshnalawade

 

Please check out what other people or myself have done in the thread. The accepted solution on page one should give you a really good refernece.

 

Your code / layout for that Flow would look something like the following:

  • recurrence (when do you want Flow to check this? I have it check it once a day)
  • get items (from your list)
  • apply to each
  • condition (check if your due date is today, the correct code is in this thread several times)
  • if yes
    • grab the e-mail address from responsibility column and send that person an e-mail
  • if no
    • no action (you can leave it blank)

 

@Anonymous

 

My guess is that there might be a line in your List that does not have a date? That would cause it to be "null" aka not present. At this point, I'm pretty sure Flow just moves onto the next item but technically, for that line, it failed as it couldn't evaluate the date: it couldn't compare today's date against nothing.

 

That's just my guess from looking at what you posted. This would refer to Error 2, I think. Error 1, I think, is related because if your condition fails, it can't really move onto the If Yes and If No steps of your Flow. You COULD adjust your Flow to first check if there is a Date present, and if not, leave blank and if yes, then compare that date to today but I don't think it's worth the trouble.

Anonymous
Not applicable

Wow, thank you so much @kristof805! I checked and I did have many blanks, upon adding a date, the Flow ran successfully.

Regular Visitor

This has been very helpful information. Thank you all. While applying to the original list the date column failed to be recognized by Flow, a rebuilt list and content type was successful. My additional requirement is to add multiple intervals of 90 days, 30 days, 7 days, expired or zero day. What is the recommendation for best practice to add multiple intervals?

  1. One expression with all intervals and a single email body output - what would that look like?
  2. Stacked conditions continuing under the Yes side for each interval?
  3. Separate/multiple Flows for each condition?

I've seen others use 1 day, can we use 0 for expired the day of?

I went with the stacked condition route and it worked like a charm. A peer had suggested to use the Switch control to have the Case properties stacked horizontally vs vertically, but the Case property did not approve of the expression that's been provided throughout this string. Looking for a more literal string.

switch_error.jpg

@lgonyea22, for simplicity's sake, I would actually make one working flow with whatever day offset you want, let's say 90 days, and then make a copy of that Flow and just adjust the day offset. Sure, you'll have multiple Flows but it they all be smaller and less complicated. Also, if one breaks, you only have to troubleshoot that one, instead of your switch / case or multiple if / then statement Flow. Good luck!

Regular Visitor

Wondering if anyone might be able to shed some light on how I might set the condition logic to send the email to the doc owner when any of the docs' reviewed date is older than one year. 

Any insights would be greatly appreciated!

@JV2018, the main answer / logic should work, except you'd change the days value to be 365 and you'd put a plus instead of a minus.

 

Maybe something like:

@equals(formatDateTime(item()?['Date'], 'MM/dd/yyyy'), formatDateTime(subtractDays(utcNow(), 365), 'MM/dd/yyyy'))

Thanks!!!

I just realized that its missing one other piece. I have selected properties of all of the documents but have not singled out the 'last review date' for this condition. Can you possibly advise where that would be woven in?

 

2019-01-14_14-47-52.jpg

@JV2018, I guess I haven't been on the Flow website because now Flows that ran successfully don't have the output provided neatly formatted on the results page. Instead you get to download it.

 

Anyway, inside the output there should be a modified value that you might be able to work off of in your next step. I'm not really familiar with this part of the process though, it's just my best guess. You might want to start a separate and your question might get more exposure.

Frequent Visitor

Hello -

This is the thread I have been looking for! BUT!

I do not have an

"EDIT IN ADVANCED MODE" option! Have I added the incorrect control? Please advise!

 

Thanks so much!

 

Screenshot

 

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

MPA Community Blog

Power Automate Community Blog

Check out the community blog page where you can find valuable learning material from community and product team members!

Top Solution Authors
Top Kudoed Authors
Users online (7,967)