Ignite Blog: Taking Forms to the Next Level with Teams and Power Automate
Published Mar 02 2021 09:00 AM 12.2K Views

I hope you are all having a great time at Microsoft Ignite!  My name is Chris Hoard, Partner Education Lead at Vuzion here in the UK. I am a Microsoft Certified Trainer Regional Lead (MCT RL) and Office Apps and Services MVP. I am interested in everything Microsoft - however my principle focus is Microsoft 365 and all the apps within it.  


A few weeks ago, I had the pleasure of meeting Melinda Hu for the first time. Melinda is the PMM for Microsoft Forms, and in our discussion, we covered a number of things including how Forms has matured over the last few years, how it could develop further, and how I use them every day for the education practice that I run here in the UK. Of all the apps in the Microsoft 365 stack, I rate Forms as highly as Microsoft Teams, Lists and Stream - powerful apps both in and of themselves which help us individually and as a team to save time and be more productive. However, in this blog I want to show the power of Forms when used alongside several other Microsoft 365 apps such as Power Automate, Lists and even Yammer. This is an example of how we can take Forms to the next level.


I am going to break it down into three parts:


  • How Forms helps me capture data
  • How I can analyse data that I receive from the form
  • How I can act on data that I receive from the form


In the scenario I’m walking through below, I have an education practice which runs cloud computing courses. The Form that I will create will be used to capture feedback on multiple courses, including the quality of the course




My first step is to create the feedback form itself. I don’t do this at https://forms.office.com but in OneDrive for Business via Forms for Excel. I choose a name for the Form and then Create.






I now populate the Form. As you can see it’s a simple form with four questions - Name (Text), Course Attended (Choice), Instructor (Choice) and Course Rating (Rating).




I then create a corresponding List within Microsoft Teams. In Teams, I create that List with column names corresponding to the questions in the Form




Now I connect the Form and List via Power Automate. I go to https://flow.microsoft.com and then select create




I select Automated Cloud Flow.




I search for the trigger When a new form response is submitted then Create.




I select the new form in the Form ID field from the dropdown and then select New Step.




I search for and select Get response details (Forms).



In the Form ID field I select the new form from the drop down and in the Response ID field add the dynamic content Response ID. I select New Step.




I now search for and select Create Item (SharePoint).



In the Site Address field, I add the URL of the SharePoint Site where the list is housed from the dropdown. In the List Name I then select the List created earlier. The next four fields will correspond to the List Columns - add the dynamic content corresponding to the form questions so the answers to the questions in the form go into the right List columns.


Once done select Save.




Now I test the form. The responses should go into both the Excel in OneDrive for Business as well as the List in Teams. This will open up the Microsoft 365 stack as we look to analyse and act on data from our form. If you want a team/sharepoint site to house the data instead of an individual’s onedrive, you can always create a form at https://forms.office.com, create an Excel online document in the underlying sharepoint site of the team, create a table within that Excel similar to the List, then add an extra step on the flow to add a row into a table after it has been created in the List.








Now that data is coming in through my form and captured in both Excel (in OneDrive) and the List there is a few ways that I can analyse that data to make better data driven decisions based upon the data that is being captured. Firstly, I can always go into https://forms.office.com and look at the form to see analytics and insights from the form responses.




Secondly, if I want to go use the form data alongside other data sources, I can surface those responses in Power BI. As I have created the form through OneDrive (or if the data is added into an Excel within SharePoint via the flow as suggested above) the data can be ingested into a Power BI workspace and kept up to date continuously as opposed to having to manually import it periodically. So I go to Power BI at https://app.powerbi.com/ select Workspaces and then Create a Workspace.



I give the workspace a name and description and select Save.




I select Add Content.




On Files I select Get.




I select OneDrive – Business.




I select the Excel connected to my form and select Connect.



As I intend to keep the Excel in OneDrive, I select Import.




I select the Dashboard.




I then click on the data.




From a blank canvas, I can now go on to build the visualisations I want from the form data.




Once saved as a report this can the added back into Microsoft Teams as a Tab within the channel.




I can even surface it easily in the new Power BI app within Teams. Awesome.






Data is coming through my form and captured in both Excel (in OneDrive) and the List within Teams. It is being analysed and provides insights within the Forms app and from Power BI, where I can begin to blend it with other data I capture, should I need. Now, I need to act on that data - however, I think this would be even more awesome if I could save myself time and have it be done in an automated way. For example, if the rating of the course was high, I can let my organisation know of its success. If it were low, I can reach out and ask for ways to improve. For this, I add another question to my form which captures the email address of the attendee. You’ll see why in a moment.




I head back to Power Automate at https://flow.microsoft.com and in my flow add New Step. I search for, and select condition.




I am going to tackle bad feedback for courses through the form first. In the condition box I add the dynamic content for the course rating and set contains “1” - the lowest mark possible. In the yes box I select add an action.




I search for and select Send an Email (v2) (Outlook).




I now complete the email action, using dynamic content Email Address (Forms) to send an email to the attendee who gave the low score. It’s requests them to then go to another Form in order to suggest how the course can improve. I have also used dynamic content such as Name (Forms) and Course Attended (Forms) to personalise the email.




I test this to make sure that it works. I send the form with a rating of 1.




I now receive an email calling me to another form to feedback on course improvements.




I can now feedback on the course and how it can improve.




So my flow is now set for low scores, but what about high ones? This is something which I want to broadcast to my team, and to my organisation to let them know of the good news. I head back yet again to Power Automate at https://flow.microsoft.com and in my flow, within the no box of he condition I select Add an Action.




For a second time I search for, and select condition.




In the second condition box I add the dynamic content for course rating and set contains “5” - the highest mark possible. In the No box I select add an action.




I search for and select Terminate.




What this does is that it stops the flow with no further action if the score on the form is neither a 1 or a 5. The flow ends as successful. In the Yes box I now select add an action.




I search and select Start and Wait for an Approval.




I complete the approval fields - again using dynamic content to complete the title and the details (the body of the approval). I select add an action.




I search for and select Post a Message (v3) (Teams).




I complete the message I want to send to the team, and personalise that with dynamic content. I select Add an action.




I search for and select Post Message (Yammer).




I complete the message I want to send to the organisation, and personalise that with dynamic content.




I now Save the flow. Here it is in its entirety - all based on a single form.




I have a final test by submitting another form with a rating of 5.




An approval shows in Microsoft Teams. I select Approve.




The team is messaged the good news in the Teams channel...




...and so is the wider organisation in Yammer.






We broke down this blog into three parts:


  • How Forms helps me capture data
  • How I can analyse data that I receive from the Form
  • How I can act on data that I receive from the Form


In part one, I showed how form data can go into Lists as well as Excel sheets housed in OneDrive (or in SharePoint if you want it out of personal storage). This means we can get data to where we can analyse and act on it. In part two, I showed how we can use analytics already in the Forms app but can go beyond this by using Power BI to create rich workspaces and dashboards, which we can pipe back up into Teams. This would be great to review the running feedback on courses where things like instructor performance, content and format can be reviewed over time. In part three, I showed how we can act on the form data. If a course is scored low, we can have an immediate response via email to the attendee who felt the course could be improved, whereas if a course is scored high, we can get that great feedback to the team, and broadcast it out to our organisation. The amazing thing here is that all of this is automated. And this isn’t the end - there is much more scope as this was only a simple form and a simple setup.


Thanks for taking the time to read. I hope you have an amazing time at Ignite!


You can follow me on:

Twitter: @Microsoft365Pro

Version history
Last update:
‎Aug 03 2023 03:45 PM
Updated by: