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.

117 REPLIES 117

I have tried using 'get items' instead of 'get files (properties only)' and again I do get the notification email but flow says it has failed. 

 

Here's what I see in outputs body ... I cannot see my 'Consent_x0020_End_x0020_Date' column in there as it happens. 

 

{
  "value": [
    {
      "@odata.etag""\"13\"",
      "ItemInternalId""6",
      "ID"6,
      "Personal_x0020_Info0": {
        "@odata.type""#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
        "Id"1,
        "Value""No"
      },
      "Personal_x0020_Info0#Id"1,
      "Purpose12": {
        "@odata.type""#Microsoft.Azure.Connectors.SharePoint.SPListExpandedTaxonomy",
        "TermGuid""030ec442-3c21-4d8e-bb6f-26c5d7e4735f",
        "WssId"189,
        "Label""Case study",
        "Path"null,
        "Value""Case study|030ec442-3c21-4d8e-bb6f-26c5d7e4735f"
      },
      "Purpose12#WssId"189,
      "products_x0020_and_x0020_services": {
        "@odata.type""#Microsoft.Azure.Connectors.SharePoint.SPListExpandedTaxonomy",
        "TermGuid""a67d7f16-fd3f-4f7d-8127-08d36c525c1d",
        "WssId"153,
        "Label""Benefactor",
        "Path"null,
        "Value""Benefactor|a67d7f16-fd3f-4f7d-8127-08d36c525c1d"
      },
      "products_x0020_and_x0020_services#WssId"153,
      "Organisation": {
        "@odata.type""#Microsoft.Azure.Connectors.SharePoint.SPListExpandedTaxonomy",
        "TermGuid""1a9c34ec-985b-4149-9445-ab4d2623cf56",
        "WssId"184,
        "Label""Jami & Jewish Care",
        "Path"null,
        "Value""Jami & Jewish Care|1a9c34ec-985b-4149-9445-ab4d2623cf56"
      },

 

Here is a shot of my doc library with workflow cols. Might be helpful to see these too.

doc library.png

 

Thanks again, Vicki

@Victoria

 

Hmm. I'm not sure what's going on. Your column names that show up in the picture are not showing up in the output results. To test things, I've created a new document library, put in two files and made a new column called Expiration with the type Date and Time.

 

Test Library.PNG

 

Then I made a Flow:

 

Flow.PNG

 

So it all worked with no errors. I connected to one of our SharePoint sites and a document library there under the Get File (properties only). Then I used the code we've been discussing to check the dates if the dates in the Expiration column is equal to today + 30 days:

 

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

And for me, that information showed up in the Output:

 

Output.png

 

Does any of that help?

 

Can you try renaming your Consent End Date column to just Consent and using the following code under the condition:

 

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

Let me know if any of that helps! I'm using SharePoint Online with an Office 365 account.

 

Also, based on your picture below, can you double check if you have the Get Files (properties only) pointed to the right document library?

Hi again,
I've fully tested this now. The flow works perfectly if every document in the library has an end date. I added a date for all docs in the library to test.

 

So the flow definately has an issue when there is no date value in the consent end column. It does generate the email but says it fails, presumably when it gets to the records without dates.

I need to be able to run this on selected documents because not all library docs will need to be reviewed and added to the flow. Is there any way to exclude those without a date value or use my other (choice) column 'add to review'. All docs in flow would a 'yes' value in here which corresponds to those with consent end dates.

 

Thanks again for your help. Vicki

@Victoria

 

Awesome to hear that you Flow is working!

 

Okay, now we can make use of the code:

 

@not(empty(triggerBody()?['column name goes here']))

 

Just use the same column name that you used for the expiration condition and put a condition right under the Get Files (properties only).

 

So your Flow will check will check if the particular file has a date, if not it stops. If it does have a date, it'll check if the date is 30 days away from the target date in your column. If not, it stops. If yes, you get an e-mail.

 

Let me know if it works out!

Have done that. But flow still saying failed. Not sure if I am adding condition 2 in the right place?
1.png

 

2.png

@Victoria

 

I believe it should go

  • recurrence
  • get files (properties only)
  • apply to each
  • condition: if not empty
    • yes: date check
      • yes: send e-mail

 

 

Hi again, I really do appreciate you help and patience!

 

Do you mean in this format?


3.png

 

The flow now says it ran successfully however I'm no longer getting any emails. Checked 

 

4.png

Anonymous
Not applicable

Hey

 

This was extremely helpful to me! I just had a couple of additional questions to build on this.

 

In your formula, would the time be a 24hour or 12hour clock? Also would only the items within the '  ' comma's have to be replaced with actual figures?

 

 

Thanks in advance

 

 

Hi, 

Not sure what you mean about only the items within the '  ' comma's have to be replaced with actual figures.

The 'ConsentEnd' column is a 'date and time' column, although I am using it to log the date only, not time.

 

Thanks again, I really appreciate your efforts to help me.

 

Vicki

 

Anonymous
Not applicable

Hey,

 

I am sorry for not communicating my request clearly. I meant to ask which field in the following formula must be changed to make the formula useful.

 

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

 

Sorry, quite new to SP and coding.

 

Thanks in advance

Hey @Anonymous,

 

This formula, as far as I know, does not care about the time or whether it's in 12 hour or 24 hour format. It just takes the date information. I have not tested what happens if you give it a Date and Time value.

 

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

The code above has the word Consent in it. That is the column name that you'll want to change to your own column name. The whole original discussion is about how sometimes the name of the column that has spaces and it you need to give it this column name that SharePoint interprets it as. On page 1 and 2 of this discussion you can see that I was able to get the correct column name based on the the error that Flow returned.

 

Let me know if you have need more help!

@Victoria @Vix1

 

 

Hmm. So your first condition that is checking that things actually have values in them is returning a false value. Meaning, the Flow is not finding any values in the ConsentEnd column.

 

Where it says false in the screenshot below, can you go through and click the arrows inside the Apply to each step and see if you ever get a true?

Sorry about the delay, I was not working yesterday.

Arggh. This is driving me nuts! No, I don't have any matches in the Apply to each step.

Here is the doc library with data entries in the Consent End column...a.png

 

Here is the column name, so it is correct...

 

b.png

 

And this is the formula I've used..

@not(empty(triggerBody()?['ConsentEnd']))

 

Thanks you, Vicki

 

Hi @kristof805

Have finally got this going with help from the MS Flow team. Here's what we did.

There are some slight tweaks to the formula below.

 

condition1:@not(equals(items('Apply_to_each')?['ConsentEnd'], null))

condition2:@equals(items('Apply_to_each')?['ConsentEnd'], formatDateTime(addDays(utcNow(), 30), 'yyyy-MM-dd'))

 

flow working.png

 

Thank you for all your help. Vicki

Anonymous
Not applicable

Hey @kristof805

 

Thank you so much! You have been very helpful.

 

I was having slight issues with error messaged and I was wondering if you could clarify for me which end of the formula the current date is entered into (mm-dd-yyyy) ? I am operating under the assumption that the formula already knows that it needs to check for any items that expire within the next 30 days.

 

Also, would the date move forward everyday? Like if I set it as today's date, when the recurrence happens again tomorrow, will the code check for 30 days from tomorrows date? 

 

Thanks in advance!

@Victoria

 

So glad to hear it's working! I would not have figured out those combinations of formulas but I'm sure your post will be a good reference for others!

@Anonymous

 

The current date is entered into your columns on your SharePoint list or document library column. Then, the Flow checks if that date is exactly 30 days away (you can change this) every day. That's why it runs every day, so it checks for you, so you don't have to. On the day that your date in your column is 30 days away, you can have the Flow send an e-mail, some kind of warning, change something, etc.

Anonymous
Not applicable

@kristof805

 

Thanks! I tried running the flow and got this error message. Any suggestions?

 

Capture.PNG

@Anonymous

 

I believe that error is from the condition not finding a date. Do you have the name of your column with the right name? Do all items have a date in the date column? What do the other results say if you go forward or backward on "next failed" and "previous failed". Are they all indetical?

Anonymous
Not applicable

@kristof805

 

I have put the coloumn name where the formula earlier said Consent. The error shows all the information from the SP List so it is getting the data. All items have a date in the list. I have 60 items in the list, all have the same error message.

Helpful resources

Announcements

Celebrating the May Super User of the Month: Laurens Martens

  @LaurensM  is an exceptional contributor to the Power Platform Community. Super Users like Laurens inspire others through their example, encouragement, and active participation. We are excited to celebrated Laurens as our Super User of the Month for May 2024.   Consistent Engagement:  He consistently engages with the community by answering forum questions, sharing insights, and providing solutions. Laurens dedication helps other users find answers and overcome challenges.   Community Expertise: As a Super User, Laurens plays a crucial role in maintaining a knowledge sharing environment. Always ensuring a positive experience for everyone.   Leadership: He shares valuable insights on community growth, engagement, and future trends. Their contributions help shape the Power Platform Community.   Congratulations, Laurens Martens, for your outstanding work! Keep inspiring others and making a difference in the community!   Keep up the fantastic work!        

Check out the Copilot Studio Cookbook today!

We are excited to announce our new Copilot Cookbook Gallery in the Copilot Studio Community. We can't wait for you to share your expertise and your experience!    Join us for an amazing opportunity where you'll be one of the first to contribute to the Copilot Cookbook—your ultimate guide to mastering Microsoft Copilot. Whether you're seeking inspiration or grappling with a challenge while crafting apps, you probably already know that Copilot Cookbook is your reliable assistant, offering a wealth of tips and tricks at your fingertips--and we want you to add your expertise. What can you "cook" up?   Click this link to get started: https://aka.ms/CS_Copilot_Cookbook_Gallery   Don't miss out on this exclusive opportunity to be one of the first in the Community to share your app creation journey with Copilot. We'll be announcing a Cookbook Challenge very soon and want to make sure you one of the first "cooks" in the kitchen.   Don't miss your moment--start submitting in the Copilot Cookbook Gallery today!     Thank you,  Engagement Team

Announcing Power Apps Copilot Cookbook Gallery

We are excited to share that the all-new Copilot Cookbook Gallery for Power Apps is now available in the Power Apps Community, full of tips and tricks on how to best use Microsoft Copilot as you develop and create in Power Apps. The new Copilot Cookbook is your go-to resource when you need inspiration--or when you're stuck--and aren't sure how to best partner with Copilot while creating apps.   Whether you're looking for the best prompts or just want to know about responsible AI use, visit Copilot Cookbook for regular updates you can rely on--while also serving up some of your greatest tips and tricks for the Community. Check Out the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community.  We can't wait to see what you "cook" up!    

Welcome to the Power Automate Community

You are now a part of a fast-growing vibrant group of peers and industry experts who are here to network, share knowledge, and even have a little fun.   Now that you are a member, you can enjoy the following resources:   Welcome to the Community   News & Announcements: The is your place to get all the latest news around community events and announcements. This is where we share with the community what is going on and how to participate.  Be sure to subscribe to this board and not miss an announcement.   Get Help with Power Automate Forums: If you're looking for support with any part of Power Automate, our forums are the place to go. From General Power Automate forums to Using Connectors, Building Flows and Using Flows.  You will find thousands of technical professionals, and Super Users with years of experience who are ready and eager to answer your questions. You now have the ability to post, reply and give "kudos" on the Power Automate community forums. Make sure you conduct a quick search before creating a new post because your question may have already been asked and answered. Galleries: The galleries are full of content and can assist you with information on creating a flow in our Webinars and Video Gallery, and the ability to share the flows you have created in the Power Automate Cookbook.  Stay connected with the Community Connections & How-To Videos from the Microsoft Community Team. Check out the awesome content being shared there today.   Power Automate Community Blog: Over the years, more than 700 Power Automate Community Blog articles have been written and published by our thriving community. Our community members have learned some excellent tips and have keen insights on the future of process automation. In the Power Automate Community Blog, you can read the latest Power Automate-related posts from our community blog authors around the world. Let us know if you'd like to become an author and contribute your own writing — everything Power Automate-related is welcome.   Community Support: Check out and learn more about Using the Community for tips & tricks. Let us know in the Community Feedback  board if you have any questions or comments about your community experience. Again, we are so excited to welcome you to the Microsoft Power Automate community family. Whether you are brand new to the world of process automation or you are a seasoned Power Automate veteran - our goal is to shape the community to be your 'go to' for support, networking, education, inspiration and encouragement as we enjoy this adventure together.     Power Automate Community Team

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

Users online (3,399)