First of all, I must say that I’m not a hardcore developer. If an expert sees this, I’m sure they will find many points that need improvement. You are welcome to comment and point out any issues or improvements in this.
Still, I'm a Power Platform novice and a citizen developer 🙂 And I’m sure there are many ways to achieve this as well.
This led to an interesting backstory where I thought maybe a combo of Power Automate, SharePoint Lists, Teams, and Outlook would help resolve a real-life matter.
Obviously, this can be a personalized periodic reminder message to Teams so you will not miss out on your turn.
My teammates have this practice of making our own Flat White coffees in the morning because that can save some money in the long run. Also, reusable coffee mug. So yeah, why not?
We all chipped in and had everyone’s round to bring a bag of coffee beans, and in the morning, we grind it and make coffee in this semi-professional espresso maker.
Now the problem was because everyone was so busy, no one wanted to keep track of whose round was the last one, and even though we tried many different manual methods, either the next person would not bring the beans at the right time or can’t remember whose round is next.
My Solution
My solution is a very simple Power Automate flow that takes the names from a SharePoint List, makes sure the user is in the Team, and if not, adds the user and posts a message in the Team I’ve specified in the flow steps, once everyone’s round is completed, it sends a mail to everyone saying the round has completed which will restart the process again.
This gives the opportunity to add new mates to the list, and the flow will make sure they are in the Team and send them the message once the current mates’ round is finished.
My List
This is where I maintain my mates who are in the Make Your Own Coffee clique and add new people.
Ingredients
For this, I used a service account called CoffeeBot
The team is called TEAM IT, and Channel is called CoffeeChannel, with CoffeeBot as an Owner of that Team
A proper M365 License for the CoffeeBot user
My Steps
The very 1st trigger will be a manual one, as it is waiting for the mail to arrive to trigger the flow.
It gets the items from my SPO list.
Sorting process as I was not 100% accurate with the ODATA Filter in the previous step.
For each value derived from the previous step, get the @mention, send the email, wait for the given number of minutes/ hours/ days, and do until the the current value is not equal to the next in line.
Once the do until breaks at the end of the list, send a mail to everyone in the list with the specific Subject from the specific account and terminate the flow for that round.
The Teams Message that spits out according to the provided delay
The Result
My delay was 1 minute. That is to test the flow, but for this use case, I would take the average time to finish 1kg of coffee beans.
The specific person will get the @mention so that they will be notified by Teams.
Coffee round completion email
As the trigger to start the flow is waiting for the arrival of this email, it will start the flow of the next round.
Final thoughts
Modern no-code/ low-code solutions like this give citizen developers like me the ability to come up with modern answers. As I mentioned earlier, my flow may not be the most elegant flow, but it gets the work done, and I will definitely visit back and modify the steps as soon as I learn more about Power Automate 🙂