Hello,
I need to send reminders 1 week before, 3 days before and 1 day before the day stipulated in the form. How can I do this? I was thinking of doing it in the following way but I don't know if it's the right way:
The flow must validate "Star Date" which is the date that the user indicates to start working. So I must base myself on that date.
Any suggestion? Thanks
Hi @SOL24
The screenshot of ‘Do-until’ means that the flow will keep sending emails ceaselessly until the date when the flow runs is equal to the ‘Start Date’ set in sharepoint.
So I’m afraid ‘do-until’ does not meet your need here.
In my understanding, you want the flow to send emails exactly a week before, 3 days before and 1 day before the ‘date stipulated’ in MS Forms set by user who has submitted a new response for Forms.
Can I assume the ‘date stipulated’ by user can be any time in the future?
If I’ve misunderstood your need, please feel free to let me know.
The following flow is for your reference:
Because we don’t know whether the ‘date stipulated’ set by user is more than 7 days or 3 days or 1 day after the date the new response is submitted.
So the flow is quite complicated.
Here is the question in Form:
The condition is used to check whether ‘the date stipulated’ is greater than or equal to 7 days exactly after the new response has been submitted.
The expression used in ‘Condition’:
formatDateTime(convertFromUtc(addDays(utcNow(),7),'China Standard Time'),'yyyy-MM-dd')
Because the time stored in Power Automate is UTC time, so you need to convert from UTC to your own time zone. The time zone I used here is an example.
You can find the time zone in: Microsoft Time Zone Index Values | Microsoft Docs
For more info about formatDateTime(), convertFromUtc(), addDays(), utcNow():
Reference guide for functions in expressions - Azure Logic Apps | Microsoft Docs
Reference guide for functions in expressions - Azure Logic Apps | Microsoft Docs
Reference guide for functions in expressions - Azure Logic Apps | Microsoft Docs
Reference guide for functions in expressions - Azure Logic Apps | Microsoft Docs
The detailed steps in ‘If yes’ for ‘Condition’:
The function used:
convertToUtc(addHours(addDays(startOfDay(outputs('Compose')),-7),9),'China Standard Time')
For more info about convertToUtc(), startOfDay():
Reference guide for functions in expressions - Azure Logic Apps | Microsoft Docs
Reference guide for functions in expressions - Azure Logic Apps | Microsoft Docs
The detailed steps for ‘Condition 2’:
The ‘Condition 2’ is used to check whether ‘the date stipulated’ is greater than or equal to 3 days exactly after the new response has been submitted.
The expression used in ‘Condition 2’:
formatDateTime(convertFromUtc(addDays(utcNow(),3),'China Standard Time'),'yyyy-MM-dd')
convertToUtc(addHours(addDays(startOfDay(outputs('Compose')),-3),9),'China Standard Time')
The detailed steps in ‘Condition 3’:
The ‘Condition 3’ is used to check whether ‘the date stipulated’ is greater than or equal to 1 day exactly after the new response has been submitted.
The expression used in ‘Condition 3’:
formatDateTime(convertFromUtc(addDays(utcNow(),1),'China Standard Time'),'yyyy-MM-dd')
convertToUtc(addHours(addDays(startOfDay(outputs('Compose')),-1),9),'China Standard Time')
If you can know ‘the date stipulated’ by user is more than or equal to 7 days after the new response has been submitted. Then there is no need to add ‘Condition 2’ and ‘Condition 3’.
If you still have the problem, please feel free to let me know.
Best Regards,
Community Support Team _ Kira Xie
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Michael E. Gernaey
497
Super User 2025 Season 1
David_MA
436
Super User 2025 Season 1
Riyaz_riz11
244
Super User 2025 Season 1