cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ArtW
Helper III
Helper III

Cannot get flow to stop sending emails

I have tasks using SharePoint Online with a Start and End date. I set up  FLOW that calculates 27 months after start date to send an email that a 30 month status report is due in 90 days.

Using a test environment the FLOW calculates the fictitious 27 months based on my back dating and send me an email on the calculated date.

 

Example: On Monday January 13, 2020 FLOW sends me an email and in the body of the email  a scripted message says that I have a status report due in 90 days.

However, the FLOW continues to send an email everyday for 2 weeks until I tuned off the flow. I get an email; January, 14, 15 16 17, and so on.

- Is there something I can add at the end of the flow to tell it to only send ONE email then stop. Send me the email January 13 and on the 14th since the day has passed, to wait until the Flow hits another trigger date?

 

Hope this makes sense? Anyone?

12 REPLIES 12
manuelstgomes
Super User
Super User

Hi @ArtW 

 

I would add a flag in SharePoint with "email sent" so that you don't need to send another email.

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Cheers
Manuel

Sorry, not sure I understand. Flow continues to read the date in the specified column. How do I tell Flow that it already read the column? I'm novice to beginner within flow...
Yeiner
Community Support
Community Support

Hello, @ArtW Is there a way that you can add a screenshot of your flow?

Attached are two screen shots because it is so long and wouldn't be readable.  The "Condition" overlaps from top and bottom.

Top of FlowTop of FlowBottom of FlowBottom of Flow

The Flow reads the date from the column specified in the list and sends the email based on the current date matching the projected date. However, as stated, the FLOW continuously sends the email after the date has passed.  So what I need the flow to do is send one email based o the date and then wait for the next date to send another email.

 

Yeiner
Community Support
Community Support

Hello, @ArtW I guess that there is a problem in the condition steps but we need to do a deep investigation so I would like to know if you can open a ticket and add this forum as a reference.

Alright.. Not sure how to open up a ticket..

The Flow reads like this:

Recurrence Flow   -  1 : Day

Get Items =   Site Address : List Name

Apply to Each = ValueCondition

formatDateTime(utcNow(),'d')  |is equal to|   formatDateTime(utcNow(),'d')

If YES

Apply to each = Email Column (items('Apply_to_each')?['PMO_x0020Email']

Send an Email

To - Email address ('Apply_to_each_2')?['Email']

The subject and body of email

 

Yeiner
Community Support
Community Support

Hello @ArtW Go to Help > Support > Contact support

 

 

 

tickets.JPG

 

Support request #120020622003074 was submitted.

Hi @ArtW 

 

As @manuelstgomes mentioned earlier you should do the following:

- Add a column in your list "EmailSent" (Yes/No)

- Update your FLOW with the following:

Get Items Action:

Update and add a filter query like:

EmailSent ne Yes (This will query items only where no email sent)

-Send Email: after this step add another step to update SharePoint item column "EmailSent" to "Yes"

 This will make sure you receive email only once.

 

One more question: based on your reply following condition will always result true:

formatDateTime(utcNow(),'d') |is equal to| formatDateTime(utcNow(),'d')

if this is your actual condition, then this can also be the reason why you keep getting emails.

 

——————————————————
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

 

 

 

 

Thanks,

I'll give it a shot..

stevewest
Frequent Visitor

In your Apply to Each you are comparing UTCNow() to UTCNow() so the condition will always evaluate true and therefore send an e-mail every day. You need to pull a date from your trigger to compare against. If you are comparing against the created date then one side of the condition might look like formatdatetime(addDays(triggerbody()?[Created]), 90), 'yyyy-MM-dd').  The 90 in the previous formula would cause the flow to trigger on the 90th day after it was created. If you need  a different day then change 90 to whatever you need. You will also need to change the formatting on the other side of the condition to 'yyyy-MM-dd' to match. Since you are doing the comparison over multiple months you need more than just the day of the month which is what 'd' will return. 

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Users online (3,043)