← Al Davies, 250 High Street

Close a Microsoft Form after a set number of responses

Microsoft Forms has no setting to close a form after a set number of responses: Microsoft's settings page lists an end date, a start date, a time duration, "One response per person", and an Accept responses switch, and no response-count cap. To stop at your number, use a Power Automate flow that counts responses and alerts you, then turn off Accept responses yourself.

The names of menus and buttons may differ from what is written here, because Microsoft changes its screens from time to time.

What you can and cannot do

You may want a form that takes the first 50 sign-ups and then stops. Microsoft's page on form settings lists no setting that caps the total number of responses. That is my reading of the page, not a sentence Microsoft prints. A Microsoft Q&A answer to a question about exactly this says: "there is no setting or feature in the Microsoft Forms to restrict the form responses to only first 50 respondents." Another answer on a different question lists these options: set an end date, turn off "Accept responses" by hand when the number is reached, or use Power Automate to track the number of submissions and send an alert.

Here is what Forms settings do offer, and what needs a flow:

Here is what Microsoft's connector page says about the flow pieces: it lists two actions, "Get form details" and "Get response details". It also lists the trigger "When a new response is submitted".

One Microsoft Q&A question says: "there is no action that links to the settings of MS forms to turn on/off the 'Accepting Responses'." A different Q&A answer says a custom flow can disable the option when the number is reached. Because those two statements disagree, this guide does not depend on it. The flow below counts and alerts. You do the last click.

For the one-per-person setting, see "Stop people filling in a Microsoft Form more than once".

Flow limits to know about

Microsoft's connector page lists these throttling limits for the Forms connector:

A small sign-up form is unlikely to reach 300 calls in a minute. If a big event could send a burst of responses, plan for that. Our advice, not a Microsoft rule: keep the flow short, with one Get response details call per response.

Plan before you build

Decide these four things first.

  1. The number. Example: 50.
  2. Who gets the alert. A person who will see it the same day.
  3. What the closed form should say. Example: "Sign-ups are full."
  4. What to do with a late response. Our advice, not a Microsoft rule: expect one or two to arrive between the alert and your click, and decide now how you will handle them.

For the late ones, one way to start is to count the first 50 rows in the list, sorted by the Created column. Tell the extra people by email that the list is full.

Step 1. Build the list that counts

The flow needs a place to count. A SharePoint list works well because each response becomes one row and the row count is the response count.

  1. Open your SharePoint site and create a blank list named "Sign-ups".
  2. The Title column comes with every new list and is required by default. Use it for the response number from Forms. You can rename it to "Response ID" if that is clearer.
  3. Add a Single line of text column named "Name" and one column for any other answer you need.

If you want to save more than the count, see "Save Microsoft Forms answers to a SharePoint list".

Step 2. Start the flow

  1. Open https://make.powerautomate.com and sign in with your work or school account.
  2. Create a new automated cloud flow and name it "Count sign-ups".
  3. Search for the Microsoft Forms trigger named "When a new response is submitted" and pick your form in the Form Id box.

Microsoft's connector page lists limits you should know: "The connector only works with organizational accounts." Also: "Group forms will not show up in the drop-down list. In order to trigger the Group forms, the Form Id needs to be added manually." Microsoft says the Form Id is in the address bar when you edit the form, and you paste only the part after "FormId=". You may also see an older trigger marked "[DEPRECATED]". Pick the one without that label.

Step 3. Get the answers and save a row

The trigger gives the flow a Response Id and not the answers. Microsoft's connector page says to use it "with 'Get response details' action to fetch the content of the form response."

  1. Add the action "Get response details". Pick the same form. For Response Id, use the Response Id from the trigger.
  2. Add the SharePoint action "Create item". Pick your site and the "Sign-ups" list.
  3. Put the Response Id in Title. Put the person's answer in the Name column.

Step 4. Count the rows

  1. Add the SharePoint action "Get items". Pick the same site and list.
  2. Open the advanced options and set Top Count to a number at least as high as your cap. Microsoft's page on Get items says: "The default item limit is 100". It also says you can raise the limit "up to the list view threshold limit of 5,000". For a form with a cap under 5,000, set Top Count to 5000.
  3. Open the action's settings and turn Pagination on, so the action does not stop early on a longer list. Microsoft says to enable Pagination on Get items when you work with lists that have more than 5000 items. For the full reasons, see "Power Automate Get items stops at 100 rows: how to get them all".

If you leave Top Count alone, Get items returns 100 rows. A cap of 150 would then never be reached by the flow. That is why this step matters.

Step 5. Compare the count to your number

Add a Condition action. This part is our advice, not a Microsoft rule.

  1. In the left box, use an expression that counts the rows from Get items. The expression is length(body('Get_items')?['value']). The step name in the brackets must match the name of your Get items step, with spaces written as underscores.
  2. Pick "is greater than or equal to".
  3. In the right box, type your number, such as 50.

Use "greater than or equal to" and not "equal to". If two people submit at the same moment, the count can jump past your number, and an "equal to" test would miss it.

Step 6. Send the alert

In the "If yes" branch, add an email or Teams message to the person who closes the form. Say what to do in the message itself:

If more than one person needs the alert, see "Get a Microsoft Forms alert sent to more than one person".

Our advice, not a Microsoft rule: set the alert number a little below your real cap, such as 45 for a cap of 50. The flow can then warn you early, and you have time to close the form before it goes over.

Step 7. Close the form

When the alert arrives:

  1. Open https://forms.office.com and open your form.
  2. Open the form's settings.
  3. Uncheck "Accept responses".
  4. Change the closed-form message to something clear, such as "Sign-ups are full."

Microsoft's page says that after you turn this off, people who try to submit see the message you set.

A second option: close by date

If your real rule is "sign-ups close on Friday", you do not need a flow. In the form settings, use the Start date and End date options. Microsoft's page says: "You can specify an exact date and time when you want to start and stop collecting form responses." A Microsoft Q&A answer notes that this is "time-based, not count-based". Use it by itself when the date is the rule. Use it together with the count when you want both: the form closes on Friday, and you are alerted if it fills sooner.

What to avoid

Honest limits

This setup tells you when to close the form. It does not close the form by itself, so there is a short gap where extra responses can arrive. If you must never accept the 51st response, a form may be the wrong tool. A SharePoint list or a booking page that tracks open places can give a person a clear answer before they submit. Also, the Forms connector works only with organizational accounts, so a form on a personal account cannot use this flow.

When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.

Tell me what's still manual

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: Tools I built

FAQ

Can Microsoft Forms stop at 50 responses on its own?

The settings page lists no response-count setting. The options are an end date, turning off Accept responses by hand, or a flow that alerts you.

Can a Power Automate flow turn off Accept responses for me?

The Forms connector page lists "Get form details" and "Get response details" as its actions. One Microsoft Q&A question says no such action exists. A different answer says a custom flow can do it. Treat it as unproven and have the flow alert a person instead.

Can I limit responses to one per person?

Yes. Under "Only people in my organization can respond", check "One response per person". Microsoft's page says it will "Limit form or quiz responses to only one per person."

Can I limit how many responses one question gets?

The settings page lists no per-question limit. To cap one option, count the picks with a flow or use a different tool.

What do people see when the form is closed?

Microsoft says you can customize the message recipients see after you turn off Accept responses. Write a short, clear message such as "Sign-ups are full."

Sources