Is there a way I can restrict the number of responses on MS forms for a specific question for event planning?
I have a MS forms page which has only one question on whats your preferred time slot with 3-4 options given in that question. Now as soon as the 10 entries for the 1st slot is filled, user should be notified through email that the slot is closed, choose from the remaining slots.
I can think of :
Step 1- When forms response is submitted as first step
Step 2 - update the entries on the SharePoint with the information from MS forms
I am stuck with 3rd step how to count the responses for a particular slot if it already has number of rows more than 10?
If its more than 10 then send email to user for rejection and choose a new slot.
@Mishatandon one way that this can be done is to have a separate list for the course to hold the current number of participants. 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 as each user signs up.
You would hold the details of the participants in your main list:
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). Add a Compose control (which I've named ComposeCurrentNumber) to hold the number from the NumberSignedUp column.
Next, add a condition of if the output of the ComposeCurrentNumber is less than or equal to 9. In other words if the increment list has a NumberSignedUp value to 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:
In the green if Yes channel update the SharePoint Course increment list and set the new value of the NumberSignedUp column to the following expression:
Next, create an item in the main Participants SharePoint list.
The last action in the green If yes channel is to send a "You are registered..." email
In the red If No channel update the increment list and send the "sorry.." email.
The email for the first 10 participants is shown below:
And the "sorry email" is:
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.
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.
Hi @RobElliott ,
The solution is great and there is only one exception in can see or have to build in . How would it tackle 2,3 or may be 4 slots which are available for the end user?
Currently its taking into consideration the first 10 users based on only 1 slot, however I have 2-3 slots available.
For example the question on MS - forms is
Q) what is your preferred time slot for the meeting?
a) 27th May 10 AM
b)27th May 5 PM
c) 30th May 10AM
d) 30th May 5 PM.
So I want as soon as the there are 10 users signed up for option 'a' then the person should get notification that the slot is filled. however if there are only 5 slots filled in for option 'b' ( which may not be visible to user nor I want that to be visible) the user can successfully register for slot b or slot c or slot d if there are slots available.
If you could help or guide with the above tackling of slots?
The solution otherwise is great, I learnt a new thing today!
Hi @Mishatandon ,
Get items from Sharepoint will bring all the responses submitted so far . You can filter the response by category and should be able to get count of each category and do further processing .