cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Yattering82
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.

112 REPLIES 112

Advanced Editing was removed at the end of February I believe - I have the same screen as you and still trying to find a solution to make this work

@TCVjulie You are correct, I recently was working on a Flow and saw that advanced editing has been removed. According to stuff that I saw, all functions should still work, you just have to set your first function.

 

Check out this article and this article.

 

I have not tested the below but I believe the new formula, without advanced mode, should be:

 

formatDateTime(item()?['Nextauditdue'], 'MM/dd/yyyy')

equals 

formatDateTime(addDays(utcNow(), 14), 'MM/dd/yyyy')

@Network-iQ please see my other reply. Edit Advanced mode is gone but the functionaility of it should still be achievable. Please see my post with links and code to replicate the original posts' functionality. Let me know if you have any questions.

Thanks!!! Ill check it out!

HI -

 

What I am now getting is the following:

 

InvalidTemplate. Unable to process template language expressions for action 'Condition' at line '1' and column '2577': 'The template language function 'formatDateTime' expects its first parameter to be of type string. The provided value is of type 'Null'.

So my list is composed of employees and the expiration dates of thier professional certifications. I think my issue here is that not all employees have that certification, therefore the date is left blank.

I tried adding a condition that first checks to see if the field is empty or not. Not working.
 
I have been tinkering with it, and get the same result. Any thoughts would be greatly appreciated!
 
Thanks

 

@Network-iQ that's definitely the case. I've had that error myself. All things should still work but since some of the dates are missing, you'll get the error.

 

Here is a link I found on how you can setup a condition to check if the date has a date in it. That way you can avoid getting errors.

Thanks!

That was the ticket!

Now I have a different problem.

I don't want the flow to send an email if the field is blank. So my flow goes like this:

 

Recurrence > Get Items > Check for empty string > If Yes - No Dothing > If No -@formatDateTime(item()?['ASB'], 'MM/dd/yyyy') -> If Yes - Send an Email - > If No - Do Nothing

 

When I run it, it sends an email for every field in the column whether it is blank or not, or if it meets the criteria for the date or not. No errors are reported. I am at a loss.

 

 

 

 

@Network-iQ 

 

The logic seems to be sound. To troubleshoot it further, I would want to see the screenshot of the Flow (with URLs blacked out for safety). My guess is that the Check for Empty condition is not functioning the way you meant it and is letting everything through?

 

To troubleshoot, you could clone this current Flow and cut it down to the following: 

 

Recurrence > Get Items > Check for empty date column > If Yes - Do Nothing / If No - Send E-mail

 

This way you can see if you condition works. You'll want to have both blank dates and filled out dates. Good luck and let me know if it works out.

Thank you! Ultimately, I figured it out.

 

Now, one last challenge has presented itself.

 

I have 22 different categories of professional certifications that I need to trigger emails at 45 days, 30, 14, and 7 days from expiration. That is 88 different flows. I have NOT been able to figure out how to run all of them from within ONE flow for each certification.

Any ideas would be appreciated!

 

Thanks

@Network-iQ 

 

If it were me, I'd clone the first Flow and have them separate. 

 

If you are really interested in keeping it all together, the + button where you add actions, you can also add parallel branches. You could branch your logic at that point into four branches and have identical steps with the differening days to expiration. In theory, it should work but I have not played around with the functionality yet.

I was considering that. I have not tried the paralell branches idea either. I shall let you know how it goes!

Hi @kristof805 

 

That code works, but it will only trigger on the specific day defined.

So a "-2" will trigger the notification on day 2, but won't trigger for day 3, 4, 5 etc.

 

I am not savvy enough with the condition statements to figure this one out. Do you (or anyone else) know whether you can do a if the date is equal to or greater than -2, then trigger?

 

EDIT:

I tried using " @lessOrEquals" which sent out notifications that were late, but also sent out to a handful upcoming events. 

I then tried using "@greaterOrEquals" which sent out notifications for all items to be reviewed next year, but didn't cover the ones that were sent out in the first attempt.

 

I'm utterly confused.

@tehfunnie 

 

Sorry for the late reply.

 

Can you paste your condition code and tell me what you want to happen?

 

The original code was written to trigger once as SharePoint List items got closer to today. As they crossed the 30 days away benchmark, I wanted to get an e-mail. So that was the original code's purpose. If you want to re-purpose it, like get an e-mail every day if the date is within X amount of days, that should be possible.

Hi @v-xida-msft 

 

i have the same problem. I have a list with topics, which should be presented by a specific person on a Monday-meeting, which occurs every month. The people add their topic in the list for a spefic meeting date and add their name as resonsible presenter.

Now I want these people receive a reminder-mail on friday, so they dont that they have to present their topic on monday.

 

I tried to create a flow based on this post. But I can't see the option “Edit in advanced mode” within the "apply to each" box

 

Do you have a solution?

 

Capture.PNG

@mchaari 

 

Your condition under the apply to each should be an And statement with the following two lines:

 

Get Items (pick column name) - does not equal - null (search in the formula bar)

This will make sure something is in your  topic column.

 

formatDateTime(item()?['date column name goes here'], 'MM/dd/yyyy') - equals - formatDateTime(addDays(utcNow(), 14), 'MM/dd/yyyy')

 

For the second line you may put as much offset as you want. If you want this to trigger on Friday and for your Monday meeting, I would put 3 instead of 14 in the above code. But you'll be able to play around with it to figure out what's right for you.

 

If you don't care if there is something in the topic column, you can skip that step and just check the date. Let me know if you need more help.

No matter how I format this condition the Expression result is 'false.' I have not received any errors. The 'Get Items' function is working appropriately, i.e. the items I am looking for are in the Body of the OUTPUTS.

 

I created three items on the list with a Date of Separation of 11/15/2019, 11/16/2019, and 11/17/2019 respectively. Ultimately I would like the flow to send an email notification 30 days, 15 days, and 7 days before the Date of Separation. For the purposes of testing I have set the flow to recur every 5 minutes, get the items from the list, and apply the condition to each item; which should return a 'true' result for at least one of the items.

 

Please see the Condition below; which has been changed several times... Previously the entirety of the expression was in the first box... is equal to... true.

condition.gif

The Date of Separation column is a date and time column. There are no blanks in the column. (There are only 10 items on the list.)

No matter how I format this condition the Expression result is 'false.' I have not received any errors. The 'Get Items' function is working appropriately, i.e. the items I am looking for are in the Body of the OUTPUTS.

 

I created three items on the list with a Date of Separation of 11/15/2019, 11/16/2019, and 11/17/2019 respectively. Ultimately I would like the flow to send an email notification 30 days, 15 days, and 7 days before the Date of Separation. For the purposes of testing I have set the flow to recur every 5 minutes, get the items from the list, and apply the condition to each item; which should return a 'true' result for at least one of the items.

 

Please see the Condition below; which has been changed several times... Previously the entirety of the expression was in the first box... is equal to... true.

 

condition.gif

 

 

 

 

 

 

The Date of Separation column is a date and time column. There are no blanks in the column. (There are only 10 items on the list.)

@king3 

 

Sorry for the late reply. Please go look into a run of your Flow, in the Get Items step, there will be an Outputs and within that a Body section. Look in there and find your column name. I think yours is close with the "_x0020_" for the spaces but I think your column name will also be truncated to maybe something like "Date_x0020_of_x0020_ Separation". I am guessing it's always evaluating false because you don't have the right column name. Once we figure that out, we can move onto fixing the logic. Currently your Flow is saying if the date in your column is one day away, evaluate true. So today is 12/10/2019. If you ran the corrected code, and put one of the dates as 12/11/2019, it should evaluate true.

 

Let me know if you are able to find the column name under Get Items -> Outputs -> Body.

Lemony
New Member

Hi, how would I use this existing flow to modify it to send an email to a site member rather than just myself?

flow-reminder when date approaches.JPG

 
 

@Lemony you need Get user profile (V2) not Get my profile which gets your profile.

Rob
Los Gallardos
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Community Calls Conversations

Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Users online (2,706)