SOLVED

MS Form Limit Number of Responses

Brass Contributor

Hi,

 

Is it possible to limit the number of responses on a MS form? Lets say I have 10 spaces for an event. Once the form has been filled out 10 times it stops accepting responses. Also, is it possible to do the same on a specific questions. Users have an option to sign up for a class. Once those spaces are filled it removes that option from the question.

 

Many thanks

23 Replies
best response confirmed by Corcorank (Brass Contributor)
Solution

Hi @Corcorank, no you can't do this directly from Forms. All you can do is to use Flow  to save the response to a SharePoint list. If the ID is less than or equal to 5 then send an email to accept them, if it's more than 5 send a "sorry...." email.

 

Rob
Los Gallardos

Microsoft Flow Community Super User

Hi Rob,

That might just work for what I need.

Many thanks
Kieran

Of all the templates in Automation, One would think that someone at Microsoft would have made this. It is literally keeping teachers from using Office. @RobElliott 

Hi @RobElliott 
would it be possible for you to provide a step-by-step process on this? Thanks

@Corcorank 

You cannot do that in Microsoft forms. But you can do that in SharePoint.

The place you store the responses on SharePoint - there you can create a code to accept the first 10 responses and not allow the other responses from being recorded.

 

I hope this helps!

Regards.

Admin

https://www.apps4rent.com/

@Abigail05 if you don't allow the responses to be saved in the SharePoint list then you won't be able to trigger the flow that sends the "sorry there are no spaces left" email. That email requires a new item to be created in the list for the "When a new item is created" trigger.  So the form submitter will have no idea if their response has been accepted or not. Better to save the response and then send the email based on the ID.

 

@avcordero yes I'll post up the steps as soon as possible.

 

Rob
Los Gallardos
Microsoft Power Automate Community Super User.
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.

 

Thank you!

@RobElliott  Step by step process would amazing!

@RobElliott 

Hello, i am looking for your step by step instrustion.

Thank for your contribution.

@huudao (and @Corcorank sorry for the very long delay, I'd lost track that I hadn't posted up the steps).  The way I do this is to have a separate list to hold the current number of participants for that course. So initially you would create the item in that list (there will only ever be 1 item) and set it to 0. It will increment by 1 as each user signs up.

 

You would hold the details of the participants in your main list:

 

1-ParticipantList.png

 

The flow is as follows. When a new response is submitted, get the response details. Next get the row from the SharePoint Course increment list:

 

Next, add an apply to each and select value from the Get items in the dynamic content box). Add a Compose control (which I've named ComposeCurrentNumber) to hold the number from the NumberSignedUp column.

 

Next, add a Condition: if the output of the ComposeCurrentNumber is less than or equal to 9. This means that if the increment list has a NumberSignedUp value of 10 you don't want to sign up any more people.

 

I recommend you set the concurrency settings in the Apply to Each to On and set it to 1 so that if 2 people respond at the same time the flow will run correctly and increment number won't get out of sync:

 

8-Concurrency.png

 

In the green if Yes channel add a SharePoint Update item action to  increment list and set the new value of the NumberSignedUp column to the following expression: 

add(outputs('ComposeCurrentNumber'),1)
 
Next, create an item in the main Participants SharePoint list.

 

6-Flow3.png

 

In the red If No channel, add the same Update item action to add 1 to the increment list, then send the "sorry.." email.

 

The last action in the green If yes channel is to send a "You are registered..." email

 

7-Flow-4.png

 

The email for the first 10 participants is shown below: 

 

2-emailSuccess.png

 

And the "sorry.." email is:

 

3-Email-NotSignedUp.png

 

One of the advantages of this method is that even though it won't add anyone after the 10th person the the course, it still updates the increment list. So you now how many people wanted to attend if though only 10 could do so.

 

Rob
Los Gallardos
Microsoft Power Automate Community Super User

As Office 365 Education and commercial subscriber, you can receive up to 50,000 responses per single form. If you require more responses, we recommend exporting existing responses to an Excel workbook, and then clearing these from your survey or quiz.

@Lewis-H useful but that wasn't the question which was how to LIMIT the number of responses to a certain number. There's no way within Forms to do this but a way of handling it with a flow in Power Automate and 2 SharePoint lists is possible as I demonstrated above.

Rob
Los Gallardos
Microsoft Power Automate Community Super User

@RobElliott 

 

would be great if we have a full flow screenshot, is that possible? 

@RobElliott  Can you please explain the process step by step. If you have a link or video to share for reference would be very helpful.

@MKandula hi, I used a slightly different approach in the flow in order to use the same SharePoint list for multiple events.  Instead of using the ID you can use an expression to count the number of responses with the same training course name. 

length(outputs('Get_items')?['body/value'])

seatingExhaustion.PNG

Thank you

@Nicolle Brice

Thank you, but these programming options are too difficult. I think there are some teachers who’ll get this when they apply their knowledge of Automation (very few), but the classics department and physio department are not known for their programming -skills. 

The customer-service option was a good one, that programm provided a simple solution. But the problem there was that the module customerservice didn’t belong to Office for Education and costs  money.

On a school our talents are very divers, so these programming solutions are not easy for any teacher.

Greetings and still thanks for the solution, personally I’ll try them all, but I’m the only one in my reasonably sized school

Sabine

Hi @RobElliott ,
can you please share the whole screenshot of the flow? It's a little bit difficult to translate the flow items from english to german ;)

Thank you

1 best response

Accepted Solutions
best response confirmed by Corcorank (Brass Contributor)
Solution

Hi @Corcorank, no you can't do this directly from Forms. All you can do is to use Flow  to save the response to a SharePoint list. If the ID is less than or equal to 5 then send an email to accept them, if it's more than 5 send a "sorry...." email.

 

Rob
Los Gallardos

Microsoft Flow Community Super User

View solution in original post