First of all I must say that I’m not a hardcore developer. If an expert see this, I’m sure they will find many points that needs improvement. You are welcome to comment and point out any issues in this or any improvements.
Still a Power Platform novice and a citizen developer 🙂 And I’m sure there are many ways to achieve this as well.
This lead to an interesting back story where I thought maybe a combo of Power Automate, SharePoint Lists, Teams and Outlook will help to resolve a real life matter.
Obviously this can be a personalized periodic reminder message to Teams so you will not miss out your turn.
My team mates have this practice of making our own Flat White coffees in the morning because that can save some money in the long run. Also re-usable coffee mug. So yeah why not?
We all chipped in for and have 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 is so busy, no one wants to keep a track of whos 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 whos round is next.
My solution is a very simple Power Automate flow that takes the names from a SharePoint List, make sure user is in the Team and if not add the user and post a message in the Team I’ve specified in the flow steps and once everyone’s round is completed, it sends a mail to everyone saying the round has completed which will restart the process again.
This has 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.
This is where I maintain my mates who are in the Make your own Coffee clique and add any new people
For this I used a service account called CoffeeBot
Team called TEAM IT and Channel called CoffeeChannel with CoffeeBot as an Owner in that Team
A proper M365 License for the CoffeeBot user
The very 1st trigger will be a manual one as it is waiting for the mail to arrive to trigger the flow
It get 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 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
My delay was 1 minute. That is to test the flow, but for this use case I would take the average time to finish a 1kg of coffee beans.
The specific person will get the @mention so they will be notified by Teams.
Coffee round completion email
As the trigger to start the flow is waiting in arrival of this email, it will start the flow of next round.
With the modern no-code/ low-code solutions like this give the citizen developers like myself to come up with modern answers. As I mentioned earlier, my flow may not be the most elegant flow, but it get the work done and I will definitely visit back and modify the steps as soon as I learn more about Power Automate 🙂