Prevent Oversubscribe in Microsoft Form

Copper Contributor

Hi , would like to know if Microsoft form has the ability to allow responses to be received in real time (prevent oversubscribing issues) ? 

For example, if we have 15 slots allocated for an event and is open to 100 people to sign up, can it be based on first come first serve basis and once 15 slots are full, other participants can no longer sign up ?

5 Replies

@ruxuan No, Forms has no functionality like that, it will accept however many responses come in. So you would need to build something with a SharePoint list and a flow in Power Automate that saved the  responses to the list and sent a "thanks, you've registered..." email. But once the count of IDs in the list was more than 15 then a "sorry, this session is full...." email would be sent.

 

Rob
Los Gallardos
Microsoft Power Automate Community Super User

Hi @RobElliott,
thanks for your reply ! greatly appreciate the offer provided. Is there a way you are able to provide a brief guide on the steps to take to perform the above solution u have mentioned ?

Thanks

@RobElliottI am also interested on how to implement that. It does not look simple. Your enlightenment would be greatly appreciated.

@Jackc340 the flow isn't complicated and if you go through the sterps one by one it's quite logical.

 

1) Create the form:

 

1-Form.png

 

2. Create a list in SharePoint to hold the course title. The wording in the Title column must be exactly the same as the options in the form question.

2-SP-Courses.png

3. Create a list for the course attendees. The flow will save the email address of the attendee into the title column and the course into the course column (single line of text):

 

3-SP-Attendees.png

4. Create a new instant flow from blank. Do not use the Forms template in Power Automate as it has an error than can cause your flow to fail, and Microsoft have never fixed it. The trigger will be the Forms when a new response is submitted. Select your form from the dropdown list. Then immediately after that add the Forms get response details action.  Again, select your form, then click in the Form ID field and the dynamic content box will appear at the bottom right of the screen; select Response ID.

 

4-Flow.png

 

5. Add a Compose action (which I've renamed to CourseSelected). Click in the Inputs field and select the question in your form for the course. Next, add a SharePoint get items action. Select your site and the Courses list and click on the advanced options link. We don't want to bring back all the courses, just the one the user wants to attend so click in the Filter Query field and type Title eq '' and between the '' apostrophes select from the dynamic content box the outputs from the CourseSelected compose.

5-Flow.png

 

6.  Although we are only bringing back the details of 1 course, because of the get items action we need to add an apply to each and select value from the dynamic content box.

 

Next, inside the apply to each add a Compose action, click in the inouts field and select Remaining Places from the get items section of the dynamic content box.

 

6-Flow.png

 

7. Immediately under that, and still inside the apply to each add a Condition. Click in the left field and select the outputs of the remaining places compose action. Leave the middle field as is equal to and in the right field type 0. So this will check if the remaining places on that course are 0 or not.

 

In the green if yes channel (in other words there are no places left) add a send an email (v2) action, select  Responder's Email in the To field, enter the subject of the email and the text in the body. You can select the title of the course from the dynamic content box.

 

7-Flow.png

8. In the red if no chanel (in other words a place is still available) add a SharePoint create item action. Select your site and the course attendees list. I normally put the email address into the title column soselect that from the dynamic content box. And select the title from the courses list.

 

8-Flow.png

 

9. We now want to subtract 1 from the remaining places on that course, so add a Compose action. Click in the inputs field and in the dynamic content box select the expression tab and type sub(outputs('Remaining_Places'),1) and click OK.

 

Next, add a SharePoint update item action, select your siteand the courses list and select the ID and Title from the get items section of the dynamic content box. In the Remaining Places field select the outputs of the Subtract1 compose action.

 

9-Flow.png

 

 

10. Finally add the send an email (v2) action telling the user their places has been confirmed on the course:

 

10a-Email.png

 

While there are still places the resonder will receive the email below:

10-Email.png

11. But eventually the remaining plaes for the course will go down to zero:

11-SP-NoPlaces.png

 

 12. So the email the responder will get will tell them there are no remaining places.

12-Email.png

 

Rob
Los Gallardos
Microsoft Power Automate Community Super User

Thank you very much for the detailed instruction and illustration. I will give it a try.