The Daily standup, is a useful but often abused tool within the day to day life of a Development team. If you’ve been in a standup before, you’ve probably been to some that were good, some that were bad, and others that became a full out complaint session. Most often than not, this is related to a lack of understanding about what the standup is for. I won’t get into that in this blog post but I’ll try to help give you a way to streamline the process in hopes it will give you a fighting chance.
To do so, we will be automating the daily standup process using tools from the Power Platform that we’ve all come to love. This will allow us to start the meeting with everything we need to know. That way we can stay on track and keep it under the 15 minute time cap for a standup.
Tools we will use:
- Microsoft Forms (For the submission process)
- Power Automate / Flow (Automating the start of standup and collection of responses)
- Microsoft Teams (Storing responses)
- SharePoint Online (Storing responses)
The first thing we need to do is choose which team and channel we want to run our standups from. This is where we will send our notifications, collect responses, and run our meeting from. For this post, I will use my CodeNameSQL team in which I’ve created a Dev Team Daily Standups channel.
To help with making sure we are notified when something is posted, we need to ensure our team has notifications setup for this channel. This will allow us to remove some overhead from our automation pipeline. To do this, you will go to the Dev Team Standups channel and hit the ellipses in the top right section of the screen. Once there we will go to Channel notifications and select All activity. You can customize this as you see fit.
By doing so, any standup message will be logged to our activity feed, as well as displaying a notification banner on your screen.
Cool, so now that we have our location in teams setup. Lets go out to Microsoft Forms to create our submission form. To create a form, go to My forms and select New Form.
Once in the form editor will will create the form with the applicable fields for the standup. This can be customized to fit your needs. For this post, we will keep to the core standup questions.
One takeaway from this is to make sure all fields are marked as required. You may want to set some standards around the blocker field. For instance, if you are planning on reporting off blockers you may want your team members to know to place No or None in this field so you can filter them out.
Now that the form is created, we will want to grab a link to the form so we can use it in our automation.
To automate the standup we will need to build two separate flows in Power Automate. One for the initial notification to the team about the standup and another for the collection of their responses. To create the first flow, we will hit the create button from the Power Automate website. This will prompt us with a couple options for the initial creation.
For this process we will start off with the Scheduled Flow. This will allow us to run the flow on a predetermined schedule.
We will then create the flow using a weekly schedule, selecting the workdays you want the notification to go out.
This will create our base flow with the initial trigger that will kick this off.
We will then create our first action which will send a notification to team that the standup has started. To do this, select + New step and type in Teams to filter down our Action items. We will be using the Post a message as the Flow bot to a channel (preview) action. If we chose not to use the Flow bot option, it would create the message as the user who created the flow. This can cause some confusion from the outside looking in.
Once we’ve selected our action, we will build out our message stating that the standup has started. The message input supports both HTML and dynamic expressions. I’ll preface this with the fact that I am not an expert at HTML but hopefully you’ll see what can be done. So we’ll create our message with today’s date as well as providing a hyperlink to the MS form we created earlier on. This will make it easier for our team members to submit their responses.
We will then hit save to complete this flow. To test the flow without having to wait till your scheduled time, you can hit the test option in the top right of the flow editor and then use the I’ll perform the trigger action option.
If everything is set properly, we should see a notification pop up and see a new message within our channel.
Now that we’ve got our message out to the team stating that the standup has started. We now need to build our flow to capture their responses. We will go through the same creation process as before but this time use the Automated Flow process.
To trigger the flow, we will use the When a new response is submitted trigger below.
This will create the initial flow with our trigger in the editor. We then need to add a couple actions to support our process. First, we need to collect the responses from the form submission. We will add the Get response details action as a step and then set the Form id to our MS Form using the drop down. We will then fill the Response Id item using the List of response notifications Response ID. This is collected from the trigger action above.
Once we’ve built our collection action, we want to log the responses to a couple locations. One will be to MS Teams, that way are team members can see their responses and the second place will be to a SharePoint list for record keeping and reporting.
Before we can log our standups to SharePoint, we need to create the list for storage. To do this, go out to your SharePoint site and use the + New drop down to create your list.
In a real world build out, I’d make the list non-team specific. That way I could use the same list to store every teams responses using the title column to determine which team the response was for.
We will then add columns for each response item that we want to store (Who, When, and the three standup questions)
Now that we have this built, we can move back to Power Automate to finish our flow. We’ll start with posting our submitted responses to MS Teams. To do so, we will add the same Post a message task we used in the first flow. We will format our message with the values from our form submission using the dynamic content option and HTML.
Once set, we will add a new action which will log our responses to SharePoint. We will use the Create an Item task for this.
We then need to provide our Site Address and List name from the provided drop downs. This will then populate fields based off the list columns. We will set the Title to the team the standup is for and then use the Form collection items to fill out SharePoint Column values.
I know we’ve covered a lot so far, but we’re almost there. Now that we have everything in place, lets give our flow a test. We will go out to our form and go through the submission process as if we were in our daily standup.
Once submitted, we can move over to teams to see how our response was logged.
Awesome it worked, now lets checkout our SharePoint List.
We can see that our response was loaded to the list correctly and matches to our message in teams. From here, we can use Power BI to consume the SharePoint list to track our standup submissions. I’ll cover this in a later post but for now, I hope you can take this and build upon it to help with our use case. Thank you for reading.