In short, we want to setup a way to allow certain users to fill out a MS form.
How can we achieve this?
My Flow below will show how to take a list from SharePoint that has users emails, to only allow them to process the Form.
** You can use any means you want to get a list of Users emails **
First you will need to have a Microsoft Form created - Any MS Form will work
Next, we setup our List of 'Authenticated' Emails. Again in this demo I am using SharePoint
I created a simple SharePoint List with a single text field to store email addresses
In your Flow. Use your basic MS forms trigger and Action to get the details like normal.
Next add a Variable, we make the Type an Array
Under the Variable, add Get items action, and choose our Authenticated users list that we created in SharePointMake sure your Variable is Type Array
Next, add an Apply to each loop. Select the value from the Get items action.
Inside the loop, add a Append to array variable, select the variable that we initialized above. Value = the column name that stores the email Address in our SharePoint List
Outside the loop - Add a Condition
Select the Array on the left side - Contains - Responder on the right
If the user who is filling out the form does not belong to the 'Authenticated' list, we Send an Email letting the user know they are unauthorized to fill out this form.
Under the Send an email action, add a Terminate action with Status of Success, this is to ensure the flow stops running, while not throwing an unwanted Failed run
This is a fun and creative way to add some Authentication to your MS forms.
I hope my method helps or inspires someone else!
Thanks for reading
Check this post out on my Blog:
FlowAltDelete - MS Forms Authentication