Isaac
Lifelong Learner
- Local time
- Today, 03:32
- Joined
- Mar 14, 2017
- Messages
- 11,033
Again, adding to start out the content here. As a beginner in this area I have continued to use Flows to automate the retrieval of records, update of records, and sending email notifications. There is a basic step with operation Send an Email Notification (v3), which comes from Microsoft, external to the user, and has an ugly Unsubscribe link. Then there is a Send an Email from a Shared Mailbox (v2) operation which is much nicer, as the title indicates, and loses the unsubscribe link from Microsoft.
My goal was to do the following:
The final product is pictured here - hopefully the pics come out in order. Hope this helps someone someday!
Clearly, retrieving only the filtered items would be better from an optimization standpoint, and in fact, doing all of this only if we are "in range" FIRST would have been better, but for now, this is what I created and works. If/when I successfully create my AND() statement for the ODATA filter expression, I might update this post accordingly.
My goal was to do the following:
- Retrieve a management-configurable Sharepoint list record (Configurations list) which would tell me:
- The due date of a particular task description
- The # of days prior to the due date that should cause the notification to go out, if a record in a different list (ProgressTracker) is missing a datestamp for the task and a datestamp for the notification sent
- The subject of the notification email
- The body of the notification email
- Determine whether or not (the Due Date minus Today) was less than (the # of days prior to due date to notify)
- If #2 was True, then:
- If the record in ProgressTracker was missing a datestamp for the task AND a datestamp for the notification, then send the notification and update the ProgressTracker column (for notification sent) accordingly. Email address would be contained in ProgressTracker
- Retrieve only items from ProgressTracker missing the datestamp for the task completion and missing the datestamp for the notification was sent, then use a condition to determine if we are currently 'in range' and send the notification to all items retrieved
- Retrieve all items from ProgressTracker, then loop through them and determine which ones need the notification - and whether we are in range in the first place
- A combination of the above
The final product is pictured here - hopefully the pics come out in order. Hope this helps someone someday!
Clearly, retrieving only the filtered items would be better from an optimization standpoint, and in fact, doing all of this only if we are "in range" FIRST would have been better, but for now, this is what I created and works. If/when I successfully create my AND() statement for the ODATA filter expression, I might update this post accordingly.