# What Is a Live Form? Choice Eliminator Live publishes a copy of your form at a Skyfield link, the live form. Respondents fill in that link instead of the Google Forms link. You keep building and editing the form in Google Forms exactly as before; open the sidebar or press **Sync now** and your questions and choices are copied across. ![The live form: every capped choice shows the spots left, and a full choice is crossed out for everyone at once](https://skyfield.cloud/addons/choice-eliminator-live/renderer-desktop.png) ## Why a live form exists Add-ons that work on a native Google Form, [Choice Eliminator](https://skyfield.cloud/addons/choice-eliminator/docs) included, enforce limits from a trigger that Google runs *after* a response is already recorded. That usually takes seconds, but inside that window two people can still take the same last spot. On a live form there is no window. Each submission claims its spots in a single all-or-nothing step at the moment it is submitted. The submission that arrives second is told the choice is full, and everyone with the form open sees the remaining spots count down live. A choice cannot be over-booked, no matter how many people press submit at the same moment. ## What respondents see The live link does more than mirror your form: - **Spots left, live.** Every choice with a limit shows how many spots remain, for example "3 left" or "Full". The counts update as other people submit, with no page refresh, and the badge becomes more prominent when only a few spots are left. - **Full choices close for everyone at once.** The moment a choice reaches its limit it is marked full on every open page at the same instant, not on the next person's page load. - **Multi-page forms render as pages.** Sections from your Google Form become pages, "go to section based on answer" routing on choices is respected, and a straight-through form shows respondents how far along they are. - **Their language and their device.** The live form follows the respondent's language and works on a phone as well as a desktop. ## What changes when you go live - **You share a different link.** Respondents answer at the live link. The add-on shows it in the sidebar, ready to copy or hand out as a QR code. - **The add-on offers to close the original Google Form.** Responses submitted through the original Google Forms link are not limited, so leaving it open would let people around your caps. When your first limit goes live, the add-on asks once whether to close the original; the closed form points respondents at the live link. You can decline, and the add-on reopens a form it closed when you reset or uninstall it. - **The live form has its own settings.** Who can respond, what the page looks like, an opening and closing window, email notifications and a Google Sheet copy of the responses are all set in [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings), separately from your Google Form's own settings. - **Your form's structure is stored on Skyfield's servers.** The questions, choices and limits of the live form live with us so the link can enforce them. What is stored and for how long is described in the [privacy policy](https://skyfield.cloud/privacy), and you can ask us to delete a live form and its responses at any time. - **Responses live with the live form.** You can view and export them as CSV from [your live forms](https://skyfield.cloud/live-forms) on skyfield.cloud, or have them copied to a Google Sheet. Access to your responses stays open permanently, including after your plan ends. ## When you should not use it Most forms do not need a live form. If your choices are not scarce, or a spot being taken twice on a slow day is an inconvenience rather than a problem, a native Google Form with [Choice Eliminator](https://skyfield.cloud/addons/choice-eliminator/docs) is simpler: respondents stay on the Google Forms link they know, and nothing about your form moves. A live form earns its place when simultaneous submissions genuinely compete for the same scarce spots: workshop seats that fill in minutes, time slots opened at a fixed hour, anything where "the last one" matters and everyone arrives at once. ## Support - [Contact Us](https://skyfield.cloud/contact) - Get in touch # Getting Started Choice Eliminator Live caps each answer choice in your Google Form and publishes the form at a live link, where those caps hold even when everyone submits at the same moment. This guide takes you from install to a working live form. If you have not read [what a live form is](https://skyfield.cloud/addons/choice-eliminator-live/docs), start there. It explains what moves and what stays the same. ## Installation 1. :marketplace-link{addon="choice-eliminator-live"} from the Google Workspace Marketplace 2. Click **Install** and follow the prompts 3. Grant the permissions it asks for ## Connect your Google account, once The live form has to read your questions and choices to mirror them, so the first time you open the sidebar it asks you to connect your Google account at skyfield.cloud. 1. Open any Google Form with a multiple choice, checkbox, or dropdown question 2. Click the **Add-ons** (puzzle piece) icon, then **Choice Eliminator Live**, then **Start** 3. The **Questions** tab shows **One step left to go live**. Click **Connect Google account** 4. Sign in with the account that owns the form and approve access 5. Come back to the form and open the sidebar again This is a one-time step for your account, not per form. Until it is done, nothing can sync. ## Set your first limits 1. Open the **Questions** tab 2. Click a question to open its limits 3. Type a number next to each choice. Leave a choice blank to keep it unlimited 4. Click **Save** ![The Questions tab: one number per choice, and the count taken so far next to each](https://skyfield.cloud/addons/choice-eliminator-live/sidebar-choices.png) The sidebar confirms **Limits are live** once the caps have reached the live form. If it instead says **Limits not live yet**, your numbers are saved locally but are not yet being enforced. See [Sync and connection errors](https://skyfield.cloud/addons/choice-eliminator-live/docs/support/sync-and-connection-errors). ## Close the original and share the live link The first time a save makes your form enforceable, the add-on asks whether to close the original Google Form. Answers sent through the original Google Forms link are not capped, so closing it is the recommended choice. Respondents who open the old link are pointed at the live one. Then open the **Form** tab, click **Share link**, and copy the live link or download its QR code. That link is what you hand out. ## Check the live form's own settings The live form starts with sensible defaults: anyone with the link can respond, remaining spots are shown, and there is no opening or closing date. Everything about that is yours to change under **Live form settings** on the **Form** tab. See [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings). ## Next Steps - [All features](https://skyfield.cloud/addons/choice-eliminator-live/docs/getting-started/features) - [Per-choice limits](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/per-choice-limits) - [Share the live link](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/share-the-live-link) - [Pricing](https://skyfield.cloud/addons/choice-eliminator-live/pricing) - [FAQ](https://skyfield.cloud/addons/choice-eliminator-live/docs/support/faq) # Features The add-on has three tabs. **Questions** is where the caps live, **Form** holds everything that applies to the whole form, and **Account** covers your plan. The live form itself has a settings dialog of its own, reached from the Form tab or from your dashboard. ## Questions tab **Per-choice limits.** Give each option in a multiple choice, checkbox, or dropdown question its own number of places. A blank stays unlimited. See [Per-choice limits](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/per-choice-limits). **A total for the question.** One shared pool of places across all of a question's options, on top of or instead of per-choice numbers. **Sync.** Your questions and choices are copied to the live form whenever you open the sidebar, and on demand with **Sync now**. Keep editing the form in Google Forms; the live copy follows. **Live status.** The tab tells you when limits are live, when a push has not landed yet, when your original Google Form is still open, and when the form is a quiz, which the live form does not support. ## Form tab **Live form.** Opens the live link in a new tab, so you see what respondents see. **Responses.** Everything submitted to the live form, viewable and exportable as CSV from your dashboard. See [Responses and export](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/responses-and-export). **Live form settings.** Opens the settings dialog for the live form, five tabs: - **Respondents.** Who can respond, one response per account, editing after submission, allowed email domains, and a total response limit for the whole form. See [Respondents and sign-in](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/respondents-and-sign-in) and [Total response limit](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/total-response-limit). - **Presentation.** Whether remaining spots are shown, what a full choice looks like, and the messages respondents read. See [Presentation](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/presentation). - **Schedule.** An opening and closing date and time for the live form. See [Schedule](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/schedule). - **Notifications.** Emails when the form fills, when a question fills, and around a scheduled close. See [Notifications](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/notifications). - **Connect to sheet.** A Google Sheet in your Drive that receives every response. See [Connect to sheet](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/connect-to-sheet). The row under **Live form settings** summarises the state, for example **Stops at 120** or **Scheduled**. See [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings). **Share link.** The live link, ready to copy, open, or download as a QR code. See [Share the live link](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/share-the-live-link). **Reset counts.** Put every choice back to zero for a new intake, keeping your limits. See [Reset for a new intake](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/reset-for-a-new-intake). **Closing the original form.** The sidebar offers to close the original Google Form once limits are set, and warns while it is open. See [Closing the original form](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/closing-the-original-form) and [Plan changes](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/pausing-and-plan-changes). ## What respondents see **Spots left, live.** Each capped choice carries a badge, for example "3 left" or "Full", updating on every open page as other people submit. No refresh. **Full choices close for everyone at once.** The moment a choice reaches its limit it is marked full on every open page at the same instant. **Pages and routing.** Sections from your Google Form become pages, and "go to section based on answer" routing on choices is respected. **Phones and languages.** The live form works on a phone, and follows the respondent's language. ## What the add-on does not do **It installs no triggers.** Nothing runs on a schedule and nothing runs after a submission on the Google Forms side. Enforcement happens on the live form, at the moment of submission. **It does not touch your questions.** The only change it ever makes to your Google Form is opening or closing it, and only when you ask. The live form's own settings never change your Google Form's settings. **It does not host quizzes.** A form with "Make this a quiz" turned on shows respondents a notice on the live link instead of the questions. # Per-Choice Limits Per-choice limits are the product. You give an option a number of places, and the live form refuses the submission that would take one too many. ## Setting limits 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon, then **Choice Eliminator Live**, then **Start** 3. Open the **Questions** tab 4. Click a question to open its limits 5. Type a number next to each choice, and leave anything unlimited blank 6. Click **Save** The sidebar confirms **Limits are live**. That message means the cap has reached the live form, not just your browser. ![A question with four limits, and the count taken so far next to each choice](https://skyfield.cloud/addons/choice-eliminator-live/sidebar-choices.png) Back on the question list, each capped choice shows how many places are taken against its limit, for example **10 / 12**, turning amber as a choice nears its limit and red once it is full. ## A total for the whole question Below the per-choice numbers, **Limit total spots for this question** sets one shared pool across all of the question's options. Use it when the options are interchangeable, for example "any of these five sessions, but 40 people in total". It works with or without per-choice numbers, and whichever runs out first is what closes an option. ## Supported question types - Multiple choice - Checkbox - Dropdown A checkbox question spends one place for each option ticked, so a respondent choosing three options takes a place from each of those three. ## How it holds under a rush Every submission claims all of its places in a single all-or-nothing step, with the row for each choice locked while it happens. Two people pressing submit in the same instant cannot both take the last place: one succeeds, the other is told the choice is full and picks again. This is the difference from capping choices on the Google Form itself. There, the cap is applied by a trigger that Google runs after the response is already recorded, and inside that window a choice can be over-booked. On the live form there is no window. ## What respondents see - A badge on each capped choice showing the places left, for example "3 left" - The badge becoming more prominent as the number gets small - "Full" and a struck-through, unselectable option once a choice is at its limit, on every open page at the same moment Choices with no limit carry no badge at all, so a form with two capped options and eight open ones does not look like a form full of counters. You can hide the numbers altogether, or hide full choices instead of crossing them out, under [Presentation](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/presentation). ## Editing the form afterwards Keep editing in Google Forms. Renaming a choice, adding one, or reordering the list is picked up on the next sync, which happens when you open the sidebar or press **Sync now**. Renaming a choice starts it from zero: the count follows the choice text, so "Morning" and "Morning session" are two different things as far as the count is concerned. Rename before you share the link, not after. ## Use cases **Workshop and session sign-ups.** One number per session, and the session disappears when it fills. **Appointment and time slots.** Capacity 1 on each slot, so a slot is bookable exactly once. **Trips, equipment, and stock.** A checkbox question with one number per item. **Anything opened at a fixed hour.** This is the case the live form exists for: everybody arrives in the same two minutes. # Share the Live Link Respondents answer at the live link, not at the Google Forms link. The **Form** tab is where you find it. ## Getting the link 1. Open the **Form** tab 2. Click **Share link** 3. Copy the link, click **Open form** to check it, or click **Download QR** If the row says **Not synced yet**, the form has not reached the live version yet. Open the **Questions** tab and press **Sync now**. ## The QR code The downloaded QR code is a PNG that points at the same live link. It is meant for a poster, a slide, or a handout, so a room full of people can reach the form without typing anything. ## Why not the Google Forms link Answers submitted through your original Google Forms link never pass through the live form, so none of your caps apply to them. A form shared through both links is a form whose limits can be walked past. That is why the add-on offers, once, to close the original. See [Closing the original form](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/closing-the-original-form). ## Checking it before you share Open the live link yourself, from **Live form** on the Form tab or from the share dialog. You should see your questions, your choices, and a badge on every choice you capped. If a badge is missing, the limit for that choice has not reached the live form; the **Questions** tab will say so. ![The live form on a phone](https://skyfield.cloud/addons/choice-eliminator-live/renderer-mobile.png) # Live Form Settings Your Google Form has settings, and so does the live form. They are separate. Changing one never changes the other, and the live form's settings only apply to responses sent through the live link. ## Opening the dialog From Google Forms: 1. Open the **Form** tab in the sidebar 2. Click **Live form settings** From your dashboard: 1. Go to [your live forms](https://skyfield.cloud/live-forms) on skyfield.cloud 2. Open the form 3. Click **Settings** The same dialog opens in both places, with the same five tabs. ![Live form settings, opened from the dashboard](https://skyfield.cloud/addons/choice-eliminator-live/settings-respondents.png) ## The five tabs | Tab | What it covers | Guide | | -------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Respondents** | Who can respond, one response per account, editing after submission, allowed email domains, a total response limit | [Respondents and sign-in](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/respondents-and-sign-in), [Total response limit](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/total-response-limit) | | **Presentation** | Whether remaining spots are shown, what a full choice looks like, the messages respondents read | [Presentation](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/presentation) | | **Schedule** | An opening and closing date and time | [Schedule](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/schedule) | | **Notifications** | Emails when the form or a question fills, and around a scheduled close | [Notifications](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/notifications) | | **Connect to sheet** | A Google Sheet in your Drive that receives every response | [Connect to sheet](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/connect-to-sheet) | Every change saves as you make it. There is no Save button; a spinner next to a control means it is being written, and an error under it means it was not. ## When the live form and the Google Form differ Some settings exist on both sides, **Collect email addresses** and **Limit to 1 response** among them. When your Google Form has one of these set differently from the live form, the row shows a note: **Your Google Form has Collect email addresses set to Verified. The live form is set separately, and your Google Form is not changed.** The note is information, not an error. If you want the two to match, change the live form's value; the add-on never edits your Google Form's settings. The sidebar's **Form** tab also warns when **your Google Form is stricter than the live form**, for example when the Google Form requires sign-in and the live form does not. The live link is then more open than the original, which may or may not be what you want. ## The summary row The **Live form settings** row in the sidebar summarises the state in one line: **Stops at 120** when a total response limit is set, **Scheduled** when a date window is, and the respondent setting otherwise, for example **Google sign-in** or **Anyone, anonymous**. ## Licence Respondents, Schedule and Connect to sheet need an active licence to change. When a trial or subscription has ended, those tabs show one banner, **Changes need an active license**, and their controls are disabled. Your saved settings keep working on the live form. Presentation and Notifications stay editable. Only the form's owner can upgrade; a co-editor sees who that is. See [Plan changes](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/pausing-and-plan-changes). # Respondents and Sign-in The **Respondents** tab of [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings) decides who can answer on the live link. ## Collect email addresses Three settings, the same three Google Forms offers: - **Do not collect.** Anyone with the link can respond, anonymously. The default. - **Responder input.** The form asks for an email address, typed by the respondent and not checked. - **Verified.** Respondents sign in with a Google account, and the account's email is recorded with the response. Only **Verified** identifies a person reliably, which is why the three settings below need it. ## Settings that need Verified These appear once Collect email addresses is set to Verified. Until then the tab says so in one line. **Limit to 1 response.** A signed-in account can answer once. A second attempt shows them their earlier response instead of a blank form. This is the setting that stops one person taking several scarce places under different names, as long as they cannot use several Google accounts. **Allow response editing.** Responses can be changed after being submitted. Together with Limit to 1 response, a respondent who picked the wrong session can come back and change it; the place they held is released and the new one claimed in the same all-or-nothing step, so editing can never over-book a choice either. **Restrict to email domains.** A comma-separated list, for example `school.org, students.school.org`. Only Google accounts on those domains can respond. Leave it blank to allow any Google account. ## Limit total responses The whole-form cap, counting every response whichever choices it picked. It has its own guide: [Total response limit](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/total-response-limit). ## The Google Form's own setting If your Google Form collects emails differently from the live form, the row shows a note saying so. The live form is set separately, and your Google Form is not changed. See [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings). ## Licence This tab needs an active licence to change. Saved values keep working on the live form after a plan ends. # Total Response Limit A per-choice limit caps one option. A total response limit caps the form, counting every response whichever choices it picked. ## Setting it 1. Open **Live form settings**, from the **Form** tab in the sidebar or from [your live forms](https://skyfield.cloud/live-forms) on skyfield.cloud 2. On the **Respondents** tab, turn on **Limit total responses** 3. Enter a number under **Stop accepting responses after** 4. Optionally, write a **Message once the limit is reached**. This is the same text the Schedule tab calls the form closed message: one message covers every way the form can be closed The change saves as you make it. Back in the sidebar, the **Live form settings** row reads **Stops at 120**. ## What happens at the limit Once the total is reached, the live form stops accepting entries and shows respondents your message instead of the questions. The default reads: *This form has reached its response limit and is no longer accepting entries.* Your per-choice limits keep working underneath, so whichever runs out first is what stops the form. ## Using both together The two limits are independent, and each holds on its own. "No more than 200 people in total, and no more than 40 in any one session" is two settings, not a compromise between them. ## Clearing it Turn **Limit total responses** off. The form starts taking responses again straight away. ## Licence This setting needs an active licence to change. A saved limit keeps working on the live form after a plan ends. # Presentation The **Presentation** tab of [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings) shapes what respondents see. None of it needs a licence to change. ![The Presentation tab](https://skyfield.cloud/addons/choice-eliminator-live/settings-presentation.png) ## Show remaining spots On by default. Every capped choice shows a badge such as **3 left**, and a question with a total shows how many of its places are taken. Turn it off to hide the numbers. Respondents then see plain choices, and only learn a choice is full when it is crossed out. Use this when the count itself is sensitive, for example when "1 left" would pressure people or reveal how few signed up. ## When a choice is full **Cross it out.** The default. A full choice stays in the list, struck through and unselectable, so respondents can see it existed and is gone. **Hide it.** A full choice is left out of the list entirely. This only applies to choices that are already full when the page opens; a choice that fills while someone is looking at the form is crossed out instead, so the list does not shift under them. ## Message when every choice in a question is full Shown in place of the choices when a question has nothing left to pick. The default explains that a place reopens automatically if someone cancels. Plain text; links are not clickable. ## After submission **Confirmation message.** What respondents read once their response is recorded. Plain text; the default is *Your response has been recorded.* **Show link to submit another response.** On by default, but hidden anyway while the form has limited spots, so one person cannot take several places by resubmitting. It only appears on forms with no caps at all. # Schedule The **Schedule** tab of [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings) puts a window around the live form. Outside the window, respondents see a closed message instead of the questions. ![The Schedule tab](https://skyfield.cloud/addons/choice-eliminator-live/settings-schedule.png) ## Setting a window 1. Turn on **Limit form by date** 2. Set an **Open date and time**, a **Close date and time**, or both 3. Optionally, write a **Form closed message**. It is the same text as the Respondents tab's message once the limit is reached: one message covers every way the form can be closed The tab shows which timezone the times are in. The close date must be after the open date. Back in the sidebar, the **Live form settings** row reads **Scheduled**. ## What respondents see - **Before the open date:** the closed message, with a line naming when the form opens. - **After the close date:** the closed message, with a line naming when it closed. - **Once a total response limit is reached:** the same message. The date line is added automatically; you do not need to repeat the date in your message. ## Opening at a fixed hour This is the case the live form was built for. Set the open date, share the link in advance, and everyone arrives to a form that opens at the same instant for all of them. The caps hold from the first second. ## Notifications around the close The **Notifications** tab can email you 24 hours before the close date and again once it passes. Both need a close date here. See [Notifications](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/notifications). ## Licence This tab needs an active licence to change. A saved window keeps working on the live form after a plan ends. # Notifications The **Notifications** tab of [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings) sends emails about the live form. It does not need a licence to change. ![The Notifications tab](https://skyfield.cloud/addons/choice-eliminator-live/settings-notifications.png) ## Email address Where every notification below is sent. It starts as the form owner's address, and you can change it to any address, for example a shared inbox. ## Events **Notify when limit reached.** The live form stopped taking responses because the [total response limit](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/total-response-limit) was reached. **Notify when a question is full.** Every choice in a question is full and it stops accepting answers. **Schedule notifications**, which need a close date under [Schedule](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/schedule): - **Notify 24h before closing.** A reminder 24 hours before the scheduled close date. - **Notify when the form closes.** Sent once the scheduled close date passes. Every switch is off until you turn it on, and each one works on its own. ## What you receive Each email names the form and what happened, and links to the responses on your dashboard. # Connect to Sheet Responses to the live form are kept on your dashboard. The **Connect to sheet** tab of [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings) also copies them to a spreadsheet in your Google Drive, so you can work with them the way you would with a Google Form's own sheet. ![The Connect to sheet tab before a sheet exists](https://skyfield.cloud/addons/choice-eliminator-live/settings-sheets.png) ## Connecting The sheet is created in your Drive, so Skyfield needs permission to create files there. 1. Open **Live form settings** and the **Connect to sheet** tab 2. Click **Connect Google Drive**. From the dialog inside Google Forms, this sends you to skyfield.cloud in a browser tab, where Google asks for permission; come back afterwards 3. Turn on **Copy responses to Google Sheets** A spreadsheet named after your form is created in your Drive, every response collected so far is copied into it, and each new response is added as it arrives. The tab says how many have been copied, and **Open sheet** takes you to it. Once connected, **Open sheet** also appears at the top of the form's page on your dashboard. Responses always stay on your dashboard too. The sheet is a copy, not the only record. ## If copying stops The tab says **Stopped** with the date and the reason. The common ones: - **Google Drive access was revoked** or **the Google connection does not include Drive file access.** Reconnect Google Drive, then click **Resume**. - **The spreadsheet was deleted or moved to the trash.** Restore it and click **Resume**, or click **Create a new sheet**. - **Google Sheets took too long to answer** or **returned an error.** Usually temporary. Click **Resume**. Nothing is lost while copying is stopped: new responses are still saved on your dashboard, and Resume copies every missed one. If some responses are not in the sheet yet, the tab says how many and **Copy now** takes the rest. ## Who owns the sheet The sheet lives in the Drive of the Google account that connected. If that account is no longer connected, the tab says so; connect again, or create a new sheet under your own account. ## Licence This tab needs an active licence to change. A connected sheet keeps receiving responses after a plan ends. # Closing the Original Form Your caps are enforced on the live form. Responses that arrive through the original Google Forms link never pass through it, so they are not capped at all. ## The one-time offer The first time a save makes your form enforceable, the add-on asks: **Close the original form?** It recommends closing, and if you accept it does two things. - Closes the original Google Form to new responses - Replaces the closed-form message with one pointing at the live link, so anyone who follows an old link is sent to the right place You can decline with **Keep it open**. If you do, the add-on will not ask again, and the **Form** tab shows a warning that people with the old link can respond past your limits. ## Changing your mind While the original is open and limits are set, the **Questions** and **Form** tabs show the warning **Your original Google Form is still open**, with a **Close the original** button. To reopen the original, do it in Google Forms itself: the add-on notices on the next visit and leaves it open. ## The add-on only reopens forms it closed If your form was already closed before you installed the add-on, it stays closed and the add-on will not reopen it. It tracks whether it was the one that closed the form, and only ever reverses its own change. ## Running alongside Form Limiter or Form Scheduler Do not. Form Limiter and Form Scheduler open and close the same Google Forms setting as their own core behaviour, and add-ons cannot see each other's settings, so the two will take turns undoing each other. If one of those is already managing this form, choose **Keep it open** here and share the live link on its own. If something outside the add-on reopens your form, the add-on leaves it open and the warning returns, offering to close it again. A form that keeps reopening on its own almost always means a second form-closing add-on is installed. # Reset for a New Intake A form whose caps have filled is finished, unless you reset it. **Reset counts** reopens every place while keeping the limits you set. ## Resetting 1. Open the **Form** tab 2. Click **Reset counts** 3. Click **Reset counts** to confirm Every choice goes back to zero, full choices become selectable again, and your numbers are untouched. This is the setting to use at the start of a new term, a new week of slots, or a second round of the same sign-up. ## Keeping or deleting the responses Resetting the counts does **not** delete anything by default. The responses already collected on the live form stay where they are, and stay exportable. If you want a clean slate, tick **Also delete the stored responses** before confirming. That is permanent, so export first if there is any chance you will want the data. See [Responses and export](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/responses-and-export). ## What reset does not do - It does not change your limits - It does not reopen or close your original Google Form - It does not affect responses collected through the Google Forms link before you started using the live form # Responses and Export Responses to the live form are collected by Skyfield, not by Google Forms, so they do not appear on your form's Responses tab. They live on your dashboard, and can also be copied to a Google Sheet. ## Finding them 1. Open the **Form** tab 2. Click **Responses** That opens the form's page on your dashboard in a new tab, signed in as the account that owns the form. You can also go straight to [your live forms](https://skyfield.cloud/live-forms) and open the form there. ![A form's responses on the dashboard](https://skyfield.cloud/addons/choice-eliminator-live/responses.png) The page shows the newest responses first, with the time submitted, the time last edited if editing is allowed, the respondent's email when one is collected, and one column per question. From the same page, **Settings** opens the live form's settings and **Open live form** opens the link respondents use. ## Exporting Click **Export CSV**. The file opens in Google Sheets, Excel, or Numbers. A large export shows its progress as it is prepared, and you can cancel it. Exported files are oldest first, the opposite of the screen, so a later export continues the last one: append the new rows and nothing is out of order. ## A Google Sheet instead If you would rather have the responses in a spreadsheet that fills itself, connect a sheet: every response collected so far is copied in, and each new one is added as it arrives. See [Connect to sheet](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/connect-to-sheet). ## Access is permanent Response retrieval and export are never gated. They keep working while your plan is active, after a trial ends, after a subscription lapses, and after you cancel. It is your data. ## Responses collected before you switched Answers submitted through your original Google Forms link stay on the Google Form, on its own Responses tab, exactly as before. The add-on does not move, copy, or delete them. # Plan Changes ## Standing the add-on down There is no pause switch. To stop capping, clear your limits on the **Questions** tab; to stop taking responses on the live form, close it with a close date under [Schedule](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/schedule). Your original Google Form is reopened only when you reset the add-on or uninstall it, and only if the add-on was the one that closed it. ## When a trial or subscription ends Configuration freezes; your data never does. **Straight away.** The live form keeps serving and keeps enforcing the limits you last saved. The sidebar goes read-only with a note that your license has expired, and editing limits is on hold. In Live form settings, the **Respondents**, **Schedule** and **Connect to sheet** tabs show one banner, **Changes need an active license**, with their controls disabled; **Presentation** and **Notifications** stay editable. **After 30 days.** The live form stops accepting new responses and sends respondents to your original Google Form, reopened if the add-on was the one that closed it. Intake carries on there, unmanaged, so nobody following your link hits a dead end. **Always.** Reading and exporting your responses keeps working, including after cancellation. A connected Google Sheet keeps receiving responses too. Renewing from the **Account** tab restores editing immediately. Only the form's owner can upgrade; a co-editor is told who that is. # FAQ ## Do respondents need a Google account? Not unless you ask for one. By default the live link is a normal web page that anyone can answer. Set **Collect email addresses** to **Verified** under Live form settings and respondents sign in with Google, which is what makes one-response-per-person and email-domain restrictions possible. See [Respondents and sign-in](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/respondents-and-sign-in). ## Can I keep using the Google Forms link? You can, but nothing sent through it is capped, so your limits stop meaning anything. The add-on offers once to close the original and point people at the live link. See [Closing the original form](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/closing-the-original-form). ## Do my existing responses move? No. Anything already collected stays on your Google Form. Responses to the live form are collected separately and are read and exported from [your live forms](https://skyfield.cloud/live-forms) on skyfield.cloud. See [Responses and export](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/responses-and-export). ## Can I get the responses in a Google Sheet? Yes. Connect a sheet under Live form settings and every response, past and future, is copied into a spreadsheet in your Drive. See [Connect to sheet](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/connect-to-sheet). ## Do I still edit the form in Google Forms? Yes. Google Forms stays the editor. Open the sidebar or press **Sync now** and your questions and choices are copied across. ## Do the live form's settings change my Google Form? Never. Who can respond, the schedule, the messages and the notifications on the live form are set separately, under Live form settings. When one of them differs from your Google Form's own setting, the dialog says so, and leaves the Google Form alone. See [Live form settings](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/live-form-settings). ## How is this different from Choice Eliminator? [Choice Eliminator](https://skyfield.cloud/addons/choice-eliminator/docs) caps choices on the Google Form itself, using a trigger Google runs after each response is recorded. That is simpler, and for most forms it is the better choice: respondents stay on the link they know. Its one weakness is simultaneous submissions. Inside the gap between a response landing and the trigger running, two people can take the same last place. Choice Eliminator Live closes that gap by moving the form to a link where each submission claims its places atomically. Use it when everyone arrives at once. ## Can a choice ever go over its limit? No. A submission takes all of its places in one all-or-nothing step with the count rows locked, so a cap cannot be exceeded however many people submit together. The submission that arrives second is told the choice is full. ## What happens when a choice fills while someone is filling in the form? Their page updates as it happens: the choice is marked full and becomes unselectable, without a refresh. If they had already selected it, submitting tells them it is full so they can pick again. ## Can I use it with Form Limiter or Form Scheduler on the same form? No. All three open and close the same Google Forms setting, and add-ons cannot read each other's settings, so they undo each other's work. Pick one per form. ## Does it install any triggers? No. Nothing runs on a schedule and nothing runs after a submission on the Google Forms side. ## Does it work on multi-page forms? Yes. Sections become pages, and "go to section based on answer" routing on choices is respected. ## Does it work on quizzes? No. A form with "Make this a quiz" turned on shows respondents a notice on the live link instead of the questions, and the sidebar warns you. Turn the quiz setting off in Google Forms to use the live form. ## Can more than one person manage the form? Yes. Anyone who can edit the Google Form can open the sidebar. The account that first connected is the one whose connection keeps the live form in sync, so if the sidebar says the live version is managed by a different Google account, switch to that account. Only the form's owner can upgrade the plan. ## What happens if my plan ends? The live form keeps serving and keeps enforcing your saved limits, with editing on hold. After 30 days it hands intake back to your original Google Form. Export never stops working. See [Plan changes](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/pausing-and-plan-changes). ## Where is my form data stored? The questions, choices and limits of the live form, and the responses collected on it, are stored on Skyfield's servers so the live link can enforce your caps. Details are in the [privacy policy](https://skyfield.cloud/privacy), and you can ask us to delete a live form and its responses at any time. ## Still stuck? [Contact us](https://skyfield.cloud/contact). # Sync and Connection Errors Every message below comes from the **Questions** tab, and each has one cause. ## One step left to go live The live form has to read your questions to mirror them, and your Google account has not been connected yet. Click **Connect Google account**, sign in with the account that owns the form, approve access, then reopen the sidebar. This is once per account, not once per form. Nothing can sync until it is done. ## Limits not live yet Your numbers were saved in the add-on, but the push to the live form did not land. The limits shown are not being enforced yet. Press **Sync now**. If it keeps failing, the message names the reason, and the entries below cover each one. ## This form's live version is managed by a different Google account The live copy of this form was set up by another editor, and the sidebar is asking you to be that person. Switch to the account named in the message and open the form again. ## Your sign-in expired Close the add-on and open it again. That is enough to get a fresh sign-in. ## Your questions could not be read Access to the form needs re-granting. Close the add-on, open it again, approve the prompt, then press **Sync now**. ## This form has not been synced yet Press **Sync now** on the **Questions** tab and try again. ## The live form service is unavailable / could not be reached A network or service problem, not a problem with your form. Nothing is lost, and your live form keeps serving what it last had. Try again in a few minutes. ## Quiz forms are not supported on the live form Your form has "Make this a quiz" turned on. Respondents opening the live link see a notice instead of the questions. Turn the quiz setting off in the Google Forms settings, then press **Sync now**. ## Your original Google Form is still open Responses through the original link skip every limit. The add-on leaves an open form open, so this warning also appears after something outside the add-on reopened it. Use **Close the original** in the warning, or, if a second form-closing add-on such as Form Limiter or Form Scheduler keeps reopening it, pick one add-on per form. See [Closing the original form](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/closing-the-original-form). ## Your Google Form is stricter than the live form Shown on the **Form** tab when your Google Form asks more of respondents than the live form does, for example sign-in on the Google Form and none on the live link. Not an error: the live link is simply more open than the original. Change it under **Live form settings** if that is not what you want. See [Respondents and sign-in](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/respondents-and-sign-in). ## Your license has expired Your saved limits keep working on the live form, but editing them is on hold. See [Plan changes](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/pausing-and-plan-changes). ## Copying to the sheet stopped Not a sidebar message: the **Connect to sheet** tab in Live form settings says when and why. The reasons and what to do about each are in [Connect to sheet](https://skyfield.cloud/addons/choice-eliminator-live/docs/guides/connect-to-sheet). ## Something else [Contact us](https://skyfield.cloud/contact) with your form's live link and what the sidebar said. # Choice Eliminator Documentation Automatically remove individual answer choices from your Google Forms when they reach their limit. Ideal for sign-ups, reservations, and any form where each option has a capacity. ## Getting Started - [Getting Started](https://skyfield.cloud/addons/choice-eliminator/docs/getting-started) - Install and set up Choice Eliminator - [Features](https://skyfield.cloud/addons/choice-eliminator/docs/getting-started/features) - What Choice Eliminator does ## Guides - [Per-Choice Limits](https://skyfield.cloud/addons/choice-eliminator/docs/guides/per-choice-limits) - Set capacity for each option - [Apply to All](https://skyfield.cloud/addons/choice-eliminator/docs/guides/apply-to-all) - Set the same limit on every choice at once - [Shuffle & Closed Forms](https://skyfield.cloud/addons/choice-eliminator/docs/guides/shuffle-and-closed-forms) - How elimination interacts with Google Forms settings - [Response Limits](https://skyfield.cloud/addons/choice-eliminator/docs/guides/response-limits) - Close the whole form after a set number of responses - [Date & Time Limits](https://skyfield.cloud/addons/choice-eliminator/docs/guides/date-limits) - Open and close the whole form on a schedule - [Custom Close Message](https://skyfield.cloud/addons/choice-eliminator/docs/guides/close-message) - Customize what respondents see when the form closes - [Notifications](https://skyfield.cloud/addons/choice-eliminator/docs/guides/notifications) - Get an email when the form closes - [Pausing & Triggers](https://skyfield.cloud/addons/choice-eliminator/docs/guides/pausing-and-triggers) - Pause the add-on and manage Google's trigger limit ## Support - [FAQ](https://skyfield.cloud/addons/choice-eliminator/docs/support/faq) - Common questions and answers - [Pricing](https://skyfield.cloud/addons/choice-eliminator/pricing) - Plans and pricing - [Contact Us](https://skyfield.cloud/contact) - Get in touch # Getting Started Choice Eliminator automatically removes answer choices from your Google Forms when they reach their capacity. This guide walks you through installation and your first setup. ## Installation 1. :marketplace-link{addon="choice-eliminator"} from the Google Workspace Marketplace 2. Click **Install** and follow the prompts 3. Grant the necessary permissions ## Quick Start Once installed, Choice Eliminator appears in your Google Forms: 1. Open any Google Form that has a multiple-choice, checkbox, or dropdown question 2. Click the **Add-ons** (puzzle piece) icon → **Choice Eliminator** → **Start** 3. Open the **Choices** tab in the sidebar 4. Click a question and enter a limit for each choice 5. Click **Save** Each choice is removed from the form as soon as it reaches the limit. New respondents see only the choices that still have spots available. > **Working from a copied form?** Open Choice Eliminator once on the copy to activate it — Google doesn't carry the automatic choice removal over to copied forms. ## Next Steps - Learn about [all features](https://skyfield.cloud/addons/choice-eliminator/docs/getting-started/features) - Read the [per-choice limits guide](https://skyfield.cloud/addons/choice-eliminator/docs/guides/per-choice-limits) - Check out [pricing options](https://skyfield.cloud/addons/choice-eliminator/pricing) - Read the [FAQ](https://skyfield.cloud/addons/choice-eliminator/docs/support/faq) # Features Choice Eliminator is focused on a single job: keeping your multiple-choice questions in sync with real capacity. ## Per-Choice Limits Set a maximum for each individual answer choice in a multiple-choice, checkbox, or dropdown question. - Independent limit per choice - Works across multiple questions on the same form - Leave a limit at 0 to keep a choice unlimited [Learn more about Per-Choice Limits](https://skyfield.cloud/addons/choice-eliminator/docs/guides/per-choice-limits) ## Automatic Elimination Once a choice reaches its limit, it disappears from the form for new respondents. - Happens on every form submission - No manual intervention required - Choices reappear if you raise the limit or clear responses ## Apply to All Set the same limit on every choice in a question with one click. - Useful for uniform capacities (e.g. every class has 20 seats) - Reset a whole question back to unlimited by applying 0 [Learn more about Apply to All](https://skyfield.cloud/addons/choice-eliminator/docs/guides/apply-to-all) ## Orphan Choice Cleanup If you rename or delete a choice from the form, its tracked count sticks around so historical responses still make sense. Unused entries show up as "orphaned" in the sidebar with a delete button — clean them up when you're sure you don't need them. ## Works with Shuffled Options Google Forms' built-in option shuffling is compatible with Choice Eliminator. Choices are eliminated from the underlying question, so every respondent sees the live set regardless of order. [Learn more about Shuffle & Closed Forms](https://skyfield.cloud/addons/choice-eliminator/docs/guides/shuffle-and-closed-forms) ## Closed-Form Safety Choice Eliminator never mutates a form that isn't accepting responses. If you pause the form or it's still unpublished, the add-on waits until the form is live before touching choices. ## Clear Responses Export and reset your form responses to start fresh. - Export all responses to a Google Sheet - Delete responses from the form - Resets all choice counts and restores removed choices # Per-Choice Limits Per-choice limits are the core of Choice Eliminator. You give each option its own capacity, and the add-on pulls the option out of the form the moment that capacity is reached. ## Setting Limits 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Choice Eliminator** → **Start** 3. Open the **Choices** tab 4. Click a question to open the limits modal 5. Enter a number next to each choice (0 = unlimited) 6. Click **Save** ## Supported Question Types - Multiple Choice - Checkbox - Dropdown (List) ## How It Works After every form submission, Choice Eliminator compares each choice's current response count to its limit. If the count has hit the limit, the choice is removed from the form so new respondents can't select it. - Counts update as submissions come in - Removed choices reappear if you raise the limit or clear responses - If every choice in a question is at capacity, a "No spots available" placeholder is shown in its place ## Use Cases ### Classroom Sign-Ups Give each timeslot or workshop its own seat count. As each fills, only the remaining options stay visible. ### Appointment Booking List available appointment slots as choices. Each slot has capacity 1 (or your actual capacity) and disappears once booked. ### Potluck Coordination Assign each dish or item a limit. Prevents double-signups for the same thing. ### Equipment Reservations Use checkbox questions with per-item limits so each piece of equipment gets reserved only as many times as you have stock. ## Tips - Use the **Recount** button if you suspect the counts have drifted (e.g. after editing responses directly) - Leave a limit at 0 to keep a choice open indefinitely while others are capped - Restore a removed choice with the undo icon, provided its current count is below the limit - Combine per-choice limits with Google Forms' "Add other" option — "Other" responses are unlimited and don't count toward any choice limit # Apply to All When every choice in a question has the same capacity, you don't have to type the same number over and over. Use **Apply to All** to fill every choice in one step. **Apply to All is not a shared total.** It writes the same number into each choice's *own* limit, so applying 10 to five choices creates capacity for 50, not 10. If you want one pool of 10 shared across the whole question, use the [question total](https://skyfield.cloud/addons/choice-eliminator/docs/guides/question-total) instead. ## Using Apply to All 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Choice Eliminator** → **Start** 3. Open the **Choices** tab and click a question 4. Enter a number in the **Apply to All** field 5. Click the **Apply to All** button 6. Every choice in that question now shares the same limit 7. Click **Save** ## When to Use It ### Uniform Capacities Every option has the same capacity — classroom seats, ticket tiers, equipment kits. One number, one click, done. ### Quick Reset Enter 0 and click **Apply to All** to reset every choice in the question back to unlimited. ### Starting Point for Tweaks Apply a base limit to every choice, then adjust the outliers manually. Faster than filling each cell individually. ## Tips - Apply to All works per question — each question keeps its own settings - You can still change individual choice limits after applying - Combine with per-choice tweaks: apply a base number, then bump specific options up or down - Use 0 to clear limits without removing the question from Choice Eliminator entirely - Apply to All and the [question total](https://skyfield.cloud/addons/choice-eliminator/docs/guides/question-total) work together: apply a per-option ceiling to every choice, then set the total to the real capacity # Question Total A per-choice limit caps each option on its own. A **question total** caps the whole question: one shared pool of spots that every option draws from, however the sign-ups are distributed. That is the difference between *"20 seats in each workshop"* and *"30 seats across the whole day, whichever workshops people pick"*. You can set both at once. ## Setting a Question Total 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Choice Eliminator** → **Start** 3. Open the **Choices** tab and click a question 4. Click the pencil next to **Question Limit** 5. Turn on **Limit total spots for this question** 6. Set **Total spots for this question** 7. Click **Save** Turn the switch off for no total. The counter under the field shows how many spots are already taken. ## Show How Full the Question Is A question total is invisible to the people filling in your form — they only discover it existed when the options disappear. Turn this on and the count is added to the question's description, so they can watch it fill up. 1. In the same dialog, turn on **Show how full this question is** 2. Set **Show when this many spots remain** — the count stays hidden until the question is at least that close to full 3. Optionally write a description; the count is added to the end of it 4. Click **Save** Respondents then see something like: > Bring your own apron. (97/100) That is spots **taken** out of the total, not spots left. A figure like `3/100` is read almost everywhere as "3 of 100 done", so counting down would suggest a nearly-empty question when it is nearly full. The count is hidden entirely while the question is further from full than your threshold (set it to 0 to show from the very first response), once it is full — the "No spots available" message already says that — and whenever the add-on has paused the question, because the number would no longer be enforced. ### Your Description Stays Yours The add-on takes over the description while the count is on: your own text is kept and the count is added after it. Turn the switch off and your description comes back exactly as it was. If you edit that description in Google Forms rather than here, the add-on notices and **stops updating the count** instead of overwriting what you wrote. The sidebar then offers to use your Forms version — accept it and the count resumes on your new text. ## How It Works Both limits apply independently. An option stays on the form only while **both** are true: - the option is under its own limit, **and** - the question is under its total When the spots run out, every remaining option is removed and respondents see your "No spots available" message, exactly as they do when every option has filled individually. ## Checkbox Questions Use One Spot Per Tick On a **Checkbox** question a respondent can tick several options in one submission, and **each ticked option uses one spot**. A response that ticks 3 options uses **3** of your total, not 1. With a total of 30, that is 10 such responses, not 30. This is deliberate: the total counts claimed spots, not people, because that is what capacity means when someone can claim several things at once. Multiple Choice and Dropdown questions only allow one pick, so one response always uses one spot there. ## Question Total vs Apply to All These sit next to each other and do opposite things: - **[Apply to All](https://skyfield.cloud/addons/choice-eliminator/docs/guides/apply-to-all)** is a typing shortcut. It writes the same number into *each* option's own limit. Apply 10 to five options and you have created capacity for 50. - **Question total** is one shared budget. Set 10 and the five options share those 10 between them. If you want "each option gets 10", use Apply to All. If you want "10 in total, spread however people choose", use the question total. ## Combining the Two Limits Any combination is allowed. ### Caps Above the Total *30 seats overall, no more than 20 in any one workshop.* Set the total to 30 and each option's limit to 20. This is the most common shape — the per-option limits stop one option swallowing everything, while the total controls the real capacity. ### No Caps, Total Only *30 people, pick any slot.* Leave every option unlimited and set the total to 30. Any distribution is fine until the 30th spot goes. ### Caps Below the Total If every option is capped and those caps add up to less than the total, the total can never be reached and will never do anything. The sidebar points this out with a hint. It is harmless — nothing breaks, the total simply never applies — and it usually means either a cap or the total is not the number you intended. ## When Spots Free Up If you delete a response or raise the total, the freed spots come back on the **next recount** — when you next open the sidebar, or when the next response arrives. Google Forms does not tell add-ons when a response is deleted, so there is nothing to react to at the moment you delete it. You can force it immediately with the **Recount** button. ## Tips - The question total is independent of the form-wide response limit — one caps a question, the other closes the whole form - Lowering the total below the spots already taken closes the question immediately; raising it again reopens the options - Removed options come back on their own when spots free up, so there is no need to restore them by hand - Set a total of 1 to make a question a single-claim question, whichever option is chosen # Shuffle & Closed Forms Choice Eliminator is designed to sit quietly alongside your Google Forms configuration. Two settings are worth calling out: **shuffle question order / options** and **not accepting responses**. ## Shuffled Options Google Forms can shuffle the order of answer choices for each respondent. This is compatible with Choice Eliminator. Choice Eliminator works on the underlying choice list of the question, not on the order respondents see. When a choice hits its limit, it's removed from the question itself — so every respondent, regardless of order, sees the same live set of available options. - Elimination works the same with shuffle on or off - Removed choices are removed for everyone, not just for the next respondent in a particular order - Restoring a choice (by raising its limit or clearing responses) brings it back into the shuffle pool ## Closed or Unpublished Forms If your form isn't accepting responses — either paused manually or never published — Choice Eliminator won't mutate the form. Why? Google's Forms API rejects mutations on a form that isn't live. Rather than produce errors every time a submission arrives, Choice Eliminator checks whether the form is accepting responses before touching choices. If it isn't, the check is a no-op. ### What this means - Pausing a form: safe. Choice Eliminator won't interfere. - Unpublished forms (common for newly created Google Forms): safe. Choice Eliminator waits until you publish. - Reopening a form: elimination resumes on the next submission. The current counts are still tracked, so options that were already full remain removed. ## Other Form Settings - **Linked spreadsheet**: Choice Eliminator doesn't touch your linked spreadsheet. Any export / backup is a separate Google Sheet. - **"Add other" option**: Preserved. Custom "Other" responses are unlimited and don't count toward any choice limit. When every predefined choice is full, the "Other" option remains available instead of showing a "No spots available" placeholder. - **Quiz settings**: Unaffected. Point values and correct answers stay put. ## Tips - If you're preparing a form but not ready for respondents, keep it unpublished — Choice Eliminator won't fight you - Use the **Recount** button after reopening a long-paused form if counts look stale - If you've edited responses directly in the linked spreadsheet, a **Recount** rebuilds from the live form responses # Response Limits As well as per-choice limits, Choice Eliminator can cap the **total** number of responses your form accepts, then close the whole form automatically. ## Setting a Response Limit 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Choice Eliminator** → **Start** 3. On the **Form** tab, turn on **Limit by number of responses** 4. Enter your desired limit 5. Click **Save** ## How It Works Choice Eliminator tracks your form's total response count. When it reaches your limit, the form automatically: - Stops accepting new responses - Displays your custom close message - Sends you a notification (if enabled) ## Response Limit vs. Per-Choice Limits These do two different jobs, and you can use them together: - **Per-choice limits** remove individual options as they fill — the form stays open. - **Response limit** closes the **whole form** once the total count is reached. For example: give each option 20 seats *and* cap the whole form at 100 responses — whichever is hit first takes effect. ## Use Cases ### Event Registration Cap total registrations at your venue capacity while each session still has its own seat count. ### Contest Entries Accept only the first N entries. ## Tips - Set your limit slightly above your actual need to allow for invalid responses. - Combine with per-choice limits for forms that need both an overall cap and per-option capacity. - Enable notifications so you know immediately when your form closes. - Disable "Show link to submit another response" in Form Settings to avoid the final submitter seeing a confusing link after the form closes. # Date & Time Limits Alongside per-choice limits, Choice Eliminator can open and close your whole Google Form automatically at the dates and times you choose. ## Setting a Schedule 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Choice Eliminator** → **Start** 3. On the **Form** tab, turn on **Limit form by date** 4. Set an **Open date and time**, a **Close date and time**, or both 5. Click **Save** You can pick times in **5-minute steps** (for example 8:50, 9:15, 17:30) — you're not limited to whole hours. Set only a close time to close a form that's already open; set only an open time to keep a form closed until it should start; or set both for a fixed window. ## Timezone Handling Choice Eliminator uses your Google account's timezone. Make sure it's set correctly in your Google account so your form opens and closes at the times you expect. ## Minimum window When you set **both** an open time and a close time, they must be **at least 1 hour apart**. If you set them closer together, the add-on shows an error and won't save until you widen the window. This is a Google platform limit, not a Choice Eliminator choice: Google runs a Forms add-on's scheduled check **at most once per hour**, so a window shorter than an hour can't be enforced reliably. Setting only a close time (with no open time) has no minimum — the form simply closes at that time. ## How precise is it? The form opens or closes **at the time you set, or shortly after** — never before. Google runs the scheduled action through its own timer, usually within a minute of your set time, but it doesn't guarantee an exact-to-the-second moment — so allow for a small delay at the boundary. Choice Eliminator never closes a form **early**, so set your close time at (or a moment after) your real deadline. ## How It Works with Choice Limits The schedule closes the **whole form**; per-choice limits remove **individual options** as they fill. You can use them together — whichever applies first takes effect: - A choice hits its limit → that option disappears, the form stays open - The close time arrives → the whole form closes ## Use Cases ### Timed Sign-Up Windows Open a sign-up sheet at a set time and close it at another, while each option still respects its own capacity. ### Class or Event Registration Open registration at 8:50 and close it at 10:20 — the times you actually need, not just whole hours. ## Tips - Set your close time a few minutes after your real deadline to allow for last-minute submissions. - Enable notifications to confirm when your form opens and closes. - Need a window shorter than an hour, or exact-to-the-second control? That's on our roadmap for a dedicated hosted-form product — [contact us](https://skyfield.cloud/contact) if it's important to you. # Custom Close Message When your form closes — because it hit a response limit or reached its scheduled close time — respondents see a message. Choice Eliminator lets you customize it. ## Setting a Custom Message 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Choice Eliminator** → **Start** 3. On the **Form** tab, set a response limit or a schedule 4. Enter your custom message in the **Close message** field 5. Click **Save** ## Default Message If you don't set a custom message, respondents see Google's default: > "This form is no longer accepting responses." Note: this message shows when the **whole form** closes. When only an individual choice is eliminated (but the form is still open), respondents instead see the "No spots available" placeholder on that option. ## Writing Effective Close Messages ### Be Clear Tell respondents why the form is closed: - "Registration is full. Thank you for your interest!" - "The submission deadline has passed." ### Provide Alternatives Guide users to next steps: - "Spots filled! Join our waitlist at [link] " - "Applications closed. Follow us for future opportunities." ### Stay Professional Match your organization's tone — formal or friendly, as long as it's clear. ## Tips - Keep messages concise — respondents see this on a simple page. - Include contact info if respondents might have questions. - Preview the closed form to check how it reads. ## Character Limit Close messages support up to 500 characters — plenty for a clear, helpful message. # Notifications Get an email when your form reaches a limit or closes on schedule, so you don't have to keep checking. ## Enabling Notifications 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Choice Eliminator** → **Start** 3. On the **Form** tab, set a response limit or a schedule 4. Turn on the alerts you want: - **Notify when limit reached** — the form closed, by response limit or schedule - **Notify when a question is full** — one question stopped accepting answers - **Notify 24h before closing** — a reminder before a scheduled close 5. Enter the **Email address** to notify 6. Click **Save** Notifications cover **whole-form** events (response limit reached, scheduled close) and **whole-question** events (a question fills up and can no longer accept answers) — never individual choices being eliminated. Each has its own switch and each is off until you turn it on, so asking to hear that your form closed does not also sign you up for question alerts. One email per question, so a large signup can't flood your inbox. ## What You'll Receive When your form closes, you'll receive an email containing: - The form name - Why it closed (response limit or schedule) - The final response count - A link to view responses You can also opt in to a reminder **24 hours before** a scheduled close. ## Managing Notifications Emails go to the address you enter. By default that's the form owner's email. Use a Gmail address where possible — see the note below. ## Deliverability Notifications are sent through Google on behalf of your email address. If your domain has strict DMARC/SPF rules (common with custom domains, iCloud Mail, ProtonMail, or corporate email), messages may be rejected. Use a Gmail address for notifications to avoid this. ## Tips - Check your spam folder if you don't receive an expected notification. - Notifications are a quick confirmation that your limits are working. # Pausing & Triggers Choice Eliminator runs in the background using Google **triggers**. This guide explains how to pause the add-on on a form, what the trigger limit means, and how to free up room when you hit it. ## Pausing a Form Every form is either **Active** or **Paused**. Pausing stops all enforcement — choice elimination, response limits, and schedule — **without deleting your settings**. Turn it back on any time and everything resumes exactly as it was. 1. Open your Google Form 2. Open **Choice Eliminator** from the add-ons menu 3. On the **Form** tab, open **Add-on status** at the bottom 4. Toggle **Active** off to pause 5. Click **Save** When the add-on is paused, a banner appears at the top of the sidebar with a **Resume** button — one click puts it straight back to **Active**. Pausing affects the form for **everyone who can edit it** — it stops the add-on for the whole form, not just for you. Pausing never changes whether the form is currently open or closed; it only stops Choice Eliminator from acting. ## The Trigger Limit Google caps how many triggers Choice Eliminator can run for you, counted across **all** the forms it runs on. This is a Google limit, not a Choice Eliminator one, and the exact number is not something Google states for add-ons: the [Apps Script quotas page](https://developers.google.com/apps-script/guides/services/quotas){rel="nofollow"} documents 20 triggers per user per add-on, while add-ons currently get up to 50 in practice. Rather than ask you to trust either figure, Choice Eliminator shows your real usage and the ceiling it is working against. Two things to know: - The limit is **per add-on**, not per form. Every form Choice Eliminator runs on draws on the same allowance; any other add-on you use has its own separate one. - A form that uses **both** a submission-based feature (choice elimination or a response limit) **and** a schedule uses **two** triggers (one for submissions, one for the schedule). Those are the only two trigger types Choice Eliminator installs, and Google allows [one of each type per user per document](https://developers.google.com/workspace/add-ons/concepts/editor-triggers){rel="nofollow"}, so two is the most any single form can use. You can reach the limit well before you run out of forms. You can see where you stand under **Triggers** (for example `18 / 50`) in the status modal. When you are at the limit, a red banner reads **Choice Eliminator can't run: you're using all 50 triggers**, and the form's status shows **Needs a trigger** instead of running. ## Freeing a Trigger When you're at the limit, free up room by pausing a form you no longer use — pausing releases that form's trigger: 1. Open **Add-on status**, then open **Triggers** (or click **Manage triggers** on the red banner) 2. Under **Your other forms**, find one you no longer need and click the open-link to go to it 3. On that form, open **Choice Eliminator** and turn it off (**Paused**) — that frees its trigger With a trigger free, reopen the form that needed one — it installs its own trigger and starts running again. Your settings on the paused form are kept — set it back to **Active** whenever you want it running again. Pausing affects the form for **everyone who can edit it**. ## Shared & Co-edited Forms When a form has more than one editor, only **one** editor's copy of Choice Eliminator actively enforces it at a time. That copy "owns" the form's trigger; the other editors' copies stay dormant, so the form is never counted twice. If the editor who owns the trigger loses access to the form — for example, they're removed as an editor — another editor's copy **automatically takes over** the next time they open Choice Eliminator on that form. You don't need to re-save anything. **Pausing applies to everyone.** The **Active/Paused** toggle sets a shared flag on the form, so pausing stops enforcement for **all editors** instantly — no matter who owns the trigger — and frees your own trigger slot on this form. Resume turns it back on for everyone. ## Tips - Pausing is reversible and keeps everything — prefer it over turning off individual features when you just need a temporary stop. - If you manage many forms, watch the **Triggers** count so you're not surprised by the limit mid-term. - Scheduled forms cost two triggers — keep that in mind when planning how many forms to automate. # FAQ Common questions about Choice Eliminator features and usage. ## Getting Started #### What is Choice Eliminator? Choice Eliminator is a Google Forms Add-on that automatically removes answer choices from multiple-choice, checkbox, or dropdown questions when they reach a capacity you set. It's designed for sign-ups, reservations, and any form where each option has a limit. #### Is Choice Eliminator free? Choice Eliminator offers a 7-day free trial with full access to all features. No credit card required. After the trial, a paid subscription is required to continue using the Add-on. [View pricing](https://skyfield.cloud/addons/choice-eliminator/pricing). #### What happens to my form when my trial or subscription ends? Your settings are never deleted, and the per-choice limits you already set up keep working — choices are still removed as they reach capacity on every submission, exactly as configured. What needs a paid plan is *managing* limits: adding or changing them, and resuming a form you've paused. You can still turn the add-on off at any time, and Choice Eliminator never deletes your Google Forms or their responses. #### Can my school or organization pay by invoice instead of a card? Yes. For schools and organizations we can issue an invoice you can pay by bank transfer, and we can provide a quote for a purchase order. We can also provide a VAT-compliant invoice. [Contact us](https://skyfield.cloud/contact) with your details and we'll set it up. #### Do you offer a domain-wide license or school discounts? Yes. A domain license covers everyone in your Google Workspace domain under a single annual subscription with centralized billing — no per-user seats — usually the best fit for schools, universities, and companies rolling Choice Eliminator out organization-wide. Schools, universities, and non-profits can also request reduced pricing. See the Domain plan on the [pricing page](https://skyfield.cloud/addons/choice-eliminator/pricing), or [contact us](https://skyfield.cloud/contact) for a quote. #### Where can I download Choice Eliminator? Install directly from the Google Workspace Marketplace. No separate download required. #### How do I access Choice Eliminator? Open your Google Form, click the puzzle-piece icon (Add-ons), and select Choice Eliminator. The Add-on opens in a sidebar panel. #### Does Choice Eliminator work on published forms? Yes. Elimination happens on every form submission once the form is live. Counts already recorded against a choice continue to apply. #### Will it slow down Google Forms? No. Choice Eliminator works independently and doesn't impact Google Forms performance. #### What happens if I disable Choice Eliminator? When you disable the master toggle, elimination is paused. Your per-choice limits are preserved. Re-enable to resume. ## Choice Elimination #### Which question types are supported? - Multiple Choice - Checkbox - Dropdown (List) #### How do I set limits per choice? Open the Choice Eliminator sidebar, click a question, enter a limit for each choice, and click Save. Set 0 or leave blank for unlimited. #### Can I set the same limit for every choice in a question at once? Yes. Enter a number in the **Apply to All** field and click the button. This sets every choice in that question to the same limit. Use 0 to reset all choices to unlimited. #### What happens when a choice reaches its limit? The choice is removed from the form so new respondents can't select it. A "No spots available" placeholder appears if every choice in the question is removed. #### Can I restore a removed choice? Yes, if the current count is below the limit. Click the undo icon next to the removed choice. Choices at or above their limit show a lock icon instead. #### Why do I see choices that aren't on my form? Choice Eliminator tracks choices that have existing response data, even after you remove them from the form. This keeps historical counts consistent. #### How do I delete orphaned choices? Orphaned choices (0 responses, not on the form) show a delete button in the limits modal. Click it to permanently remove the tracking data. #### How accurate are choice counts? Counts are cached for performance and update on each form submission. Use the **Recount** button for a full recount if you suspect drift (e.g. after editing the linked spreadsheet directly). #### What happens with concurrent submissions? If two users submit simultaneously for the last available spot, both submissions are recorded but the choice is removed after the first one pushes it over the limit. This is the expected behavior — Choice Eliminator doesn't reject submissions, it removes choices for future respondents. If the last spot must only ever go to one person, that needs a [hosted form](https://skyfield.cloud/addons/choice-eliminator-live/docs), where each submission claims its spots at the moment it is submitted. #### Is there a limit on how many choices a question can have? Yes. Google Forms enforces a platform maximum of around 500 choices per question. If your question has more choices than this, Choice Eliminator will use only the first 500. This is a Google Forms platform limitation, not a Choice Eliminator restriction. #### Does elimination work with the "Add other" option? Yes. If your multiple-choice or checkbox question has "Add other" enabled, elimination preserves it. Custom "Other" responses are unlimited and don't count toward any choice limit. When all predefined choices reach their limits, the "Other" option remains available instead of the "No spots available" placeholder. #### Does elimination work with Google Forms' shuffle options setting? Yes. Elimination operates on the underlying question, not on the shuffled order each respondent sees. Every respondent sees the same live set of remaining options regardless of shuffle. #### What happens if the form isn't accepting responses? Choice Eliminator won't mutate a form that isn't live. Paused or unpublished forms are safely ignored until they reopen — your counts and limits stay put. ## Response Limits #### How does the response count limit work? Set a maximum number of **total** responses. When reached, the whole form automatically closes and shows your custom message. The count updates in real-time as responses come in. This is separate from per-choice limits — see [Response Limits](https://skyfield.cloud/addons/choice-eliminator/docs/guides/response-limits). #### Can I increase the limit after the form closes? Yes. Raise the maximum responses value and the form reopens automatically if your current count is below the new limit. #### How accurate is the response count? The count updates within seconds of each submission. Simultaneous submissions are handled correctly — each increments the count atomically. ## Scheduler #### How does scheduling work? Set an open time, a close time, or both. The form only accepts responses during that window: - Before the open time: form stays closed - Between: form accepts responses - After the close time: form closes automatically #### How precise is the open/close time? Choice Eliminator schedules the open and close to run at the times you set (in 5-minute steps). Google's timer runs the action on time or shortly after — usually within a minute, and never early. Set your close time at (or just after) your real deadline to allow for that small delay. #### Why must open and close be at least an hour apart? When you set both an open and a close time, they must be at least 1 hour apart. Google runs a Forms add-on's scheduled check at most once per hour, so a shorter window can't be enforced reliably. Setting only a close time has no minimum. ## Notifications #### What notifications can I get? An email when the form closes (by response limit or schedule), plus an optional reminder 24 hours before a scheduled close. #### Why am I not receiving notifications? Check your spam folder first. Notifications are sent through Google on behalf of your email address, so a strict DMARC/SPF domain (custom domains, iCloud Mail, ProtonMail, corporate email) may reject them — use a Gmail address to avoid this. ## Clear Responses #### What does "Clear responses" do? It exports all form responses to a new Google Sheet, then deletes them from the form. This resets your form for reuse — choice counts go to 0 and removed choices are restored. #### Where is the export saved? A new Google Sheet is created in your Google Drive with the name " [Form Title] - Backup - [Date] ". #### Is this the same as the linked spreadsheet? No. If your form has a linked spreadsheet, that data remains untouched. The export creates a separate backup sheet. #### What if I have no responses? The modal shows an informational message explaining the feature. No action is available until you have responses to clear. #### Can I undo a clear? No. Once responses are deleted from the form, they cannot be restored. However, your data is preserved in the exported Google Sheet. #### "Clear responses" failed with an error — did I lose my responses? No. Choice Eliminator always creates the backup Google Sheet *before* it deletes anything from the form. If the export fails partway — for example a Google Drive storage-quota or a temporary rate-limit error — nothing is deleted and all your responses stay in the form. Free up Google Drive space (or wait a minute for a temporary error to clear) and try again. ## Troubleshooting > **Installing, account, and device questions** — finding or opening the Add-on, the wrong Google account showing, multiple editors, and mobile support — are answered in our [Common Questions](https://skyfield.cloud/common-questions). #### The Questions tab is slow on my form The Questions tab reads every question's title from Google when it opens. Expect one to two seconds per ten questions. A form at Google's limit of 300 questions can take a minute. If a **Try again** button appears, the list is still on its way and fills in on its own. Try again does not start over. Questions that already have a limit open instantly. Opening a question with no limit yet takes a few seconds. Limits are enforced on every submission whether the sidebar is open or not. A slow tab never means your form is unprotected. #### Why are my choice counts wrong? Choice counts are cached. Click **Recount** in the sidebar for a full recount from all responses. #### A choice I removed from the form is still showing in Choice Eliminator Choice Eliminator keeps tracking choices that have response data, even after you remove them. If you don't need them anymore, use the delete button next to the orphaned choice in the limits modal. #### My form didn't eliminate a choice even though it hit the limit Check whether the form is accepting responses. Choice Eliminator won't mutate a paused or unpublished form. Reopen the form and the next submission will trigger elimination. #### I copied a form and elimination stopped working When you make a copy of a Google Form, Google copies your questions and your Choice Eliminator settings, but it does **not** carry over the background trigger that removes choices on each submission — a Google Forms limitation with copies. Just open Choice Eliminator once on the copied form to re-activate it. You only need to do this once per copy, and you don't need any responses first. #### Elimination stopped on some forms and I see a message about triggers Google caps how many background triggers you can have across all the forms Choice Eliminator runs on. The [Apps Script quotas page](https://developers.google.com/apps-script/guides/services/quotas){rel="nofollow"} documents 20 per user per add-on; add-ons currently get up to 50 in practice, and the **Triggers** meter in the status modal shows your real usage against that ceiling. When you reach it, a new form can't run automatically, and Choice Eliminator shows a banner: "Choice Eliminator can't run: you're using all 50 triggers." To free up a slot, open a form you no longer need and turn Choice Eliminator off there, then reopen it on the form you want active. #### Can I edit or delete my settings? Yes. All limit settings are fully customizable and can be removed anytime through the Add-on interface. ## Permissions & Privacy #### Is my form data stored externally? No. All settings are stored at Google. Choice Eliminator does not transmit your form data or responses to external servers. #### Can Choice Eliminator read all my forms? No. The Add-on uses the "currentonly" scope, meaning it can only access the specific form you opened it from. #### Is my data shared with third parties? No. We never sell or share your data with third parties. ## Still have questions? [Contact Us](https://skyfield.cloud/contact) # Paused choice elimination If the Choice Eliminator sidebar shows a **"paused"** banner — or you get an email about paused choice elimination — it means Choice Eliminator detected a Google Forms setting on one of your questions that conflicts with choice elimination, and has paused the feature on that question until the conflict is resolved. The good news: nothing is broken. Your form responses are safe, the rest of your Choice Eliminator settings continue to work, and choice elimination **auto-resumes** the moment the conflict is gone. You don't have to remember to come back and re-enable it. The trade-off: **while paused, the question's limit isn't enforced** — respondents can keep selecting options that have hit their cap. The banner, the question's row, and the email tell you exactly which question and (when we can detect it) which specific choice is the source. ## Why this happens Choice Eliminator applies choice limits by replacing the question's choice list with a smaller, filtered list (excluding choices that have hit their limit). When a question has **per-option branching** wired up — *"Go to section based on answer"* in Google Forms — that rewrite would silently destroy the routing. Rather than overwrite your form without asking, Choice Eliminator pauses elimination on that question and flags it so you can decide how to proceed. We tested every other setting we could think of (quiz mode + answer keys + per-item feedback, response validation rules, required toggles) and **none of them cause this failure** — per-option branching is the only known trigger. If the diagnosis says "branching" you can trust it. If it says "unknown," please contact support so we can document the cause. ## How to resolve it from the sidebar Open Choice Eliminator in the form and go to the **Questions** tab. You'll see: - A thin **banner** at the top — a count of how many questions are paused (or at risk). - The affected question's **row** turns red with an **"Elimination paused"** label. (A question that has branching *and* a configured limit but hasn't broken yet shows an amber **"Possible conflict"** instead — same fix applies.) Open the question — click its row — to get the resolution panel at the top of its editor: - **Remove branching** *(destructive — only shown when per-option branching is the cause)* — strips per-option routing from the question and resumes elimination. The choices and their order are preserved; only the routing wiring is gone. You're asked to confirm first — **this can't be undone from inside Choice Eliminator**, because Google Forms doesn't expose an "undo" for it. There's no "Resume" button — none is needed. Once the branching is gone (whether you remove it here or fix the form yourself), choice elimination **auto-resumes on the next response** and the banner, row, and panel clear on their own. When the diagnosis is "unknown" the panel has no one-click fix, only a link to this page — fix the form and elimination resumes the same way. To **stop limiting** the question entirely, clear its choice limits (set them to `0`) in the same editor. Your limits on other questions are unaffected. ## Or fix it in Google Forms yourself If you'd rather keep control of the form's wiring, edit the affected question in [forms.google.com](https://forms.google.com){rel="nofollow"}: 1. **Identify the affected question** — the banner, the question's row, and the email name it for you, including the specific choice that carries the branching. 2. **Remove the per-option branching:** - Click the question, then click the **⋮** menu at the bottom-right of the question card. - If **"Go to section based on answer"** is checked, uncheck it. That's the conflict. - To preserve some routing logic, configure it at the section level using a page break instead — per-option branching and choice elimination are fundamentally incompatible. 3. **Return to the form's normal use.** On the next response, Choice Eliminator auto-resumes and the question's row returns to normal. No need to click anything. ## What if I want to keep the branching? Per-option branching and choice elimination are fundamentally incompatible — elimination removes options as they're picked, and branching needs the options to stay put so the routing rules can fire. Pick one: - **Drop choice elimination on that question** — clear its choice limits in the question's editor. Your limits on other questions keep working. - **Move the branching to the section level** — add a page break after the question and route at the page break instead of at each option. Choice elimination then operates freely. ## I don't see the branching setting If you can't find per-option branching ("Go to section based on answer") on the affected question and it still shows as paused, the conflict might be something we haven't documented yet — every Google Forms setting we've tested *other* than branching turns out to be harmless. Please reach out to support with your form's edit URL so we can investigate. The in-product diagnosis will say "unknown" in this case. [Contact support](https://skyfield.cloud/contact) # Dynamic Form Choices Documentation Connect a multiple choice, dropdown, or checkbox question and Dynamic Form Choices gives it a tab in your form's options sheet. You type the options in column A and the capacities in column B; the add-on writes the options into the form and the live sign-up counts into column C. ## Getting Started - [Getting Started](https://skyfield.cloud/addons/dynamic-form-choices/docs/getting-started) - Install and connect your first question - [Features](https://skyfield.cloud/addons/dynamic-form-choices/docs/getting-started/features) - Overview of what Dynamic Form Choices can do ## Guides - [Connecting a Question](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/connecting-a-question) - The options sheet, its three columns, and how connect and disconnect work - [Keeping Choices in Sync](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/keeping-in-sync) - When syncs run, what they write, and what happens when one fails - [Advanced: Options From Another Spreadsheet](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/another-spreadsheet) - Feed column A from a roster you already maintain, with a formula ## Support - [FAQ](https://skyfield.cloud/addons/dynamic-form-choices/docs/support/faq) - Common questions and answers - [Paused Capacity Limits](https://skyfield.cloud/addons/dynamic-form-choices/docs/support/choice-update-errors) - Why capacity stops being enforced on a question, and how to fix it - [Contact Us](https://skyfield.cloud/contact) - Get in touch # Getting Started Dynamic Form Choices runs your choice questions from a spreadsheet it creates for you. This guide takes you from install to your first connected question. ## Install the Add-on 1. :marketplace-link{addon="dynamic-form-choices"} from the Google Workspace Marketplace 2. Click **Install** and grant the requested permissions 3. Open the Google Form you want to work on The add-on asks for access to the form you use it on and to the files it creates. It never reads the rest of your Drive, and it never reads any spreadsheet other than the options sheet it makes for your form. ## Connect Your First Question 1. In your form, click the **Add-ons** (puzzle piece) icon → **Dynamic Form Choices** → **Start** 2. Open the **Questions** tab. It lists every multiple choice, dropdown, and checkbox question on the form 3. Click a question to open it, then press **Connect question** That is the whole setup. On the first connect the add-on creates a spreadsheet in your Drive called **- Dynamic Form Choices**{form="" title=""} and gives the question a tab of its own, seeded with the options the question already has. Every question you connect after that gets another tab in the same sheet. ## Your Three Columns Each tab has a fixed layout, and each column has exactly one owner: | Column | Owner | What it holds | | -------------- | ---------- | -------------------------------------------------------- | | **A Options** | you | One option per row. This is what the form will offer | | **B Capacity** | you | Optional per-option limit for the option on the same row | | **C Taken** | the add-on | How many people have picked that option so far | The add-on never overwrites column A or column B. You never need to touch column C. Leave the header row alone. Row 1 must keep reading `Options`, `Capacity`, `Taken` in English, in every language: the add-on uses `Options` in cell A1 to check that the tab is still intact. ## Edit the Sheet, Not the Form 1. Press **Open {tab name}** in the question, or use the cog's **Open the options sheet**, to jump straight to the tab 2. Type or paste your options into column A 3. Put a number in column B beside any option you want to cap. Leave the cell blank for unlimited 4. The next sync writes column A into the form and fills column C with live counts From here on, the sheet is the source of truth. If you edit the question's options in the form editor instead, the next sync overwrites them. ## When It Syncs Connected questions sync when you open the sidebar, once an hour, on every form submission, and whenever you press **Sync all questions** in the cog menu. Nothing needs to stay open. Next: [Connecting a Question](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/connecting-a-question) for the details, or [Features](https://skyfield.cloud/addons/dynamic-form-choices/docs/getting-started/features) for the full overview. # Features ## One Options Sheet per Form The first time you connect a question, Dynamic Form Choices creates a single spreadsheet in your Drive named after your form, **- Dynamic Form Choices**{form="" title=""}. Every question you connect gets its own tab in that one file, so the whole form is administered from one place. The sheet mirrors your connections: connect a question and its tab appears, disconnect it and the tab goes away. Disconnecting the last question leaves the spreadsheet in your Drive with **(disconnected)** added to its name. ## Options in Column A Column A is the question's option list, one option per row. Type them, paste them, or feed them with a formula. On the next sync the add-on writes them into the form. Values are cleaned up on the way in: - Leading and trailing whitespace is trimmed and blank rows are skipped - Duplicates are removed, case-insensitively (Google Forms cannot offer "Red" and "red" as separate options) - An **"Other"** option on the question is preserved - Google Forms allows at most 500 options per question, so longer lists are cut to the first 500 unique values ## Capacity in Column B Column B caps the option sitting on the same row: - **Blank** (or any non-number) means unlimited, so you only cap the rows you care about - **A number** is that option's maximum number of sign-ups. Once it is reached, the option is removed from the form automatically - **0** keeps the option closed. It is never offered, but its row stays in your sheet - **Raise the number** and the option comes back on the next sync Capacities are matched to options by row, not by name, so B5 caps whatever option sits in A5. If every option on a question is full or closed, the question falls back to a single "No spots available" placeholder until something reopens. Options are removed automatically when they fill up, usually within seconds of the response that fills them. Google runs form triggers on its own timer and does not guarantee an exact moment, so an occasional slower run is normal. This applies to every add-on working on a native Google Form. Inside that window two people can still take the same last spot. If you need limits that hold in that race, that needs a [hosted form](https://skyfield.cloud/addons/choice-eliminator-live/docs) rather than a native Google Form. ## Live Counts in Column C Column C is the add-on's. After every submission it writes the current number of sign-ups for each option, row by row, so the sheet doubles as a live dashboard. There is nothing to configure and no formula to maintain. ## Everything Syncs Itself Connected questions sync: - when you open the sidebar - once an hour in the background, whether or not the form is open - on every form submission - whenever you press **Sync all questions** in the cog menu Hourly is the fastest background schedule Google allows for forms add-ons. Press **Sync all questions** when you want an edit to land right away. ## Per-File Access The add-on works under Google's per-file Drive permission. It can see the options sheet it created for your form and nothing else, not your other spreadsheets and not the rest of your Drive. Classic Form Ranger style add-ons ask to read every spreadsheet you own; this one does not. ## Options From Another Spreadsheet If your list already lives somewhere else, leave it there and pull it into column A with `=IMPORTRANGE()`. The sync reads whatever the formula resolves to, so your form follows the source without the add-on ever getting access to it. See [Advanced: Options From Another Spreadsheet](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/another-spreadsheet). ## Form-Level Limits Too Dynamic Form Choices also carries [Form Limiter](https://skyfield.cloud/addons/form-limiter/docs)'s form-level controls on the **Form** tab: a total response limit, a scheduled open and close date, a custom closed message, email notifications (including an alert when a question fills up), and a QR code for sharing the form. ## Safe Failure Behavior A sync that cannot complete leaves the question exactly as it was and reports what happened in the sidebar. A broken formula, an emptied column, or a wrecked tab layout never results in a broken or empty question. See [Keeping Choices in Sync](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/keeping-in-sync) for each case. # Connecting a Question Connecting a question hands its option list to a spreadsheet. This guide covers what that spreadsheet is, how its columns work, and how to undo it. ## Connect a Question Open the **Questions** tab in the sidebar, click a question, and press **Connect question**. The first connect on a form creates one spreadsheet in your Drive, named **- Dynamic Form Choices**{form="" title=""}, and gives the question a tab of its own. The tab is seeded with the options the question already has, so nothing is lost when you connect an existing question. Every later connect adds another tab to that same spreadsheet. There is no file to pick and no dialog to fill in. The add-on creates the sheet itself, which is also why it never needs access to the rest of your Drive. ## The Options Sheet One spreadsheet per form, one tab per connected question. You can reach it two ways: - **Open {tab name}** inside a connected question, which jumps straight to that question's tab - **Open the options sheet** in the cog menu, which opens the file Tab names follow the question title. If you rename the tab by hand, your name wins and the add-on stops renaming it. ## The Three Columns Every tab has the same fixed layout, and each column has exactly one owner: | Column | Owner | What it holds | | -------------- | ---------- | ------------------------------------------------------ | | **A Options** | you | One option per row, in the order you want them offered | | **B Capacity** | you | Optional limit for the option on the same row | | **C Taken** | the add-on | Current number of sign-ups for that option | The add-on writes column C and nothing else. It never overwrites what you put in column A or column B, and it never reads any spreadsheet other than this one. ### Column A: Options One option per cell, starting in row 2. Blank rows are skipped and case-insensitive duplicates are dropped, so a slightly untidy list is fine. ### Column B: Capacity A number in B5 caps whatever option sits in A5. Capacities are matched **by row**, not by name. - Blank means unlimited - `0` keeps the option closed without deleting its row - Any other number is the maximum number of sign-ups; when it is reached the option is removed from the form automatically - Raising the number brings the option back on the next sync ### Column C: Taken Written by the add-on after every submission. Leave it alone; anything you type there is replaced on the next sync. ## Keep the Header Row Row 1 holds `Options`, `Capacity`, and `Taken`, and these headers stay in **English in every language**. The add-on checks that cell A1 still reads `Options` before it writes anything, which is what stops a shifted or deleted column from pushing capacity numbers into your form as options. If A1 says anything else, that question's sync stops with a layout error and the question keeps the options it already has. Put the header back, or disconnect the question. ## Edit in the Sheet, Not in the Form Once a question is connected, the sheet is the source of truth. Editing the question's options in the Google Forms editor works until the next sync, which overwrites them from column A. The sidebar says as much on every connected question. ## Disconnect a Question Open the question in the sidebar and press **Disconnect question**. You are asked to confirm first, because: - the question's tab is **deleted** from the options sheet, capacities included - the question gets its full option list back, including anything capacity had removed - capacity limits and syncing stop for that question Deleted tab data is recoverable from the spreadsheet's version history in Google Sheets. Disconnecting the **last** connected question keeps the options sheet in your Drive and adds **(disconnected)** to its name. Columns A and B are your own work, so the add-on never bins the file; it simply stops tracking it, and connecting a question again starts a brand new options sheet. If you had added extra tabs of your own, only the add-on's tab is removed and the file carries on unchanged. Connecting the question again starts a fresh tab, seeded from the question's current options. ## Deleting From the Sheet Side The mirror runs both ways, so you can also disconnect from the spreadsheet: - **Delete a question's tab** and that question is disconnected on the next sync. Its full option list is restored, capacity limits and syncing stop, and the sidebar shows a notice on the row explaining that the tab was deleted. You can dismiss the notice, or press **Connect question** to reconnect with a fresh tab - **Delete or trash the whole options sheet** and every question on the form is disconnected. There is no confirmation prompt here, because these syncs run in the background with nobody watching Recovery is Google's own: restore the file from Drive trash within 30 days, or use Sheets version history for tab contents. Note that a restored file is no longer the one the add-on is tracking, so the next connect starts a new options sheet. ## A Few Practical Tips - One tab per question. To feed several questions, connect each one and fill in its own tab - Keep column A a simple vertical list starting at row 2 - Renaming an option's text starts its count from zero, because counts are tied to the exact text. Fix typos before you share the form, not mid-rush - If your options already live in another spreadsheet, do not retype them. See [Advanced: Options From Another Spreadsheet](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/another-spreadsheet) # Keeping Choices in Sync Once a question is connected there is nothing to switch on. Syncing is automatic, and the sidebar tells you when it last ran. ## When a Sync Runs - **When you connect a question**, immediately - **When you open the sidebar**, quietly, so edits you made in the sheet are already in the form by the time you look - **Every hour**, in the background, whether or not the form or the sidebar is open - **When you press "Sync all questions"** in the cog menu A form submission does **not** sync the question. It only refreshes the Taken counts in column C, so an option you add to the sheet reaches the form on the next hourly sync or the next time you open the sidebar. Hourly is the fastest background schedule Google allows for forms add-ons, so a sheet edit can take up to an hour to appear on its own. Press **Sync all questions** if you want it now. If the add-on is paused on the **Form** tab, background syncs stop as well; a form that says "Paused" should not have an hourly job rewriting its questions. Pressing **Sync all questions** yourself still works, because pressing it is the intent. ## What a Sync Writes A sync reads columns A and B of the question's tab and then: 1. Replaces the question's options with column A, after trimming whitespace, dropping blank rows, removing case-insensitive duplicates, and cutting the list to Google Forms' limit of 500 options. An **"Other"** option on the question is kept 2. Stores each row's capacity from column B as that option's limit 3. Rewrites column C with the current number of sign-ups per option The sidebar row then shows the option count, how many are full, and the time of the last sync. ## Capacity: Options That Close Themselves With a number in column B, the add-on watches responses as they come in: - When an option reaches its capacity it is **removed from the form automatically**, usually within seconds of the response that filled it. Google runs the trigger on its own timer and does not guarantee an exact moment, so an occasional slower run is normal, and this applies to every add-on on a Google Form. Two people racing for the last spot inside that window can both take it, so treat capacity as "options are removed when they fill up", not as a hard guarantee. If you need limits that hold in that race, that needs a [hosted form](https://skyfield.cloud/addons/choice-eliminator-live/docs) rather than a native Google Form - **Raise the number** in column B and the option comes back on the next sync - **Set it to 0** to close an option from the sheet without deleting its row - If **every** option is full or closed, the question shows a single "No spots available" placeholder until something reopens Two things to keep in mind: - **Capacities are matched by row.** The number in B5 caps whatever option sits in A5. Reordering column A without reordering column B moves every cap to the wrong option - **Renaming an option starts it fresh.** Counts are tied to the exact option text, so renaming "Robotics Lab" to "Robotics 101" restarts that option at zero sign-ups ## When a Sync Fails A sync never leaves a question broken. If it cannot complete, the question keeps its current options and the sidebar shows the reason on that row: - **"The Options column is empty"** - column A has no usable values, so the question was left alone. Add options and sync again - **"This tab's layout changed (column A must be 'Options')"** - cell A1 no longer reads `Options`, usually because a column was inserted or deleted. Repair the tab or disconnect the question. The add-on stops here on purpose, rather than writing your capacity numbers into the form as options - **"The Options column contains a formula error"** - a cell resolves to something like `#REF!` or `#N/A`, typically a broken or unauthorized `=IMPORTRANGE()`. The error text is never written into the form as a choice. Fix the formula in the options sheet and sync again - **"Column A uses IMPORTRANGE and shows #REF!"** - the erroring cell holds an `=IMPORTRANGE()`, and the usual cause is an **Allow access** prompt that was never clicked. Sheets only shows that prompt while the formula cell is selected, so click **A2** in the options sheet, allow access, and sync again. See [Options From Another Spreadsheet](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/another-spreadsheet) - **"Can't read the options sheet"** - the file is gone or the add-on lost access. Check whether it is still in your Drive - **"Temporary Google error"** - try again in a moment; the hourly sync will retry on its own - **"Couldn't update the question"** - Google Forms refused the write. This usually means the question has answer validation or branching tied to specific options. Review the question in the form editor. Capacity on that question is paused until it is resolved, and you may get an email about it: see [Paused Capacity Limits](https://skyfield.cloud/addons/dynamic-form-choices/docs/support/choice-update-errors) Note that a question whose **tab** was deleted is not an error. It is treated as a disconnect, with its own notice on the row. See [Connecting a Question](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/connecting-a-question). ## Copies of Your Form If you copy a form ("Make a copy" in Drive), the connections copy with it, but Google never copies background schedules. Open the Dynamic Form Choices sidebar once in the copy, or run any sync, and the hourly schedule is restored automatically. One caution: a copy inherits the original form's options sheet rather than getting one of its own, so anything you do from the copy can reach the spreadsheet the original is using. If you want a clean start, build the copy's questions from a form that has nothing connected yet. # Question Total Column **B Capacity** caps each option on its own. A **question total** caps the whole question: one shared pool of spots that every option draws from, however the sign-ups are distributed. *"20 seats in each workshop"* is column B. *"30 seats across the whole day, whichever workshops people pick"* is the question total. You can use both together. ## Where Each Limit Lives This is the one setting that is **not** in the options sheet: | Limit | Where you set it | Where the count comes from | | ----------------------------- | ---------------------------------- | -------------------------- | | Per-option capacity | Column **B** of the question's tab | Column **C**, per row | | **Total across the question** | **The sidebar**, on the question | The sum of column **C** | The tab's layout is fixed at **A Options | B Capacity | C Taken** so the add-on always knows what it is reading. A stray control cell somewhere on the sheet would be easy to move, overwrite or delete by accident, and the question would silently lose its limit. The total lives in the add-on's own settings instead, where nothing can dislodge it. The count is still the sheet's: your total is measured against the sum of column C, so the spreadsheet remains the place to see what has been claimed. ## Setting a Question Total 1. Open the **Questions** tab in the sidebar 2. Click a connected question 3. Click the pencil next to **Question Limit** 4. Turn on **Limit total spots for this question** 5. Set **Total spots for this question** 6. Click **Save** Turn the switch off for no total. ## Show How Full the Question Is A question total is invisible to the people filling in your form — they only discover it existed when the options disappear. Turn this on and the count is added to the question's description, so they can watch it fill up. 1. In the same dialog, turn on **Show how full this question is** 2. Set **Show when this many spots remain** — the count stays hidden until the question is at least that close to full 3. Optionally write a description; the count is added to the end of it 4. Click **Save** Respondents then see something like: > Bring your own apron. (97/100) That is spots **taken** out of the total, not spots left. A figure like `3/100` is read almost everywhere as "3 of 100 done", so counting down would suggest a nearly-empty question when it is nearly full. The count is hidden entirely while the question is further from full than your threshold (set it to 0 to show from the very first response), once it is full — the "No spots available" message already says that — and whenever the add-on has paused the question, because the number would no longer be enforced. ### Your Description Stays Yours The add-on takes over the description while the count is on: your own text is kept and the count is added after it. Turn the switch off and your description comes back exactly as it was. If you edit that description in Google Forms rather than here, the add-on notices and **stops updating the count** instead of overwriting what you wrote. The sidebar then offers to use your Forms version — accept it and the count resumes on your new text. ## How It Works Both limits apply independently. An option stays on the form only while **both** are true: - the option is under its own capacity in column B, **and** - the question is under its total When the spots run out, every remaining option is removed and respondents see your "No spots available" message. This is enforced after every submission **and** on every sync. That second part matters here: a sync rewrites the question's options from column A, so without it an hourly sync would put a sold-out question back on the form until the next response arrived. ## Checkbox Questions Use One Spot Per Tick On a **Checkbox** question a respondent can tick several options in one submission, and **each ticked option uses one spot**. A response that ticks 3 options uses **3** of your total, not 1. That matches column C, which also counts one per ticked option. Multiple Choice and Dropdown questions only allow one pick, so one response always uses one spot there. ## Combining the Two Limits - **Capacities above the total** — *30 seats overall, no more than 20 per workshop.* Column B holds 20 for each row, the total is 30. The most common shape. - **No capacities, total only** — *30 people, pick any slot.* Leave column B blank and set the total to 30. - **Capacities below the total** — if every row is capped and those caps add up to less than the total, the total can never be reached. Harmless, but usually a sign that one of the numbers is not what you meant. The sidebar flags it. ## Editing the Sheet Does Not Clear the Total Adding, removing or re-capping rows in the options sheet only changes the per-option capacities. Your question total survives every sync, including the automatic hourly one. Changing it is a sidebar action. ## When Spots Free Up Deleting a response or raising the total frees spots, and the options come back on the **next recount** — the next sync, or the next response. Google Forms does not tell add-ons when a response is deleted, so nothing happens at the moment you delete it. ## Tips - Disconnecting a question clears its total along with the rest of its settings - Pausing the add-on stops enforcement of both limits, since it removes the sync trigger too - A total of 1 makes the question a single-claim question, whichever option is picked - To see what has been claimed per option, read column C; to see it against the total, open the question in the sidebar # Advanced: Options From Another Spreadsheet Your options sheet is the single place the add-on reads from: you type options in column A, capacities in column B, and the add-on writes sign-up counts into column C. Nothing else on your Drive is touched. If the list you want already lives in another spreadsheet (a roster, an inventory, a sheet someone else maintains), you don't have to retype or copy it. Point column A at that sheet with a formula, and your form follows it. ## The Formula Open your options sheet and go to the question's tab. Connecting seeded column A with the question's current choices, so first **clear everything in column A below the header**. A formula fills the cells below it as it expands, and it stops with `#REF!` if any of those cells is occupied. Then click cell **A2** and enter: ```text =IMPORTRANGE("https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/edit", "Sheet1!A2:A") ``` Replace the URL with your source spreadsheet's, and `Sheet1!A2:A` with the tab and column holding your options. Start the range at row 2 if your source has a header row. The first time you do this, the cell shows `#REF!`. Pressing Enter moved your selection one row down, and Sheets only shows the **Allow access** prompt while the formula cell is selected, so click **A2** again to bring it up. Click **Allow access** once and the values appear. The grant is per pair of spreadsheets, and the prompt only shows to someone who can open both. Leave **A1** as `Options`. The add-on checks that header to be sure the tab's layout is intact, and syncing stops if it changes. ## What Happens Next Nothing else changes. Your form syncs on the normal schedule (when the sidebar opens and every hour), and each sync reads whatever the formula currently resolves to. Edit the source spreadsheet and the new values reach your form on the next sync. ## Capacities Need a Second Look Capacities in column B are matched to options **by row**: the number in B5 caps whatever option sits in A5. A hand-typed list doesn't move, so this is invisible in normal use. A formula-fed list can: if rows are inserted, removed, or re-sorted in the source, the options shift and your capacities stay where they were, attached to the wrong rows. Two ways to stay safe: - Add or remove rows at the **end** of the source list rather than in the middle - After any reordering, open the options sheet and check that each capacity still sits beside the right option If you don't use capacities at all, none of this applies. ## When the Formula Breaks If access is revoked, the source file is deleted, or the range becomes invalid, the cell resolves to an error like `#REF!` or `#N/A`. The add-on will **not** write that into your form. The sync stops, the question keeps the options it already has, and the sidebar shows a sync error telling you to fix the options sheet. Open the sheet, repair the formula, and sync again. When the erroring cell holds an `IMPORTRANGE`, the sidebar says so and points you back to the **Allow access** prompt, because a grant that was never given looks exactly like a broken formula. Click **A2** in the options sheet, allow access if the prompt appears, and sync again. ## Why a Formula Instead of a Picker Connecting to outside spreadsheets from inside the add-on would mean granting it access to those files, and it would make the options sheet mean two different things depending on a setting you can't see when you're looking at it. A formula keeps one rule true: **you own Options and Capacity, the add-on owns Taken**, and the add-on never reads any spreadsheet except the one it created for your form. # Frequently Asked Questions ## Which question types can I connect? Multiple choice, dropdown, and checkbox questions, so anything in Google Forms with a list of options. Grid questions are not supported. ## Where does the spreadsheet come from? The add-on creates it. The first time you connect a question on a form, it makes a spreadsheet in your Drive called **- Dynamic Form Choices**{form="" title=""} and gives that question a tab. Every question you connect afterwards gets another tab in the same file. There is no file to pick. ## Why doesn't Dynamic Form Choices ask for access to all my spreadsheets? By design. It works under Google's per-file Drive permission and only touches the options sheet it created for your form. It cannot read your other spreadsheets, and it never tries to. Classic Form Ranger style add-ons ask for read access to *every* spreadsheet in your Drive; this one does not. ## Can I point it at a spreadsheet I already have? Not directly, and that is deliberate: pointing the add-on at your files would mean granting it access to them. Instead, leave your roster where it is and pull it into column A with `=IMPORTRANGE()`. The sync reads whatever the formula resolves to. See [Advanced: Options From Another Spreadsheet](https://skyfield.cloud/addons/dynamic-form-choices/docs/guides/another-spreadsheet). ## What do the three columns do? **A Options** is your option list, **B Capacity** is the optional per-option limit, and **C Taken** is the live sign-up count that the add-on writes. You own A and B; the add-on owns C and never overwrites the other two. ## Can I translate the column headers? No. Row 1 must keep reading `Options`, `Capacity`, and `Taken` in English in every language. The add-on checks cell A1 before it writes anything, and that check is what stops a shifted column from pushing capacity numbers into your form as options. ## How fast do sheet edits show up in my form? Straight away when you press **Sync all questions**, and automatically when you open the sidebar, once an hour, and on every form submission. Hourly is the fastest background schedule Google allows for forms add-ons. ## Can options close automatically when they're full? Yes. Put a number in column B beside an option and that is its maximum number of sign-ups. Options are removed from the form automatically once they fill up, and raising the number brings them back on the next sync. A `0` keeps an option closed without deleting its row. ## How fast does a full option disappear? Usually within seconds of the response that filled it. Google runs form triggers on its own timer and does not guarantee an exact moment, so an occasional slower run is normal. The timing is the same for every add-on working on a native Google Form, [Choice Eliminator](https://skyfield.cloud/addons/choice-eliminator/docs) included. Inside that window two people can still take the same last spot. If you need instant, race-proof limits, that needs a [hosted form](https://skyfield.cloud/addons/choice-eliminator-live/docs) rather than a native Google Form. ## The Questions tab is slow on my form The Questions tab reads every question's title from Google when it opens. Expect one to two seconds per ten questions. A form at Google's limit of 300 questions can take a minute. If a **Try again** button appears, the list is still on its way and fills in on its own. Try again does not start over. Syncing runs on its own whether the sidebar is open or not, on every submission and once an hour. A slow tab never means syncing has stopped. ## What happens if I empty the Options column? Nothing destructive. A sync that finds no usable values leaves the question exactly as it is and shows an "empty column" notice in the sidebar. The same goes for a broken formula or a damaged tab layout: the question keeps the options it already has. ## What happens if I delete a tab, or the whole sheet? Deleting a question's tab disconnects that question on the next sync. Its full option list is restored, syncing and capacity stop, and the sidebar shows a notice with **Connect question** ready to start a fresh tab. Deleting or trashing the whole spreadsheet disconnects every question on the form. Recovery is Google's own: Drive trash keeps the file for 30 days, and Sheets version history holds the tab contents. ## What happens when I disconnect a question? Its tab is deleted from the options sheet, and the question gets its full option list back, including anything capacity had removed. Syncing and capacity limits stop. Disconnecting the last connected question keeps the options sheet in your Drive, with **(disconnected)** added to its name; the add-on stops tracking it, so the next connect starts a fresh sheet. ## Can I move or rename the options sheet? Yes. The add-on tracks the sheet by its Drive ID, not by its name or location, so renaming it or moving it to another folder changes nothing. Moving it into a shared drive works too, as long as your account keeps edit access to the file. Renaming a tab is also fine: your name wins and the add-on stops renaming that tab after the question. ## Do I need Choice Eliminator alongside Dynamic Form Choices? No, per-option limits are built in. In fact do not run both on the same question: they would fight over the option list, with each sync re-adding options the other add-on removed. Learn more about [Choice Eliminator](https://skyfield.cloud/addons/choice-eliminator/docs). ## Is there a limit on the number of options? Google Forms allows up to 500 options per question. Longer lists are cut to the first 500 unique values after cleanup (trimming, blank removal, de-duplication). ## Does syncing affect responses I've already collected? No. Existing responses keep whatever respondents submitted. Syncing only changes which options are *offered* from now on, exactly as editing the options by hand would. ## Will my "Other" option survive syncing? Yes. If the question has the built-in "Other" option enabled, syncing keeps it. ## Does it work with shuffled options? Yes. If a question has Google Forms' shuffle options setting turned on, syncing keeps that setting. Every respondent still sees the same live set of options, each in their own random order. ## Does it do anything besides choice questions? Yes. The **Form** tab carries [Form Limiter](https://skyfield.cloud/addons/form-limiter/docs)'s form-level controls: a total response limit, scheduled open and close dates, a custom closed message, email notifications, and a QR code for sharing the form. ## Does everyone editing the form need the add-on? Connections are set up by whoever connects the questions, and the hourly sync runs under that person's account. Co-editors see the synced options like any other question content. ## What does Dynamic Form Choices cost? Dynamic Form Choices offers a 7-day free trial with full access to all features. No credit card required. After the trial, a paid subscription is required to continue using the Add-on. [View pricing](https://skyfield.cloud/addons/dynamic-form-choices/pricing). # Paused Capacity Limits Dynamic Form Choices emails the form owner when it has **paused** capacity on one of your questions. The email calls this "choice elimination", which is the same feature under its older name: the numbers you put in **column B** of the options sheet, and the automatic removal of an option once it fills up. Nothing is broken and no responses are lost. But while a question is paused, **its capacities are not enforced**. Respondents can keep picking an option that already reached its number, and column C keeps counting past it. It also resumes on its own. Once the conflict is gone, the next sync or form submission puts the question back to normal. There is nothing to switch back on. ## Why It Happens To close a full option, the add-on rewrites the question's option list without it. When a question uses **per-option branching**, which is *"Go to section based on answer"* in Google Forms, that rewrite would silently throw your routing rules away. Google Forms offers no way to preserve them through it. Rather than quietly destroy the routing you built, Dynamic Form Choices stops and pauses that question. Per-option branching is the only cause we have been able to reproduce. Quiz mode, answer keys, per-question feedback, answer validation and the required toggle were all tested, and none of them do this. When the email names a specific option, that option is the one carrying the branching. If it says the cause is unknown, please contact support so we can document it. ## You Will Usually See It on the Questions Tab Too The same conflict blocks the ordinary sync, so the question's row shows a red error: > Couldn't update the question. Check that it still exists and has no choice branching. The row and the email describe the same problem. Fixing it clears both. ## How to Fix It Edit the question in [forms.google.com](https://forms.google.com){rel="nofollow"}: 1. **Open the affected question.** The email names it, and on the **Questions** tab it is the row with the red error 2. **Click the ⋮ menu** at the bottom right of the question card 3. **If "Go to section based on answer" is checked, uncheck it.** That is the conflict 4. **Sync the question.** Press **Sync all questions** in the cog menu, or simply carry on: capacity is enforced again on the next sync or response, and the row's error clears itself ## If You Want to Keep the Branching Per-option branching and capacity cannot both work on one question. Capacity removes options as they fill up, and branching needs those options to stay in place for its rules to fire. Pick one: - **Keep the branching, drop the capacities.** Clear column B on that question's tab. Options still sync from column A; only the automatic closing stops - **Keep the capacities, move the routing.** Add a section break after the question and route at the section level instead of per option. Capacity then works normally ## Turning the Email Off The alert is on by default, because a capacity that is silently unenforced is worth interrupting you for. To switch it off, open the sidebar, go to the **Form** tab, open **Email Notifications** and turn off **"Notify when choice elimination is paused"**. The error on the Questions tab row stays either way. You will not be flooded. There is at most one email per problem, nothing further until the question recovers, and no more than one a day for the same set of questions even if the problem keeps returning. [Contact support](https://skyfield.cloud/contact) # Form Limiter Documentation Control when your Google Forms close with response limits and date scheduling. ## Getting Started - [Getting Started](https://skyfield.cloud/addons/form-limiter/docs/getting-started) - Install and set up Form Limiter - [Features](https://skyfield.cloud/addons/form-limiter/docs/getting-started/features) - Overview of what Form Limiter can do ## Guides - [Response Limits](https://skyfield.cloud/addons/form-limiter/docs/guides/response-limits) - Set maximum response counts - [Date & Time Limits](https://skyfield.cloud/addons/form-limiter/docs/guides/date-limits) - Schedule form closures - [Custom Close Message](https://skyfield.cloud/addons/form-limiter/docs/guides/close-message) - Customize closed form message - [Notifications](https://skyfield.cloud/addons/form-limiter/docs/guides/notifications) - Get email alerts - [Pausing & Triggers](https://skyfield.cloud/addons/form-limiter/docs/guides/pausing-and-triggers) - Pause the add-on and manage Google's trigger limit ## Support - [FAQ](https://skyfield.cloud/addons/form-limiter/docs/support/faq) - Common questions and answers - [Pricing](https://skyfield.cloud/addons/form-limiter/pricing) - Plans and pricing - [Contact Us](https://skyfield.cloud/contact) - Get in touch # Getting Started Form Limiter helps you control response limits on your Google Forms. This guide will help you get started. ## Installation 1. :marketplace-link{addon="form-limiter"} from the Google Workspace Marketplace 2. Click **Install** and follow the prompts 3. Grant the necessary permissions ## Quick Start Once installed, Form Limiter appears in your Google Forms: 1. Open any Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Limiter** → **Start** 3. Set your response limit 4. Save your settings Your form will automatically close when the limit is reached. > **Working from a copied form?** Open Form Limiter once on the copy to activate it — Google doesn't carry the automatic enforcement over to copied forms. ## Next Steps - Learn about [all features](https://skyfield.cloud/addons/form-limiter/docs/getting-started/features) - Check out [pricing options](https://skyfield.cloud/addons/form-limiter/pricing) - Read the [FAQ](https://skyfield.cloud/addons/form-limiter/docs/support/faq) # Features Form Limiter provides powerful controls to automatically manage your Google Forms responses. ## Response Limits Set a maximum number of responses your form will accept. Once the limit is reached, the form automatically closes. - Set any number as your response limit - Track current response count in real-time - Form closes instantly when limit is hit [Learn more about Response Limits](https://skyfield.cloud/addons/form-limiter/docs/guides/response-limits) ## Date & Time Limits Schedule your form to open and close at specific dates and times. - Set open and close times in 5-minute steps - Timezone-aware scheduling - Combine with response limits for flexible control [Learn more about Date Limits](https://skyfield.cloud/addons/form-limiter/docs/guides/date-limits) ## Email Notifications Get notified when your form reaches its limit or closes. - Receive email alerts when limits are hit - Customize notification settings - Never miss when a form closes [Learn more about Notifications](https://skyfield.cloud/addons/form-limiter/docs/guides/notifications) ## Custom Close Message Customize the message shown to users when your form is closed. - Set a friendly close message - Include alternative instructions - Maintain professional communication [Learn more about Close Messages](https://skyfield.cloud/addons/form-limiter/docs/guides/close-message) ## Choice Elimination Automatically remove individual choices from multiple choice, checkbox, or dropdown questions when they reach their limit. - Set limits per choice option - Apply the same limit to all choices at once - Choices disappear when full - Perfect for sign-ups and reservations ## QR Code Sharing Generate and share QR codes for your forms. - Download high-resolution PNG - Share via WhatsApp, SMS, Email, X, LinkedIn, Telegram - Copy form link with one click ## Clear Responses Export and reset your form responses to start fresh. - Export all responses to Google Sheets - Delete responses from form - Resets all choice counts # Response Limits Control how many responses your Google Form accepts before automatically closing. ## Setting a Response Limit 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Limiter** → **Start** 3. Select **Limit by number of responses** 4. Enter your desired limit 5. Click **Save** ## How It Works Form Limiter monitors your form's response count in real-time. When the count reaches your specified limit, the form automatically: - Stops accepting new responses - Displays your custom close message - Sends you a notification (if enabled) ## Use Cases ### Event Registration Limit registrations to your venue capacity. ### Contest Entries Accept only the first N entries for a giveaway. ### Survey Quotas Collect a specific sample size for research. ## Tips - Set your limit slightly above your actual need to account for any invalid responses - Combine with date limits for events with both capacity and deadline constraints - Enable notifications so you know immediately when your form closes - Disable "Show link to submit another response" in Form Settings to prevent the final submitter from seeing a confusing link after the form closes # Date & Time Limits Schedule your Google Form to open and close automatically at the dates and times you choose. ## Setting a Schedule 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Limiter** → **Start** 3. Turn on **Limit form by date** 4. Set an **Open date and time**, a **Close date and time**, or both 5. Click **Save** You can pick times in **5-minute steps** (for example 8:50, 9:15, 17:30) — you're not limited to whole hours. Set only a close time to close a form that's already open; set only an open time to keep a form closed until it should start; or set both for a fixed window. ## Timezone Handling Form Limiter uses your Google account's timezone. Make sure it's set correctly in your Google account so your form opens and closes at the times you expect. ## Minimum window When you set **both** an open time and a close time, they must be **at least 1 hour apart**. If you set them closer together, Form Limiter shows an error and won't save until you widen the window. This is a Google platform limit, not a Form Limiter choice: Google runs a Forms add-on's scheduled check **at most once per hour**, so a window shorter than an hour can't be enforced reliably. Setting only a close time (with no open time) has no minimum — the form simply closes at that time. ## How precise is it? The form opens or closes **at the time you set, or shortly after** — never before. Google runs the scheduled action through its own timer, usually within a minute of your set time, but it doesn't guarantee an exact-to-the-second moment — so allow for a small delay at the boundary. Form Limiter never closes a form **early**, so set your close time at (or a moment after) your real deadline. ## Combining Limits You can set both a response limit **and** a schedule on the same form. The form closes when **either** condition is met first: - Responses hit the limit before the close time → form closes - The close time arrives before responses hit the limit → form closes ## Use Cases ### Application Deadlines Close applications at an exact time on the due date — for example 17:00 sharp. ### Class or Exam Windows Open a quiz at 8:50 and close it at 10:20 — the times students actually need, not just whole hours. ### Limited-Time Offers Run a promotion that opens and closes at set times. ## Tips - Set your close time a few minutes after your real deadline to allow for last-minute submissions. - Enable notifications to confirm when your form opens and closes. - Need a window shorter than an hour, or exact-to-the-second control? That's on our roadmap for a dedicated hosted-form product — [contact us](https://skyfield.cloud/contact) if it's important to you. # Custom Close Message When your form closes, respondents see a message. Form Limiter lets you customize this message. ## Setting a Custom Message 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Limiter** → **Start** 3. Set your response or date limit 4. Enter your custom message in the **Close message** field 5. Click **Save** ## Default Message If you don't set a custom message, respondents see Google's default: > "This form is no longer accepting responses." ## Writing Effective Close Messages ### Be Clear Tell respondents why the form is closed: - "Registration is full. Thank you for your interest!" - "The submission deadline has passed." ### Provide Alternatives Guide users to next steps: - "Spots filled! Join our waitlist at [link] " - "Applications closed. Follow us for future opportunities." ### Stay Professional Match your organization's tone: - Formal: "Thank you for your interest. This form has reached its response limit." - Friendly: "Thanks for stopping by! We've hit our limit but check back soon." ## Tips - Keep messages concise - respondents see this on a simple page - Include contact info if respondents might have questions - Test your message by previewing the closed form - Update the message if circumstances change (e.g., add waitlist info when full) ## Character Limit Close messages support up to 500 characters. This is plenty for a clear, helpful message. # Notifications Stay informed when your Google Forms reach their limits with email notifications. ## Enabling Notifications 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Limiter** → **Start** 3. Set your response or date limit 4. Turn on the alerts you want: - **Notify when limit reached** — the form closed, by response limit or scheduled date - **Notify when a question is full** — one question stopped accepting answers - **Notify 24h before closing** — a reminder before a scheduled close 5. Enter the **Email address** to notify 6. Click **Save** Every switch is off until you turn it on, and each one works on its own. ## What You'll Receive When your form closes, you'll receive an email containing: - The form name - Why it closed (response limit or date limit) - Final response count - Link to view responses ## Notification Timing Emails are sent immediately when: - Your form reaches its response limit - Your scheduled close date/time arrives - You manually close the form through Form Limiter ## When a Question Fills Up If you set limits on the individual choices of a question, that question stops accepting answers once **every** one of its options has reached its limit. Respondents see your "no spots left" message where the choices used to be, while the rest of the form carries on collecting. That is easy to miss, because the form itself is still open. **Notify when a question is full** emails you as soon as it happens, naming the form and the question that filled. One email per question, never per choice, so a busy sign-up cannot flood your inbox. If you make room again — by raising a limit or deleting responses — the question reopens, and a later refill notifies you again. [Learn more about Choice Elimination](https://skyfield.cloud/addons/form-limiter/docs/getting-started/features) ## Managing Notifications Emails go to the address you enter in the **Email address** field. By default that is the form owner's email. Use a Gmail address where possible. Notifications are sent through Google on behalf of that address, so a domain with strict DMARC/SPF rules — common with custom domains, iCloud Mail, ProtonMail, or corporate email — may reject them. ## Tips - Check your spam folder if you don't receive expected notifications - Notifications confirm your limits are working correctly - Use notifications to know when to follow up with respondents # Pausing & Triggers Form Limiter runs in the background using Google **triggers**. This guide explains how to pause the add-on on a form, what the trigger limit means, and how to free up room when you hit it. ## Pausing a Form Every form is either **Active** or **Paused**. Pausing stops all enforcement — response limits, schedule, and choice elimination — **without deleting your settings**. Turn it back on any time and everything resumes exactly as it was. 1. Open your Google Form 2. Open **Form Limiter** from the add-ons menu 3. On the **Form** tab, open **Add-on status** at the bottom 4. Toggle **Active** off to pause 5. Click **Save** When the add-on is paused, a banner appears at the top of the sidebar with a **Resume** button — one click puts it straight back to **Active**. Pausing affects the form for **everyone who can edit it** — it stops the add-on for the whole form, not just for you. Pausing never changes whether the form is currently open or closed; it only stops Form Limiter from acting. ## The Trigger Limit Google caps how many triggers Form Limiter can run for you, counted across **all** the forms it runs on. This is a Google limit, not a Form Limiter one, and the exact number is not something Google states for add-ons: the [Apps Script quotas page](https://developers.google.com/apps-script/guides/services/quotas){rel="nofollow"} documents 20 triggers per user per add-on, while add-ons currently get up to 50 in practice. Rather than ask you to trust either figure, Form Limiter shows your real usage and the ceiling it is working against. Two things to know: - The limit is **per add-on**, not per form. Every form Form Limiter runs on draws on the same allowance; any other add-on you use has its own separate one. - A single form that uses **both** a response limit **and** a schedule uses **two** slots (one for counting responses, one for the schedule). Those are the only two trigger types Form Limiter installs, and Google allows [one of each type per user per document](https://developers.google.com/workspace/add-ons/concepts/editor-triggers){rel="nofollow"}, so two is the most any single form can use. You can reach the limit well before you run out of forms. You can see where you stand under **Triggers** (for example `18 / 50`) in the status modal. When you are at the limit, a red banner reads **Form Limiter can't run: you're using all 50 triggers**, and the form's status shows **Needs a trigger** instead of running. ## Freeing a Trigger When you're at the limit, free up room by pausing a form you no longer use — pausing releases that form's trigger: 1. Open **Add-on status**, then open **Triggers** (or click **Manage triggers** on the red banner) 2. Under **Your other forms**, find one you no longer need and click the open-link to go to it 3. On that form, open **Form Limiter** and turn it off (**Paused**) — that frees its trigger With a trigger free, reopen the form that needed one — it installs its own trigger and starts running again. Your settings on the paused form are kept — set it back to **Active** whenever you want it running again. Pausing affects the form for **everyone who can edit it**. ## Shared & Co-edited Forms When a form has more than one editor, only **one** editor's copy of Form Limiter actively enforces it at a time. That copy "owns" the form's trigger; the other editors' copies stay dormant, so the form is never counted twice. If the editor who owns the trigger loses access to the form — for example, they're removed as an editor — another editor's copy **automatically takes over** the next time they open Form Limiter on that form. You don't need to re-save anything. **Pausing applies to everyone.** The **Active/Paused** toggle sets a shared flag on the form, so pausing stops enforcement for **all editors** instantly — no matter who owns the trigger — and frees your own trigger slot on this form. Resume turns it back on for everyone. ## Tips - Pausing is reversible and keeps everything — prefer it over turning off individual features when you just need a temporary stop. - If you manage many forms, watch the **Triggers** count so you're not surprised by the limit mid-term. - Scheduled forms cost two triggers — keep that in mind when planning how many forms to automate. # FAQ Common questions about Form Limiter features and usage. ## Getting Started #### What is Form Limiter? Form Limiter is a Google Forms Add-on that automatically manages form availability based on response counts, schedules, and individual choice limits. It helps you control when and how many responses your form accepts. #### Is Form Limiter free? Form Limiter offers a 7-day free trial with full access to all features. No credit card required. After the trial, a paid subscription is required to continue using the Add-on. [View pricing](https://skyfield.cloud/addons/form-limiter/pricing). #### What happens to my forms when my trial or subscription ends? Your forms and settings are never deleted, and any limits you already set up keep working. A form set to close at a response count, on a schedule, or with per-choice limits will still close and eliminate choices exactly as you configured it — respondents see no change. What needs a paid plan is *managing* limits: adding or changing them, and resuming a form you've paused. You can still turn the add-on off at any time, and Form Limiter never deletes your Google Forms or their responses. #### Can my school or organization pay by invoice instead of a card? Yes. For schools and organizations we can issue an invoice you can pay by bank transfer, and we can provide a quote for a purchase order. We can also provide a VAT-compliant invoice. [Contact us](https://skyfield.cloud/contact) with your details and we'll set it up. #### Do you offer a domain-wide license or school discounts? Yes. A domain license covers everyone in your Google Workspace domain under a single annual subscription with centralized billing — no per-user seats — usually the best fit for schools, universities, and companies rolling Form Limiter out organization-wide. Schools, universities, and non-profits can also request reduced pricing. See the Domain plan on the [pricing page](https://skyfield.cloud/addons/form-limiter/pricing), or [contact us](https://skyfield.cloud/contact) for a quote. #### Where can I download Form Limiter? Install directly from the Google Workspace Marketplace. No separate download required. #### How do I access Form Limiter? Open your Google Form, click the puzzle piece icon (Add-ons), and select Form Limiter. The Add-on opens in a sidebar panel. #### Does Form Limiter work on published forms? Yes. You can configure limits on published forms. Changes take effect immediately - if you set a response limit below your current count, the form closes right away. #### Will it slow down Google Forms? No. Form Limiter works independently and doesn't impact Google Forms performance. #### What happens if I disable Form Limiter? When you disable the master toggle, all automatic limits (response count, schedule, choice elimination) are paused. Your settings are preserved. If the form was closed by Form Limiter, it reopens automatically. ## Response Limits #### How does the response count limit work? Set a maximum number of responses. When reached, the form automatically closes and displays your custom message. The count updates in real-time as responses come in. #### What message do respondents see when the form is full? You can customize the closed-form message. The default is "This form is no longer accepting responses." #### Can I increase the limit after the form closes? Yes. Increase the maximum responses value, and the form reopens automatically if your current count is below the new limit. #### How accurate is the response count? The count updates within seconds of each submission. Multiple simultaneous submissions are handled correctly - each increments the count atomically. ## Scheduler #### How does scheduling work? Set an open date and close date. The form only accepts responses during this window: - Before open date: Form stays closed - Between dates: Form accepts responses - After close date: Form closes automatically #### How precise is the open/close time? Form Limiter schedules the open and close to run **at the times you set** (choosable in 5-minute steps). Google's timer runs the action on time or shortly after — usually within a minute, and never early. Set your close time at (or just after) your real deadline to allow for that small delay. #### Why must open and close be at least an hour apart? When you set both an open and a close time, they must be at least 1 hour apart. Google runs a Forms add-on's scheduled check at most once per hour, so a shorter window can't be enforced reliably. Setting only a close time has no minimum. #### Can I schedule recurring events? Not currently. Each form has a single open/close window. For recurring events, you'll need to update the dates manually. #### What happens if I manually open a form that was closed by schedule? If you disable Form Limiter to reopen the form, then re-enable it while still within the close period, the form will close again at the scheduled time. To keep it open, change the close date to a future time. #### Can the open date be after the close date? No. The open time must come before the close time — and when you set both, they must be at least 1 hour apart (a Google platform limit). ## Choice Elimination #### What is Choice Elimination? Automatically remove choices from multiple choice, checkbox, or dropdown questions when they reach a response limit. Perfect for sign-ups, reservations, or capacity-limited options. #### Which question types support Choice Elimination? - Multiple Choice - Checkbox - Dropdown (List) #### How do I set limits per choice? Open the Choice Elimination modal for a question, then enter a limit for each choice. Set 0 or leave blank for unlimited. #### Can I set the same limit for all choices at once? Yes. In the Choice Elimination modal, enter a number in the "Apply to All" field and click the button. This sets every choice in that question to the same limit. Use 0 to reset all choices to unlimited. #### What happens when a choice reaches its limit? The choice is removed from the form so new respondents can't select it. A "No spots available" placeholder appears if all choices are removed. #### Can I restore a removed choice? Yes, if the current count is below the limit. Click the undo icon next to the removed choice. Choices at or above their limit show a lock icon instead. #### Why do I see choices that aren't on my form? Form Limiter tracks choices that were removed or have existing responses. This includes choices you deleted from the form but still have response data. #### How do I delete orphaned choices? In the Choice Elimination modal, orphaned choices (0 responses, not on form) show a delete button. Click it to permanently remove the tracking data. #### How accurate are choice counts? Choice counts are cached for performance and update on each form submission. Use the "Recount" button for a full recount if you suspect drift. #### What happens with concurrent submissions? If two users submit simultaneously for the last available spot, both submissions are recorded but the choice is removed after the first one pushes it over the limit. This is the expected behavior - Form Limiter doesn't reject submissions, it removes choices for future respondents. If the last spot must only ever go to one person, that needs a [hosted form](https://skyfield.cloud/addons/choice-eliminator-live/docs), where each submission claims its spots at the moment it is submitted. #### How do choice counts update? Choice counts are cached for performance and update automatically on each form submission. Use the "Recount" button to refresh them immediately if you suspect they've drifted. #### Is there a limit on how many choices a question can have? Yes. Google Forms enforces a maximum number of choices per question (around 500). If your question has more choices than this, Form Limiter will use only the first 500. This is a Google Forms platform limitation, not a Form Limiter restriction. #### Does choice elimination work with the "Add other" option? Yes. If your multiple choice or checkbox question has "Add other" enabled, choice elimination preserves this setting. Custom "Other" responses are unlimited and don't count toward choice limits. When all predefined choices reach their limits, the "Other" option remains available instead of showing the "No spots available" placeholder. ## Clear Responses #### What does "Clear responses" do? It exports all form responses to a new Google Sheet, then deletes them from the form. This resets your form for reuse - choice counts go to 0 and removed choices are restored. #### Where is the export saved? A new Google Sheet is created in your Google Drive with the name " [Form Title] - Backup - [Date] ". #### Is this the same as the linked spreadsheet? No. If your form has a linked spreadsheet, that data remains untouched. The export creates a separate backup sheet. #### What if I have no responses? The modal shows an informational message explaining the feature. No action is available until you have responses to clear. #### Can I undo a clear? No. Once responses are deleted from the form, they cannot be restored. However, your data is preserved in the exported Google Sheet. #### "Clear responses" failed with an error — did I lose my responses? No. Form Limiter always creates the backup Google Sheet *before* it deletes anything from the form. If the export fails partway — for example a Google Drive storage-quota or a temporary rate-limit error — nothing is deleted and all your responses stay in the form. Free up Google Drive space (or wait a minute for a temporary error to clear) and try again. #### What does "Last export" mean? Shows the date and response count from your most recent clear operation. Click "Open" to view the exported sheet. ## QR Code & Sharing #### How do I share my form via QR code? Open the QR Code modal from the Form tab. You can: - Scan the QR code directly - Download as PNG - Copy the link - Share via social platforms (WhatsApp, SMS, Email, X, LinkedIn, Telegram) #### What size is the QR code download? The PNG export is high resolution, suitable for printing on flyers or posters. ## Notifications #### What notifications does Form Limiter send? - When the form closes (due to response limit or schedule) - 24 hours before a scheduled close - When the form reopens (if re-enabled after auto-close) #### How do I configure notifications? Enter your email address and toggle on/off for: - "Notify when limit reached" - "Notify 24h before closing" #### Who receives the notifications? Only the email address you configure. By default, this is the form owner's email. ## Troubleshooting > **Installing, account, and device questions** — finding or opening the Add-on, the wrong Google account showing, multiple editors, and mobile support — are answered in our [Common Questions](https://skyfield.cloud/common-questions). #### The Questions tab is slow on my form The Questions tab reads every question's title from Google when it opens. Expect one to two seconds per ten questions. A form at Google's limit of 300 questions can take a minute. If a **Try again** button appears, the list is still on its way and fills in on its own. Try again does not start over. Questions that already have a limit open instantly. Opening a question with no limit yet takes a few seconds. Limits are enforced on every submission whether the sidebar is open or not. A slow tab never means your form is unprotected. #### I'm not receiving notifications Check your spam folder. Ensure you enabled notifications in the Add-on settings and entered the correct email address. **Important:** Notifications are sent via Google's servers on behalf of your email address. If your email domain has strict DMARC/SPF policies (common with custom domains like iCloud Mail, ProtonMail, or corporate email), messages may be rejected. Use a Gmail address for notifications to avoid this issue. #### My form didn't close at the right time (timezone) Check your Google account timezone settings. Form Limiter uses your account's timezone for scheduling. #### Can I edit or delete my settings? Yes. All limit settings are fully customizable and can be removed anytime through the Add-on interface. #### Why isn't my form closing at the set time? Form Limiter closes the form at the time you set, or shortly after — never early. Google runs the scheduled close through its own timer, usually within a minute, but it doesn't guarantee an exact-to-the-second moment, so a small delay at the boundary is normal. If it hasn't closed after several minutes, check that your Google account timezone is correct. #### I copied a form and it stopped enforcing my settings When you make a copy of a Google Form, Google copies your questions and your Form Limiter settings, but it does **not** carry over the background trigger that enforces them — counting responses, closing the form, eliminating choices, and sending notifications — a Google Forms limitation with copies. Just open Form Limiter once on the copied form to re-activate it. You only need to do this once per copy, and you don't need any responses first. #### Some of my forms stopped working and I see a message about triggers Google caps how many background triggers you can have across all the forms Form Limiter runs on. The [Apps Script quotas page](https://developers.google.com/apps-script/guides/services/quotas){rel="nofollow"} documents 20 per user per add-on; add-ons currently get up to 50 in practice, and the **Triggers** meter in the status modal shows your real usage against that ceiling. When you reach it, a new form can't run automatically, and Form Limiter shows a banner: "Form Limiter can't run: you're using all 50 triggers." To free up a slot, open a form you no longer need and turn Form Limiter off there, then reopen it on the form you want enforced. A single form that uses both a response limit and a schedule counts as two triggers. #### Why are my choice counts wrong? Choice counts are cached. Click "Recount" in the Choice Elimination section for a full recount from all responses. #### The form closed but I didn't set any limits Check if you have: - A response limit enabled with current count >= max - A schedule with a close date in the past - Choice Elimination with all choices removed ## Permissions & Privacy #### Is my form data stored externally? No. All settings are stored at Google. Form Limiter does not transmit your form data or responses to external servers. #### Can Form Limiter read all my forms? No. The Add-on uses the "currentonly" scope, meaning it can only access the specific form you opened it from. #### Is my data shared with third parties? No. We never sell or share your data with third parties. ## Still have questions? [Contact Us](https://skyfield.cloud/contact) # Paused choice elimination If the Form Limiter sidebar shows a **"paused"** banner — or you get an email about paused choice elimination — it means Form Limiter detected a Google Forms setting on one of your questions that conflicts with choice elimination, and has paused the feature on that question until the conflict is resolved. The good news: nothing is broken. Your form responses are safe, the rest of your Form Limiter settings continue to work, and choice elimination **auto-resumes** the moment the conflict is gone. You don't have to remember to come back and re-enable it. The trade-off: **while paused, the question's limit isn't enforced** — respondents can keep selecting options that have hit their cap. The banner, the question's row, and the email tell you exactly which question and (when we can detect it) which specific choice is the source. ## Why this happens Form Limiter applies choice limits by replacing the question's choice list with a smaller, filtered list (excluding choices that have hit their limit). When a question has **per-option branching** wired up — *"Go to section based on answer"* in Google Forms — that rewrite would silently destroy the routing. Rather than overwrite your form without asking, Form Limiter pauses elimination on that question and flags it so you can decide how to proceed. We tested every other setting we could think of (quiz mode + answer keys + per-item feedback, response validation rules, required toggles) and **none of them cause this failure** — per-option branching is the only known trigger. If the diagnosis says "branching" you can trust it. If it says "unknown," please contact support so we can document the cause. ## How to resolve it from the sidebar Open Form Limiter in the form and go to the **Questions** tab. You'll see: - A thin **banner** at the top — a count of how many questions are paused (or at risk). - The affected question's **row** turns red with an **"Elimination paused"** label. (A question that has branching *and* a configured limit but hasn't broken yet shows an amber **"Possible conflict"** instead — same fix applies.) Open the question — click its row — to get the resolution panel at the top of its editor: - **Remove branching** *(destructive — only shown when per-option branching is the cause)* — strips per-option routing from the question and resumes elimination. The choices and their order are preserved; only the routing wiring is gone. You're asked to confirm first — **this can't be undone from inside Form Limiter**, because Google Forms doesn't expose an "undo" for it. There's no "Resume" button — none is needed. Once the branching is gone (whether you remove it here or fix the form yourself), choice elimination **auto-resumes on the next response** and the banner, row, and panel clear on their own. When the diagnosis is "unknown" the panel has no one-click fix, only a link to this page — fix the form and elimination resumes the same way. To **stop limiting** the question entirely, clear its choice limits (set them to `0`) in the same editor. The rest of your Form Limiter settings (response limit, schedule, etc.) keep working. ## Or fix it in Google Forms yourself If you'd rather keep control of the form's wiring, edit the affected question in [forms.google.com](https://forms.google.com){rel="nofollow"}: 1. **Identify the affected question** — the banner, the question's row, and the email name it for you, including the specific choice that carries the branching. 2. **Remove the per-option branching:** - Click the question, then click the **⋮** menu at the bottom-right of the question card. - If **"Go to section based on answer"** is checked, uncheck it. That's the conflict. - To preserve some routing logic, configure it at the section level using a page break instead — per-option branching and choice elimination are fundamentally incompatible. 3. **Return to the form's normal use.** On the next response, Form Limiter auto-resumes and the question's row returns to normal. No need to click anything. ## What if I want to keep the branching? Per-option branching and choice elimination are fundamentally incompatible — elimination removes options as they're picked, and branching needs the options to stay put so the routing rules can fire. Pick one: - **Drop choice elimination on that question** — clear its choice limits in the question's editor. The rest of your Form Limiter settings continue to work. - **Move the branching to the section level** — add a page break after the question and route at the page break instead of at each option. Choice elimination then operates freely. ## I don't see the branching setting If you can't find per-option branching ("Go to section based on answer") on the affected question and it still shows as paused, the conflict might be something we haven't documented yet — every Google Forms setting we've tested *other* than branching turns out to be harmless. Please reach out to support with your form's edit URL so we can investigate. The in-product diagnosis will say "unknown" in this case. [Contact support](https://skyfield.cloud/contact) # Form Notifications Documentation Send custom email notifications when your Google Forms receive responses — branded messages, merge tags, conditional delivery rules, and approval workflows. When someone submits your form, Form Notifications builds the emails you've set up and sends them — from your own Google account — to the recipients you choose. You can tailor the message, decide who gets emailed based on the answers, and require sign-off before anything goes out. ## Getting Started - [Getting Started](https://skyfield.cloud/addons/form-notifications/docs/getting-started) — Install Form Notifications and create your first notification - [Features](https://skyfield.cloud/addons/form-notifications/docs/getting-started/features) — Overview of what Form Notifications can do ## Guides - [Recipients](https://skyfield.cloud/addons/form-notifications/docs/guides/recipients) — Choose who gets emailed on each submission - [Merge Tags](https://skyfield.cloud/addons/form-notifications/docs/guides/merge-tags) — Pull response values into the subject and body - [Conditional Delivery](https://skyfield.cloud/addons/form-notifications/docs/guides/conditional-routing) — Send different emails based on the answers - [Approvals](https://skyfield.cloud/addons/form-notifications/docs/guides/approvals) — Require sign-off before a notification is sent - [Sending & Delivery Limits](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits) — How emails are sent, and the limits to know - [Testing Your Notifications](https://skyfield.cloud/addons/form-notifications/docs/guides/testing-notifications) — Verify your setup end to end before responses arrive ## Support - [FAQ](https://skyfield.cloud/addons/form-notifications/docs/support/faq) — Common questions and answers - [Troubleshooting](https://skyfield.cloud/addons/form-notifications/docs/support/troubleshooting) — Fixes for common issues - [Pricing](https://skyfield.cloud/addons/form-notifications/pricing) — Plans and pricing - [Contact Us](https://skyfield.cloud/contact) — Get in touch # Getting Started Form Notifications sends custom emails when your Google Form receives a response. Here's how to install it and set up your first notification. ## Installation 1. Visit the [Google Workspace Marketplace](https://workspace.google.com/marketplace){rel="nofollow"} 2. Search for "Form Notifications" 3. Click **Install** and follow the prompts 4. Grant the requested permissions ## Open the editor 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Notifications** → **Start** 3. The notifications editor opens in a panel over your form ![The Form Notifications editor — your notifications for this form in one list](https://skyfield.cloud/addons/form-notifications/editor-list.png) ## Create your first notification 1. Click **New** (or **Create your first notification**) 2. Give it a name — this is just an internal label; it never appears in the email 3. On the notification screen, fill in the three sections: - **Message** — edit the subject and body (a sensible default is filled in for you) - **Delivery** — add at least one recipient (a typed email, the respondent, or a form field) - **Status** — once a recipient is set, turn the notification **on** 4. That's it — the next time someone submits the form, the email goes out. > A notification stays **off** until it has at least one recipient and no errors. This is intentional: it can't send an incomplete email by accident. ## How it works, briefly When someone submits your form, Form Notifications builds each email from your template, fills in the answers, and sends it **from your own Google account** to the recipients you chose. If a rule requires approval, the approver is asked to sign off first — recipients only receive the email once it's approved. ## Next steps - Choose [who gets emailed](https://skyfield.cloud/addons/form-notifications/docs/guides/recipients) - Personalize the message with [merge tags](https://skyfield.cloud/addons/form-notifications/docs/guides/merge-tags) - Send different emails with [conditional delivery](https://skyfield.cloud/addons/form-notifications/docs/guides/conditional-routing) - Understand [sending limits](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits) - Read the [FAQ](https://skyfield.cloud/addons/form-notifications/docs/support/faq) # Features Everything Form Notifications can do, at a glance. ## Custom email messages Write your own subject and body with a rich-text editor — bold, italics, lists, links, and headings. Set a **sender name**, and optionally a **reply-to** address. ![The message editor — subject, body, sender name, and reply-to](https://skyfield.cloud/addons/form-notifications/sidebar-editor.png) ## Merge tags Drop response values straight into the subject or body — any question's answer, plus built-ins like **All Answers**, **Form Name**, **Response Date**, and **Respondent Email**. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/merge-tags). ## Flexible recipients Send to a fixed email address, the person who submitted the form, or an address collected in one of the form's questions — in any combination, plus CC and BCC. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/recipients). ## Conditional delivery Add rules so different submissions email different people — for example, route "Priority = High" to a manager. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/conditional-routing). ## Approvals Require a designated approver to sign off before a notification goes out. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/approvals). ## Multiple notifications per form Set up as many separate notifications as you need on a single form — each with its own message, recipients, and rules. Duplicate or export any of them. ## Sent history Every send is logged — see which notifications fired for each submission, what's pending approval, and what failed, with the submitted answers attached. Open it from the **History** button in the editor. **Export to Sheets** creates a new Google Sheet with the full log — one row per submission with its status, approvals, and answers. The sheet is created in your own Drive; the add-on only ever touches files it creates. Exporting uses the Drive-files permission — if you declined it at install, the button offers to grant it ([details](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits#permissions-you-can-decline-and-what-stops-working)). ![Submissions history — every send, approval, and failure in one log](https://skyfield.cloud/addons/form-notifications/sidebar-log.png) ## Sent from your account Notifications are sent from your own Google account, so they arrive as coming from you. [Learn about sending & limits](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits). # Recipients Every notification has one or more **delivery rules**. Each rule decides **who** gets emailed and, optionally, **when**. This guide covers who can receive an email; see [Conditional Delivery](https://skyfield.cloud/addons/form-notifications/docs/guides/conditional-routing) for the "when". ## The three kinds of recipient Open a rule and use **+ Add** on the **To** row. You pick a type: - **Email** — a fixed address you type in (e.g. `team@school.org`) - **Respondent** — the person who submitted the form - **Form field** — an email address collected in one of the form's questions You can mix all three on a single rule — they all land in the email's **To** line, and each shows as a chip you can remove. ### Emailing the respondent Choose **Respondent** to email whoever submitted the form. Your form must collect respondent emails for this to work: in the form, go to **Settings → Responses → Collect email addresses**. ### Emailing an address from the form Choose **Form field** and pick a question that collects an email address. On each submission, the notification is sent to whatever address the respondent entered there. > **Heads-up:** a rule whose *only* recipient is the respondent or a form field will **skip** any submission that doesn't provide a valid address — no email is sent for that response. The editor warns you when a rule is set up this way. Add a fixed email address too if you always want a copy to go somewhere. ## CC and BCC The **CC** and **BCC** rows accept **typed email addresses only** — not the respondent or a form field. Add as many as you need. ## Reply-to By default, replies go to **your account's email address**. You can override this per notification under **Message → Reply-to** — useful when replies should land in a shared inbox instead of your personal address. Setting a real reply-to also helps your emails stay out of spam. ## Turning the notification on A notification needs **at least one recipient** — a typed email, the respondent, or a form field — before it can be turned on (CC, BCC, and approvers don't count). Until then you'll see a gentle "add recipients first" prompt instead of the on/off switch. # Merge Tags Merge tags let you drop live values from each submission — like the answers, the form name, or the date — straight into your email. They show as coloured chips in the editor and are replaced with real values when the email is sent. ## Adding a merge tag 1. Open a notification and edit the **Message** 2. In the subject or body, open the **Markers** (tags) menu in the editor toolbar 3. Pick a tag — it's inserted as a chip wherever your cursor is ![The Markers menu — your form's questions plus the built-in tags](https://skyfield.cloud/addons/form-notifications/sidebar-tags.png) ## Available tags **From your form's questions** - Any individual question — inserts that question's answer for the submission **Built-in tags** - **All Answers** — every question and its answer, as a block - **Form Name** — the form's title - **Response Date** — when the response was submitted - **Respondent Email** — the submitter's email (if the form collects it) - **Response Edit URL** — a link the respondent can use to edit their reply ## Example A subject of: > New response to `[Form Name]` ...arrives as: > New response to Volunteer Sign-up ## If a tag's question is deleted If you delete a form question that a tag refers to, that tag renders as **empty** in the sent email. The editor flags this as an error and turns the notification off so it can't send a broken message — just remove or replace the tag, then turn it back on. ## Sender name Under **Message**, you can also set a **sender name** — the name recipients see the email is from. Leave it blank to use the default. See [Sending & Delivery Limits](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits) for how the sender address works. # Conditional Delivery A single notification can hold several **rules**. Each rule has its own recipients and its own conditions — so you can email different people depending on what someone answered. ![A notification with several delivery rules — each with its own conditions and recipients](https://skyfield.cloud/addons/form-notifications/sidebar-rules.png) ## How rules are evaluated On each submission, every rule in the notification is checked. A rule sends its email only if its conditions match. Rules are independent — more than one can fire for the same response. A rule with **no conditions** sends on **every** submission. ## Adding a condition 1. Open a rule and find the **Conditions** section 2. Click **Add condition** 3. Pick a question, an operator, and a value ### Operators - **equals** — the answer is exactly this value - **contains** — the answer includes this text - **is any of** — the answer matches one of several values - **is empty** — the question was left blank For multiple-choice, checkbox, and dropdown questions, conditions match against the selected option(s). ## Combining conditions With more than one condition, choose how they combine: - **All conditions (AND)** — the rule fires only if every condition matches - **Any condition (OR)** — the rule fires if at least one matches ## Example To email your facilities team only for urgent requests: - **Recipients:** `facilities@school.org` - **Condition:** *Priority* **equals** *Urgent* Add a second rule — with different recipients and no conditions — if you also want every submission copied to a shared inbox. # Approvals Approvals put a person in the loop before a notification goes out. Instead of emailing your recipients immediately, Form Notifications first asks an **approver** to sign off. ## Setting up an approver 1. Open a rule and find the **Approval** section 2. Click **Require approval** 3. Enter the approver's email address and click **Set** ![The rule editor — recipients, conditions, and the Approval section](https://skyfield.cloud/addons/form-notifications/rule-approval.png) To remove approval later, open the same field and clear it (or use the ✕ on the approver). ## What the approver receives When a matching response comes in, the approver gets an email with the submission's details and two buttons: **Approve** and **Reject**. - **Approve** → your recipients receive the notification - **Reject** → nothing is sent to your recipients ## The 7-day window An approval request is valid for **7 days**. If the approver doesn't respond in that time, the request expires and the notification is **not** sent. ## Good to know - Each rule has a **single** approver. - Recipients are only ever emailed **after** approval — if the request is rejected or expires, they receive nothing. - Approval works alongside conditions: only submissions that match the rule create an approval request. - After sign-off, the email to your recipients is sent from **Skyfield's mail servers** rather than your account — see [Sending & Delivery Limits](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits). ## Approvals and your subscription Approval routes are part of the paid plan. During the free trial they work in full. **When the trial ends without an upgrade**, rules that require approval **pause**: matching submissions are logged in the history as skipped, and no approval request is sent. Ordinary notifications (rules without an approver) **keep sending** — only the approval step pauses. Upgrading resumes approvals for new submissions; paused ones aren't sent retroactively. # Sending & Delivery Limits This guide explains where your notifications are sent from and the limits that apply — the things most likely to trip people up on high-volume forms. ## Emails send from your Google account When a response comes in, Form Notifications sends the notification **from your own Google account** — the account that set up the add-on on the form. Recipients see it as coming from your address, with the **sender name** you set. Because notifications go out through your account, they count against **your Google sending limit**: - **Personal Gmail accounts:** roughly **100 emails per day** - **Google Workspace accounts:** roughly **1,500 emails per day** On a busy form it's possible to reach that limit — after which further notifications won't send until it resets (about 24 hours). If you expect high volume, a Workspace account has far more headroom. > These are Google's own account limits, not a Form Notifications limit — they apply across everything that account sends. ## Approval emails are handled differently For rules that [require approval](https://skyfield.cloud/addons/form-notifications/docs/guides/approvals), the **final email to your recipients** (sent after the approver signs off) comes from **Skyfield's mail servers** rather than your account. The approval request to the approver is still sent from your account. ## Per-form daily cap On top of Google's account limit, Form Notifications applies a safety cap of **500 notifications per form per day**. This prevents an accidental loop or a runaway form from sending thousands of emails. Approval flows count toward the same cap — a submission held for approval uses one of the 500, whether it's later approved or rejected. It's well above ordinary usage — [contact us](https://skyfield.cloud/contact) if you have a genuine high-volume need. ## Deliverability tips - **Set a reply-to address.** A real reply-to on the notification makes recipients (and their mail providers) more likely to treat the email as legitimate. - **On a managed Workspace domain,** if recipients aren't receiving notifications, your domain's email-security settings may be filtering messages sent through the add-on — ask your Google Workspace admin to confirm sending is allowed. ## When your domain blocks Google-sent mail Some organizations publish a strict **DMARC** policy that tells receiving mail servers to **reject any message that isn't sent through the organization's own mail system**. Because Form Notifications sends through Google (your account), a strict domain can cause those messages to be **silently rejected** — the add-on shows the send as **Sent** (it was handed to Google), but recipients never receive it, and no bounce is visible in the add-on. This usually shows up on a **custom-domain Workspace account** (e.g. `you@yourschool.org`) whose domain enforces DMARC without authorizing Google as a sender. Personal **Gmail** addresses (`@gmail.com`) are always aligned and deliver normally. **How to fix it:** - **Send from a Gmail account (simplest).** The sender is whichever account set up the add-on on the form. If notifications from your custom domain are being rejected, set up the add-on — or use **Take over sending** — from a personal **Gmail** account, so notifications go out from an address that delivers reliably. - **Or authorize Google on your domain (admin).** Ask your Google Workspace administrator to allow your domain to send through Google (an SPF / DMARC alignment change). This keeps your custom-domain address as the sender. > Not sure if you're affected? Use **Send a test** (in a notification's Edit menu) — if the test doesn't arrive, your recipients won't either. ## Permissions you can decline (and what stops working) When you install the add-on, Google's consent screen lets you **untick individual permissions**. The add-on still installs and opens — but the feature behind an unticked permission is turned off: | Permission on the consent screen | What it powers | Without it | | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Send email as you** | Sending notifications from your account | Notifications from forms where **you are the sender** can't be sent. The editor shows an **"Email permission is turned off"** warning with an **Allow email sending** link. | | **See, edit, create, and delete only the specific Google Drive files you use with this app** | **Export to Sheets** on the history page (the add-on only ever touches sheets it creates) | The export button becomes **Allow Drive access to export**. | **To grant a declined permission**, click the link in the warning (or on the export button) — it opens Google's consent screen with just the missing permission. Tick it, click **Continue**, and return to the add-on: the warning clears on its own within a moment. If it doesn't, use the **check again** button, or close and reopen the add-on from the **Add-ons** menu — Google occasionally needs the reload to pick up the new permission. > On a form with several editors, notifications are sent from **one** account — the sender shown in the editor. Another editor declining "Send email as you" on their own account doesn't affect sending; only the **sender's** permission matters. If the sender's permission is off, a co-editor can use **Take over sending** to send from their account instead. ## When a send is skipped Some submissions produce no email on purpose — for example, a rule whose only recipient is a respondent or form field that didn't provide a valid address (see [Recipients](https://skyfield.cloud/addons/form-notifications/docs/guides/recipients)), or a rule whose conditions didn't match. These are expected and aren't failures. # Testing Your Notifications Nothing is more frustrating than finding out a notification never arrived — after the responses you cared about came in. This guide shows how to verify your setup end to end in under a minute, and explains the automatic checks that catch the most common delivery problems while you're still setting up. ## Send a test email Every notification has a **Send test** button — open the notification, click **Edit notification** (top right), and find **Send a test**. You can deliver the test to: - **My inbox** — sends a sample to your own email address. This is the quickest check that your subject, message, and merge tags look right. - **The saved recipients** — sends the same sample to the recipients configured on the notification's delivery rules: the complete journey your real notifications will take, ending in the same inboxes. The test email uses **placeholder answers** (the first choice of each question, or a sample phrase) so your merge tags render with realistic content — no form submission is created, and nothing appears in your submissions history. A banner at the top marks it clearly as a test. Tests are sent **from your Google account through the exact same channel as live notifications**. That's deliberate: if a test arrives, live notifications will too. > **Recipients from form answers are skipped in tests.** Rules that send to the *respondent* or to an email address *answered in the form* need a real submission to know the address — a test has none. Test those by submitting the form once yourself. ## The recipient address check When you add recipients to a delivery rule, Form Notifications quietly checks each address's **domain** (the part after the `@`) against public DNS: does this domain exist, and can it receive email at all? If a domain can't receive mail — because it doesn't exist, is misspelled, or has no mail service — you'll see a warning right in the rule editor: > ⚠️ Mail to `examle.com` can't be delivered — the domain doesn't exist or has no mail service. Check for typos. This catches the most silent failure in email: a typo'd domain. The message would be handed to Google without error and reported as **Sent**, but it can never arrive, and the only trace is a bounce in the *sender's* inbox that's easy to miss. The warning is advisory — you can still save the rule. Some internal company domains only resolve inside their own network, so a warning on an address you *know* works can be safely ignored. ## A recommended pre-launch routine 1. **Create your notification** and add its delivery rules. 2. **Send a test to my inbox** — check the subject, message, and merge tags. 3. **Send a test to the saved recipients** — ask one recipient to confirm it arrived. 4. **Submit the form once yourself** — this exercises the real trigger, plus any conditions and respondent/form-field recipients. If all three emails arrived, your setup is verified end to end. ## When a test doesn't arrive - **Check spam** first — a recipient's filter may hold the first message from a new sender. - **Recipient domain warning showing?** Fix the typo in the address. - **Nothing in your own inbox either, even spam?** Your email provider may be rejecting mail that Google sends for your address — see [when your domain blocks Google-sent mail](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits#when-your-domain-blocks-google-sent-mail). - **Conditions on the rule?** A test to recipients ignores conditions, but real submissions don't — make sure your test submission actually matches them. - Still stuck? See [troubleshooting](https://skyfield.cloud/addons/form-notifications/docs/support/troubleshooting) or [contact us](https://skyfield.cloud/contact). # FAQ Common questions about Form Notifications. For fixes to specific problems, see [Troubleshooting](https://skyfield.cloud/addons/form-notifications/docs/support/troubleshooting). ## Getting Started #### What is Form Notifications? Form Notifications is a Google Forms add-on that sends custom email notifications when your form receives a response. You can write branded messages, pull answers in with merge tags, email different people based on the answers, and require approval before anything goes out. #### Is Form Notifications free? It offers a 7-day free trial with full access to every feature — no credit card required. After the trial, a paid subscription is needed to keep using it. [View pricing](https://skyfield.cloud/addons/form-notifications/pricing). #### What happens when my trial ends? Your notifications **keep sending** — nothing breaks for respondents. Editing is locked until you upgrade, and rules that require approval pause (skipped submissions stay visible in the history). See [what still works](https://skyfield.cloud/addons/form-notifications/docs/support/troubleshooting#what-still-works-after-my-trial-ends). #### Can my school or organization pay by invoice? Yes. For schools and organizations we can issue an invoice payable by bank transfer, provide a quote for a purchase order, and supply a VAT-compliant invoice. [Contact us](https://skyfield.cloud/contact) with your details. #### Do you offer a domain-wide license or school discounts? Yes. A domain license covers everyone in your Google Workspace domain under one annual subscription with central billing — no per-user seats — usually the best fit for schools and organizations. Reduced pricing is available for schools, universities, and non-profits. See the Domain plan on the [pricing page](https://skyfield.cloud/addons/form-notifications/pricing), or [contact us](https://skyfield.cloud/contact). #### How do I install and open it? Install from the Google Workspace Marketplace — no separate download. Then open your form, click the **Add-ons** (puzzle piece) icon → **Form Notifications** → **Start**. See [Getting Started](https://skyfield.cloud/addons/form-notifications/docs/getting-started). ## Recipients #### Who can receive a notification? Each delivery rule can send to any combination of: - A **typed email address** (plus separate CC and BCC) - The **respondent** — whoever submitted the form - A **form field** — an email address collected in one of your questions Add recipients from the **To** row using **+ Add**, then pick the type. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/recipients). #### How do I email the person who submitted the form? On the **To** row, choose **+ Add → Respondent**. Your form must collect respondent emails (**Settings → Responses → Collect email addresses** in the form). #### Can CC and BCC use the respondent or a form field? No — CC and BCC accept typed email addresses only. The respondent and form-field recipients go in the **To** line. #### Who do replies go to? By default, your account's email address. You can override this per notification under **Message → Reply-to**. ## Message & Merge Tags #### Can I customize the email? Yes. Each notification has its own subject and body, edited with a rich-text editor. You can also set a sender name and a reply-to address. #### What merge tags can I use? Any individual question's answer, plus **All Answers**, **Form Name**, **Response Date**, **Respondent Email**, and **Response Edit URL**. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/merge-tags). #### What if a merge tag points at a deleted question? It renders as empty text, and the editor flags it as an error and turns the notification off until you fix it — so a broken message can't send. ## Conditional Delivery #### Can I email different people based on the answers? Yes. A notification can have multiple rules, each with its own conditions (e.g. "Priority equals High") and its own recipients. Only rules whose conditions match a submission send. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/conditional-routing). #### What condition operators are there? **equals**, **contains**, **is any of**, and **is empty**. For multiple-choice, checkbox, and dropdown questions, conditions match the selected option(s). ## Approvals #### What are approvals? You can require a designated approver to sign off before a notification is sent. The approver gets an email with the response and Approve / Reject buttons; recipients only get the email after approval. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/approvals). #### How long does an approval request stay valid? 7 days. If the approver doesn't respond, the request expires and nothing is sent. ## Sending & Delivery #### Where are notifications sent from? From your own Google account — the one that set up the add-on on the form. Recipients see the email as coming from you, with the sender name you choose. The one exception: for approval rules, the final email after sign-off is sent from Skyfield's mail servers. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits). #### Is there a sending limit? Two apply. Because notifications send from your Google account, they count against your account's daily limit (about 100/day on personal Gmail, 1,500/day on Workspace). Form Notifications also caps sends at 500 per form per day as a safety limit. [Learn more](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits). #### Why didn't a submission send an email? Usually because the rule's conditions didn't match, or the only recipient was a respondent or form field that didn't supply a valid address (those are skipped by design). See [Troubleshooting](https://skyfield.cloud/addons/form-notifications/docs/support/troubleshooting). ## Permissions & Privacy #### What does Form Notifications need access to? - **The current form only** — to read its responses and questions - **Sending email / external requests** — to build and deliver your notifications - **Triggers** — to run when a new response is submitted - **Your email address** — to identify your account #### What happens to my form data? Response data is sent to our service to build and deliver each notification (and to handle approvals). See our [Privacy Policy](https://skyfield.cloud/privacy) for how data is handled and retained. ## Still have questions? Check [Troubleshooting](https://skyfield.cloud/addons/form-notifications/docs/support/troubleshooting), our [Common Questions](https://skyfield.cloud/common-questions), or [contact us](https://skyfield.cloud/contact). # Troubleshooting Fixes for the most common Form Notifications issues. Still stuck? [Contact us](https://skyfield.cloud/contact). ## My notification didn't send Work through the rule: - Is the notification **turned on**? (It turns itself off if it has validation errors.) - Does the rule have at least one **recipient** — a typed email, the respondent, or a form field? - Did the submission actually **match the rule's conditions**? - If the only recipient is the **respondent or a form field**, did that response provide a valid email address? If not, that submission is skipped by design. - Does the editor show an **"Email permission is turned off"** warning? Sending needs the "Send email as you" permission — click **Allow email sending** in the warning to grant it. See [permissions you can decline](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits#permissions-you-can-decline-and-what-stops-working). If everything looks right, open your form's trigger list (**Extensions → Apps Script → Triggers**) and confirm an `onFormSubmit` trigger for Form Notifications is present. ## I copied a form and notifications stopped When you make a copy of a Google Form, Google copies your questions and your Form Notifications settings — but it does **not** carry over the behind-the-scenes trigger that sends emails on each submission. This is a Google Forms limitation with copies. **Fix:** open Form Notifications once on the copied form. That re-creates the trigger. You only need to do this once per copy. ## Notifications suddenly stopped on a busy form You may have hit your Google account's daily sending limit (about 100 emails/day on personal Gmail, 1,500/day on Workspace) — notifications send from your own account and count against that limit. It resets after about 24 hours. See [Sending & Delivery Limits](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits). ## Every recent submission shows "Send failed" When the history shows a run of failed sends, the **sender account** (the editor shown as the sender — notifications go out from one account, even on forms with several editors) is usually the problem: - The sender may have **declined the "Send email as you" permission** — sends fail until they grant it ([how](https://skyfield.cloud/addons/form-notifications/docs/guides/sending-and-limits#permissions-you-can-decline-and-what-stops-working)). The editor shows a warning when it detects this pattern. - If you're a co-editor, **Take over sending** (in the warning) switches the sender to your account — new submissions then send from you. ## The person who set up notifications left Notifications are sent by **one** editor's account. If that person loses access to the form (leaves the organization, uninstalls the add-on), sending stops silently — responses keep arriving but nothing is emailed. The editor detects this and shows a **"Notifications may have stopped sending"** warning; click **Take over sending** to continue sending from your own account. ## What still works after my trial ends? Editing is locked and the editor shows an upgrade banner, but your **ordinary notifications keep sending** — nothing you set up breaks for respondents. Only rules that **require approval pause** (skipped submissions are visible in the history). Upgrading unlocks editing and resumes approvals for new submissions. ## Emails are going to spam - Set a **reply-to** address on the notification — a real reply address makes recipients and mail providers more likely to trust the message. - On a managed **Google Workspace** domain, ask your admin to confirm the domain's email-security settings aren't filtering messages sent through the add-on. ## The wrong Google account is shown Account questions — including the wrong Google account appearing — are covered in our [Common Questions](https://skyfield.cloud/common-questions). # Form Scheduler Documentation Control when your Google Forms open and close using Google Calendar events. ## Getting Started - [Getting Started](https://skyfield.cloud/addons/form-scheduler/docs/getting-started) - Install and set up Form Scheduler - [Features](https://skyfield.cloud/addons/form-scheduler/docs/getting-started/features) - Overview of what Form Scheduler can do ## Guides - [Calendar Scheduling](https://skyfield.cloud/addons/form-scheduler/docs/guides/calendar-scheduling) - Connect a calendar and control your form - [Response Limits](https://skyfield.cloud/addons/form-scheduler/docs/guides/response-limits) - Limit responses per event window - [Custom Close Message](https://skyfield.cloud/addons/form-scheduler/docs/guides/close-message) - Customize closed form message - [Notifications](https://skyfield.cloud/addons/form-scheduler/docs/guides/notifications) - Get email alerts ## Support - [FAQ](https://skyfield.cloud/addons/form-scheduler/docs/support/faq) - Common questions and answers - [Pricing](https://skyfield.cloud/addons/form-scheduler/pricing) - Plans and pricing - [Contact Us](https://skyfield.cloud/contact) - Get in touch # Getting Started Form Scheduler automatically opens and closes your Google Forms based on Google Calendar events. ## Installation 1. Visit the [Google Workspace Marketplace](https://workspace.google.com/marketplace){rel="nofollow"} 2. Search for "Form Scheduler" 3. Click **Install** and follow the prompts 4. Grant the necessary permissions ## Quick Start 1. Open any Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Scheduler** → **Start** 3. Go to the **Calendar** tab and connect a Google Calendar 4. Add events to that calendar — each event opens the form Your form will automatically open when events start and close when they end. > **Working from a copied form?** Open Form Scheduler once on the copy to activate it — Google doesn't carry the schedule over to copied forms. ## Next Steps - Learn about [all features](https://skyfield.cloud/addons/form-scheduler/docs/getting-started/features) - Read the [calendar scheduling guide](https://skyfield.cloud/addons/form-scheduler/docs/guides/calendar-scheduling) - Check out [pricing options](https://skyfield.cloud/addons/form-scheduler/pricing) - Read the [FAQ](https://skyfield.cloud/addons/form-scheduler/docs/support/faq) # Features Form Scheduler uses Google Calendar to control when your Google Forms accept responses. ## Calendar Integration Connect a Google Calendar to your form. Any event on that calendar opens the form — when the event ends, the form closes. - Connect an existing calendar or create a new one - Recurring events work automatically - Edit your schedule from any device via Google Calendar [Learn more about Calendar Scheduling](https://skyfield.cloud/addons/form-scheduler/docs/guides/calendar-scheduling) ## Response Limits Limit how many responses your form accepts per calendar event window. - Set a maximum response count per event - Form closes automatically when the limit is reached - Counter resets for each new event window [Learn more about Response Limits](https://skyfield.cloud/addons/form-scheduler/docs/guides/response-limits) ## Event Merging When calendar events are less than 1 hour apart, they are automatically combined into one continuous window: Response limits and notifications apply to the merged window as a whole. [Learn more about Event Merging](https://skyfield.cloud/addons/form-scheduler/docs/guides/calendar-scheduling#event-merging) ## Email Notifications Get notified when your form opens or closes. - Receive email alerts on state changes - Triggered by calendar events and response limits - Customize the notification email address [Learn more about Notifications](https://skyfield.cloud/addons/form-scheduler/docs/guides/notifications) ## Custom Close Message Customize the message respondents see when your form is closed. - Set a friendly close message - Include when the form will reopen - Guide respondents to alternatives [Learn more about Close Messages](https://skyfield.cloud/addons/form-scheduler/docs/guides/close-message) # Calendar Scheduling Use Google Calendar events to control when your form accepts responses. Each event on the connected calendar opens the form — when the event ends, the form closes. ## Connecting a Calendar 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Scheduler** → **Start** 3. Go to the **Calendar** tab 4. Click the calendar row to open the connection modal 5. Select an existing calendar or create a new one 6. Click **Connect** Your form will immediately sync with the calendar — if an event is happening now, the form opens. ## How Events Control Your Form Any event on the connected calendar acts as an "open window": - **Event starts** → form opens (accepts responses) - **Event ends** → form closes (stops accepting responses) - **No events** → form stays closed This works with all event types: one-time, recurring, multi-day, and all-day events. ## Recurring Events Recurring events work automatically. Create a recurring event in Google Calendar (daily, weekly, monthly, etc.) and the form opens and closes for each occurrence. No extra configuration needed. ## Event Merging When calendar events are less than 1 hour apart, they are automatically combined into one continuous window: **What this means:** - Response limits apply to the merged window as a whole - Notifications are sent once for the merged window, not per event - The form stays open continuously across the merged events ## Short Events Events shorter than 1 hour still open the form, but it stays open for approximately 1 hour due to the trigger spacing constraint. The form closes at the next available trigger opportunity. ## Tips - **Use a dedicated calendar** — create a new calendar specifically for form scheduling. This avoids your personal events accidentally opening the form. - **Edit from anywhere** — change your schedule from Google Calendar on any device. Changes are picked up at the next trigger or sidebar open. - **Check merged windows** — if you need events to open/close the form independently, space them at least 1 hour apart. # Response Limits Set a maximum number of responses per calendar event window. When the limit is reached, the form closes automatically. ## Setting a Response Limit 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Scheduler** → **Start** 3. Go to the **Calendar** tab 4. Click **Limit form responses** 5. Toggle on **Limit responses per event** 6. Set the **Maximum responses** number 7. Click **Save** ## How It Works Each time a calendar event opens the form, the response counter starts at zero. When the count reaches your limit, the form closes automatically — even if the calendar event hasn't ended yet. The counter resets for each new event window: ```text Event 1 (9:00–10:00) Event 2 (14:00–15:00) Response 1 ✓ Response 1 ✓ Response 2 ✓ Response 2 ✓ Response 3 → limit! Response 3 → limit! (form closes) (form closes) ``` ## Merged Windows When events are less than 1 hour apart and get [merged into one window](https://skyfield.cloud/addons/form-scheduler/docs/guides/calendar-scheduling#event-merging), they share the same response limit. The counter does not reset between merged events. To have separate limits per event, space events at least 1 hour apart. ## No Limit If no response limit is set, the form stays open for the entire event duration regardless of how many responses are received. # Custom Close Message When your form closes, respondents see a message. Form Scheduler lets you customize this message. ## Setting a Custom Message 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Scheduler** → **Start** 3. Connect a calendar and enable scheduling 4. Enter your custom message in the **Close message** field 5. Click **Save** ## Default Message If you don't set a custom message, respondents see Google's default: > "This form is no longer accepting responses." ## Writing Effective Close Messages ### Be Clear Tell respondents why the form is closed: - "Registration opens again next Monday at 9am." - "The submission window has ended." ### Provide Alternatives Guide users to next steps: - "Registration closed. Join our waitlist at [link] " - "Applications closed. Follow us for future opportunities." ### Stay Professional Match your organization's tone: - Formal: "Thank you for your interest. This form is currently closed." - Friendly: "Thanks for stopping by! We're not accepting responses right now but check back soon." ## Tips - Keep messages concise - respondents see this on a simple page - Include contact info if respondents might have questions - Test your message by previewing the closed form - For recurring schedules, mention when the form will reopen next ## Character Limit Close messages support up to 500 characters. This is plenty for a clear, helpful message. # Notifications Stay informed when your Google Forms open or close with email notifications. ## Enabling Notifications 1. Open your Google Form 2. Click the **Add-ons** (puzzle piece) icon → **Form Scheduler** → **Start** 3. Go to the **Calendar** tab 4. Ensure notifications are toggled on 5. Enter your email address in the settings tab 6. Click **Save** ## What You'll Receive When your form state changes, you'll receive an email containing: - The form name - What happened (opened or closed) - Link to the form ## When Notifications Are Sent Emails are sent when: - A calendar event starts and the form opens - A calendar event ends and the form closes - A response limit is reached and the form closes early ## Managing Notifications Notifications are sent to the email address configured in the add-on settings. You can change this at any time. ## Tips - Check your spam folder if you don't receive expected notifications - Notifications confirm your calendar schedule is working correctly - Use notifications to know when to follow up with respondents - If your email domain has strict DMARC/SPF policies, use a Gmail address instead # FAQ Common questions about Form Scheduler features and usage. ## Getting Started #### What is Form Scheduler? Form Scheduler is a Google Forms add-on that automatically opens and closes your forms based on Google Calendar events. Connect a calendar, and any event on it controls when your form accepts responses. #### Is Form Scheduler free? Form Scheduler offers a 7-day free trial with full access to all features. No credit card required. After the trial, a paid subscription is required to continue using the add-on. [View pricing](https://skyfield.cloud/addons/form-scheduler/pricing). #### What happens to my schedule when my trial or subscription ends? When your trial or subscription ends, automatic opening and closing stops — Form Scheduler no longer manages your form. So a form isn't left open past its window, the add-on closes it rather than leaving it open. Your calendar connection and all settings are saved, and scheduling resumes as soon as you upgrade. #### Can my school or organization pay by invoice instead of a card? Yes. For schools and organizations we can issue an invoice you can pay by bank transfer, and we can provide a quote for a purchase order. We can also provide a VAT-compliant invoice. [Contact us](https://skyfield.cloud/contact) with your details and we'll set it up. #### Do you offer a domain-wide license or school discounts? Yes. A domain license covers everyone in your Google Workspace domain under a single annual subscription with centralized billing — no per-user seats — usually the best fit for schools, universities, and companies rolling Form Scheduler out organization-wide. Schools, universities, and non-profits can also request reduced pricing. See the Domain plan on the [pricing page](https://skyfield.cloud/addons/form-scheduler/pricing), or [contact us](https://skyfield.cloud/contact) for a quote. #### Where can I download Form Scheduler? Install directly from the Google Workspace Marketplace. No separate download required. #### How do I access Form Scheduler? Open your Google Form, click the puzzle piece icon (Add-ons), and select Form Scheduler. The add-on opens in a sidebar panel. #### Does Form Scheduler work on published forms? Yes. You can configure schedules on published forms. Changes take effect immediately. #### Will it slow down Google Forms? No. Form Scheduler works independently and doesn't impact Google Forms performance. #### What happens if I disable Form Scheduler? When you disable the master toggle, all automatic schedules are paused. Your settings are preserved. If the form was closed by Form Scheduler, it reopens automatically. ## Calendar & Scheduling #### How does scheduling work? Connect a Google Calendar to your form. Any event on that calendar opens the form — when the event ends, the form closes. Recurring events are supported automatically. 1. Open the add-on sidebar 2. Go to the Calendar tab 3. Connect an existing calendar or create a new one 4. Add events to that calendar — each event = form is open #### Which calendar should I use? Create a dedicated calendar for the form (the add-on offers a "Create" button). This keeps scheduling separate from your personal events. Any event on the connected calendar will open the form. #### Can I schedule recurring events? Yes. Add a recurring event to your connected Google Calendar. The add-on reads expanded event instances automatically — no extra setup needed. #### How often does the scheduler check? A background trigger fires at each event boundary (start/end). The add-on reads the Calendar API to determine the next state change and schedules a trigger for that exact time. #### What happens if I edit calendar events? Changes are detected on the next trigger fire or when you open the sidebar. There may be a brief delay before edits take effect. #### What happens if I manually open a form that was closed by schedule? If Form Scheduler is enabled and no calendar event is active, the form will close again at the next trigger. To keep it open, either disable the add-on or add a calendar event. #### Why are my calendar events merged? Google limits how often add-ons can check for changes — at most once per hour. When two calendar events are less than 1 hour apart, the form can't close and reopen between them. Instead, they're treated as one continuous window: This also means response limits and notifications apply to the merged window as a whole. #### What about short events (under 1 hour)? Due to the 1-hour trigger spacing constraint, the form stays open for approximately 1 hour even if the calendar event is shorter. The form will close at the next available trigger opportunity. ## Response Limits #### How do response limits work? Set a maximum number of responses per calendar event window. When the limit is reached, the form closes automatically. The count resets for each new event window. If events are less than 1 hour apart, they merge into one window and share the same limit. #### Where do I configure response limits? In the Calendar tab, click the "Limit form responses" row. Toggle the switch on and set the maximum number of responses. ## Notifications #### What notifications does Form Scheduler send? - When the form opens (due to a calendar event starting) - When the form closes (due to a calendar event ending or response limit reached) #### How do I configure notifications? Enter your email address and toggle on/off notification options. #### Who receives the notifications? Only the email address you configure. By default, this is the form owner's email. #### What happens if my connected calendar is deleted? If the Google Calendar connected to your form is deleted, Form Scheduler will: 1. **Close your form** automatically to prevent unscheduled responses 2. **Pause scheduling** — no more triggers will fire 3. **Show a warning** in the sidebar: "Calendar deleted — scheduling is paused" 4. **Send a notification email** if you have notifications enabled To resume, open the sidebar and connect a new calendar. ## Troubleshooting > **Installing, account, and device questions** — finding or opening the add-on, the wrong Google account showing, multiple editors, and mobile support — are answered in our [Common Questions](https://skyfield.cloud/common-questions). #### I'm not receiving notifications Check your spam folder. Ensure you enabled notifications in the add-on settings and entered the correct email address. **Important:** Notifications are sent via Google's servers on behalf of your email address. If your email domain has strict DMARC/SPF policies (common with custom domains like iCloud Mail, ProtonMail, or corporate email), messages may be rejected. Use a Gmail address for notifications to avoid this issue. **Still nothing? Re-authorize the add-on.** Notifications can also stop if the add-on's permission to send email becomes outdated — for example, if you granted access before turning notifications on. Reopen Form Scheduler and approve any permission prompt; if emails still don't arrive, removing and reinstalling the add-on from the Google Workspace Marketplace refreshes its permissions. #### My form didn't open/close at the right time (timezone) Check your Google account timezone settings. Form Scheduler uses your account's timezone for scheduling. #### I copied a form and it stopped opening/closing on schedule When you make a copy of a Google Form, Google copies your questions and your Form Scheduler settings, but it does **not** carry over the background trigger that opens and closes the form on schedule — a Google Forms limitation with copies. Just open Form Scheduler once on the copied form to re-activate it. You only need to do this once per copy. #### Can I edit or delete my settings? Yes. All schedule settings are fully customizable and can be removed anytime through the add-on interface. ## Permissions & Privacy #### Is my form data stored externally? No. All settings are stored at Google. Form Scheduler does not transmit your form data or responses to external servers. #### Can Form Scheduler read all my forms? No. The add-on uses the "currentonly" scope, meaning it can only access the specific form you opened it from. #### Why does the add-on need calendar access? The add-on reads your Google Calendar to determine when to open/close the form. It uses read-only calendar access — it cannot modify your events. #### Is my data shared with third parties? No. We never sell or share your data with third parties. ## Still have questions? [Contact Us](https://skyfield.cloud/contact) # Common Questions These answers apply to all of our Google Forms add-ons. For product-specific help, see each add-on's own FAQ. ## Installing & opening #### How do I open the add-on? Open your Google Form, click the puzzle-piece icon (Add-ons), and select the add-on. It opens in a sidebar panel. #### I can't find the add-on after installation Open any Google Form, click **Add-ons** in the menu, and select the add-on. If it's missing, try refreshing the page or reinstalling from the Google Workspace Marketplace. #### Why don't I see "Open" in the Add-ons menu? Google controls which add-on options appear in the dropdown. This can vary based on browser, cache, or Google's server-side state. Try: - Refresh the page (Ctrl/Cmd + R) - Close and reopen the form - Sign out and back into Google - Wait a few minutes after installation This is a Google Forms behavior we cannot control. ## Accounts #### The add-on shows the wrong Google account (or says I've lost access) If you're signed into more than one Google account in the same browser, Google may run the add-on as your **default** account — the first one you signed in with — not the account you opened the form with. This can make the add-on show the wrong email, display settings or a subscription that aren't yours, or report that you've lost access to the form. Switching accounts from the Forms account menu often doesn't stick — reloading the page snaps back to the default account. To fix it, do one of the following: - Make the form's account your **default** Google account: sign out of all accounts, then sign back in with that account first. - Sign the other accounts out of the browser. - Open the form in a separate **browser profile** or an **Incognito/Private window** signed in with only the right account. This is a Google multi-account behavior that affects all browser add-ons. If the panel opens blank instead, or says your organization has blocked the add-on, see [The add-on won't load](https://skyfield.cloud/add-on-not-loading). #### Can I use an add-on with multiple editors? Yes. Settings are stored with the form. Multiple editors can access the add-on, but simultaneous edits may cause conflicts. ## Devices #### Do the add-ons work on mobile? Our add-ons work in the Google Forms web interface on desktop browsers. Mobile browsers have limited add-on support. ## Still have questions? [Contact Us](https://skyfield.cloud/contact) # The add-on won't load If the add-on panel opens and stays empty, or shows **Blocked by your organization**, Google is refusing the add-on's requests before any of our code runs. The panel itself loads. Everything it asks for is denied. There are two common reasons, and they need different fixes. ## 1. You are signed into more than one Google account This is the more common one, and it looks exactly like a block. When you are signed into several Google accounts in the same browser, Google may run the add-on as your **default** account, the first one you signed in with, even though you are viewing the form as a different account. If that default account belongs to an organization that has not approved the add-on, every request is refused and the panel comes up empty. **How to tell.** Look at the address bar. A Google URL carries an account index: `docs.google.com/forms/u/0/...` is your first account, `/u/1/` the second, and so on. Multiple accounts in one browser is the condition that causes this. ![Browser address bar with /u/1/ highlighted: this form is open as your second account](https://skyfield.cloud/add-on-not-loading/address-bar-account-index.svg) **How to fix it.** - Open the form in an **Incognito or Private window**, signed in with only the account you want to use. This is the fastest check and confirms the diagnosis in about a minute. - Or use a separate **browser profile** for each account. - Or make the right account your default: sign out of all accounts, then sign back in with that one first. Switching accounts from the Forms account menu often does not stick, and reloading the page snaps back to the default account. This is Google multi-account behaviour that affects all add-ons, not only ours. [Common Questions](https://skyfield.cloud/common-questions) covers the other symptoms it produces. ## 2. Your Workspace administrator has not approved the add-on If your organization runs Google Workspace with Marketplace access restricted, an administrator has to allow each add-on before anyone in the domain can use it. Only an administrator can change this. Send them this: > Please allow this add-on for our domain: Google Admin console, **Apps**, **Google Workspace Marketplace apps**, **Apps list**, **Add app**. Search for the add-on and allow it for the relevant organizational units. Once they have allowed it, close and reopen the form. It can take a few minutes to take effect. ## 3. The panel says "Can't Load Your Settings" or "Google Refused the Request" Google let the add-on run, but one of its requests did not come back. The panel names which of two things happened. **"Can't Load Your Settings"**: the request that reads your form did not answer within 15 seconds. It happens most on large forms with many questions, and sometimes when Google Forms itself is slow. ![The panel showing Can't Load Your Settings, with a Try again button](https://skyfield.cloud/add-on-not-loading/settings-unavailable-en.png){.w-auto width="300"} - Press **Try again**. The second request usually lands. - If it does not, close the panel and open the add-on again from the puzzle-piece menu. A large form can take a moment. **"Google Refused the Request"**: Google rejected the request outright instead of answering it. Pressing Try again rarely helps here. Usually the add-on is running as a different Google account than the one you are viewing the form with, the multi-account case in section 1, or the add-on's authorization has expired. ![The panel showing Google Refused the Request, with two things to try](https://skyfield.cloud/add-on-not-loading/settings-refused-en.png){.w-auto width="300"} - Open the form in an **Incognito or Private window**, signed in with only the account you want to use. - Or close the panel and open the add-on again from the puzzle-piece menu. If Google asks you to authorize it, accept. In both cases nothing is lost. Your limits, schedule and other settings are stored with the form and keep working in the background. If it still fails after a few tries, contact us and tell us the form's title and which Google account you are using: [the settings did not load](https://skyfield.cloud/contact?reason=settings-unavailable) or [Google refused the request](https://skyfield.cloud/contact?reason=settings-refused). ## Still stuck? If neither applies, you are signed into one account and your administrator says the add-on is allowed, [contact us](https://skyfield.cloud/contact). Tell us which add-on and which Google account you are using and we will check the logs for that account. # Billing Questions about pricing, payments, and managing your subscription. ## Free Trial #### How does the free trial work? Just install the Add-on and start using it! 7-day free trial with full features. No credit card required. ## Payments #### What payment methods are accepted? Major credit cards, PayPal, and other methods depending on your location. All processed securely through Stripe. #### Is payment secure? Yes. All payments are processed through Stripe. We never store your credit card information. ## Subscriptions #### Can I switch plans later? Yes. Upgrade or downgrade anytime. When upgrading, you're credited for the unused portion of your current plan. #### How do I cancel my subscription? Cancel anytime from your account settings or the Stripe billing portal. Access continues until end of billing period. ## Refunds & Account #### Do you offer refunds? Yes. 7-day money-back guarantee on all plans. Contact us for a full refund. #### How do I delete my account? Contact support to request account deletion. We'll remove all your data. ## Still have questions? [Contact Us](https://skyfield.cloud/contact) # About Skyfield We build dependable Google Workspace add-ons — the kind you set up once and forget about. # Contact Us We're here to help. Reach out with questions, feedback, or support requests. ## Before Contacting Us Check our resources first - your question may already be answered: - [Help Center](https://skyfield.cloud/support) - Find answers and get support for our Google Workspace add-ons - [Common Questions](https://skyfield.cloud/common-questions) - Accounts, installing, and cross-add-on help - [Billing](https://skyfield.cloud/billing) - Payment and subscription questions Prefer email? Write to ****. We typically respond within 24-48 hours. # Privacy Policy ## Introduction **We take the privacy of our users very seriously.** We have implemented safeguards to ensure your data remains confidential. We never sell your data, and we share it only with the service providers we need to run Skyfield, or where the law requires it. ## Google API Services User Data Policy Skyfield's use and transfer to any other app of information received from Google APIs will adhere to [Google API Services User Data Policy](https://developers.google.com/terms/api-services-user-data-policy#additional_requirements_for_specific_api_scopes){rel="nofollow"}, including the Limited Use requirements. ## Data We Access Our add-ons only access the minimum data required to function. The specific data accessed depends on which add-on you use: ## Data Storage Notice We do not store your Google files (emails, forms, spreadsheets, or documents) on our servers. Those remain on Google's servers. We only access this data to display it in the add-on and perform actions on your behalf. Choice Eliminator Live is the one exception, described below. **What we store:** - Your email address (for account identification) - Your add-on settings and preferences - Your subscription status - A limited set of technical signals used to prevent abuse (described under Fraud and Abuse Prevention below) - For Choice Eliminator Live only: the hosted copy of your form and the responses submitted through it (described below) We do not sell your data, and we share it only with the service providers needed to operate Skyfield (such as our hosting provider) or where required by law. ## Hosted Forms (Choice Eliminator Live) Choice Eliminator Live works by hosting your form, because holding a limit on each answer choice while many people submit at the same moment is not something Google Forms can do on its own. When you turn it on, the add-on sends that form's structure — its title, description, questions, and answer choices — to our servers, and we publish it at a Skyfield link you share with respondents. Answers submitted through that link are stored on our servers, together with a count of how many people picked each choice. Answers submitted through your original Google Forms link never reach us, no other form in your Google account is read, and the add-on creates no files in your Drive. You can ask us to delete a hosted form and its responses at any time — see Deleting Your Data below. ## Fraud and Abuse Prevention To protect our add-ons from abuse — such as repeatedly creating new accounts to get unlimited free trials — we collect a small set of technical signals each time you open an add-on: - Your IP address, and the approximate country it indicates - Standard browser and device details (such as your browser, operating system, language, and time zone) - A device fingerprint: a short, one-way code computed from your browser and device details. It cannot be turned back into those details and does not identify you by name. We use these signals to detect and prevent abuse of our add-ons. We do not use any of this to build advertising or marketing profiles or to track you across other websites, and we never sell it. We rely on our legitimate interest in preventing fraud to process this data, and you can object at any time by emailing . ## Data Retention and Deletion ### How Long We Keep Your Data We retain your personal data (email address, add-on settings, subscription status) only as long as necessary to provide our services: - **Active accounts**: Data retained while you use our add-ons - **Inactive accounts**: Data may be deleted after 12 months of inactivity - **Subscription records**: Retained as required for billing/legal compliance - **Abuse-prevention signals**: Kept only as long as needed to detect and prevent abuse, then removed or anonymised We do not retain copies of your Google files (forms, spreadsheets, etc.) — these remain solely on Google's servers. ### Deleting Your Data You can request deletion of your data at any time by emailing . Upon receiving a verified request: - We will delete your stored data within 30 days - Uninstalling the add-on immediately revokes our access to your Google data - Some data may be retained if required by law or for fraud prevention To fully remove the add-on's access to your Google account, visit your [Google Account permissions](https://myaccount.google.com/permissions){rel="nofollow"} and revoke access. ## External Services Our add-ons connect to our backend (skyfield.cloud) to: - Authenticate your account - Check your subscription tier - Process upgrades All connections use HTTPS encryption. ## Information We Collect and How We Use It Skyfield processes personal information on servers in the EU and US. We only process personal information for: - Providing our products and services to users - Ensuring the technical functioning and safety of our system - Improving the quality of the service we offer ## Data Protection We take appropriate security measures to protect against unauthorized access to or unauthorized alteration, disclosure or destruction of data. These include internal reviews of our data collection, storage and processing practices, as well as physical security measures to guard against unauthorized access to systems where we store personal data. ## Contact Skyfield adheres to Dutch privacy principles of Notice, Choice, Onward Transfer, Security, Data Integrity, Access and Enforcement. If you have any questions about this Policy, please contact us at . # Terms of Service ## 1. Your Relationship with Skyfield 1.1 Your use of Skyfield's products, software, services and web sites (referred to collectively as the "Services" in this document) is subject to the terms of a legal agreement between you and Skyfield. "Skyfield" means Skyfield, whose principal place of business is in Eindhoven, Netherlands. This document explains how the agreement is made up, and sets out some of the terms of that agreement. 1.2 Unless otherwise agreed in writing with Skyfield, your agreement with Skyfield will always include, at a minimum, the terms and conditions set out in this document. ## 2. Accepting the Terms 2.1 In order to use the Services, you must firstly agree to the Terms. You may not use the Services if you do not accept the Terms. 2.2 You can accept the Terms by: (A) clicking to accept or agree to the Terms, where this option is made available to you by Skyfield in the user interface for any Service; or (B) by actually using the Services. In this case, you understand and agree that Skyfield will treat your use of the Services as acceptance of the Terms from that point onwards. 2.3 You may not use the Services and may not accept the Terms if (a) you are not of legal age to form a binding contract with Skyfield, or (b) you are a person barred from receiving the Services under the laws of the United States, the Netherlands, or other countries including the country in which you are resident or from which you use the Services. ## 3. Provision of the Services by Skyfield 3.1 Skyfield is constantly innovating in order to provide the best possible experience for its users. You acknowledge and agree that the form and nature of the Services which Skyfield provides may change from time to time without prior notice to you. 3.2 As part of this continuing innovation, you acknowledge and agree that Skyfield may stop (permanently or temporarily) providing the Services (or any features within the Services) to you or to users generally at Skyfield's sole discretion, without prior notice to you. You may stop using the Services at any time. You do not need to specifically inform Skyfield when you stop using the Services. 3.3 You acknowledge and agree that if Skyfield disables access to your account, you may be prevented from accessing the Services, your account details or any files or other content which is contained in your account. ## 4. Use of the Services by You 4.1 In order to access certain Services, you may be required to provide information about yourself (such as identification or contact details) as part of the registration process for the Service, or as part of your continued use of the Services. You agree that any registration information you give to Skyfield will always be accurate, correct and up to date. 4.2 You agree to use the Services only for purposes that are permitted by (a) the Terms and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions. 4.3 You agree not to access (or attempt to access) any of the Services by any means other than through the interface that is provided by Skyfield, unless you have been specifically allowed to do so in a separate agreement with Skyfield. 4.4 You agree that you will not engage in any activity that interferes with or disrupts the Services (or the servers and networks which are connected to the Services). 4.5 Unless you have been specifically permitted to do so in a separate agreement with Skyfield, you agree that you will not reproduce, duplicate, copy, sell, trade or resell the Services for any purpose. 4.6 You agree that you are solely responsible for (and that Skyfield has no responsibility to you or to any third party for) any breach of your obligations under the Terms and for the consequences (including any loss or damage which Skyfield may suffer) of any such breach. ## 5. Your Passwords and Account Security 5.1 You agree and understand that you are responsible for maintaining the confidentiality of passwords associated with any account you use to access the Services. 5.2 Accordingly, you agree that you will be solely responsible to Skyfield for all activities that occur under your account. 5.3 If you become aware of any unauthorised use of your password or of your account, you agree to notify Skyfield immediately at . ## 6. Privacy and Your Personal Information 6.1 For information about Skyfield's data protection practices, please read Skyfield's privacy policy at [/privacy](https://skyfield.cloud/privacy). This policy explains how Skyfield treats your personal information, and protects your privacy, when you use the Services. 6.2 You agree to the use of your data in accordance with Skyfield's privacy policies. ## 7. Ending Your Relationship with Skyfield 7.1 The Terms will continue to apply until terminated by either you or Skyfield as set out below. 7.2 If you want to terminate your legal agreement with Skyfield, you may do so by (a) notifying Skyfield at any time and (b) closing your accounts for all of the Services which you use, where Skyfield has made this option available to you. Your notice should be sent, in writing, to Skyfield's address at . 7.3 Skyfield may at any time, terminate its legal agreement with you if: (A) you have breached any provision of the Terms; or (B) Skyfield is required to do so by law; or (C) Skyfield elects, in its sole discretion, to discontinue providing the Services (or any part of them) to you. ## 8. Exclusion of Warranties 8.1 The Services are provided "as is" and Skyfield gives you no warranty with respect to them. 8.2 In particular, Skyfield does not represent or warrant to you that: (A) your use of the Services will meet your requirements, (B) your use of the Services will be uninterrupted, timely, secure or free from error, (C) any information obtained by you as a result of your use of the Services will be accurate or reliable, and (D) that defects in the operation or functionality of any Software provided to you as part of the Services will be corrected. 8.3 Nothing in the Terms shall affect those statutory rights which you are always entitled to as a consumer and that you cannot contractually agree to alter or waive. ## 9. Limitation of Liability 9.1 Nothing in these Terms shall exclude or limit Skyfield's liability for losses which may not be lawfully excluded or limited by applicable law. 9.2 Subject to overall provision in paragraph 9.1 above, Skyfield shall not be liable to you for: (A) any indirect or consequential losses which may be incurred by you; (B) any loss of profit, goodwill or business reputation; (C) any loss or damage which may be incurred by you as a result of any changes to the Services or cessation in the provision of the Services. 9.3 The limitations on Skyfield's liability to you in paragraph 9.2 above shall apply whether or not Skyfield has been advised of or should have been aware of the possibility of any such losses arising. ## 10. Changes to the Terms 10.1 Skyfield may make changes to the Terms from time to time. When these changes are made, Skyfield will make a new copy of the Terms available at [/terms](https://skyfield.cloud/terms). 10.2 You understand and agree that if you use the Services after the date on which the Terms have changed, Skyfield will treat your use as acceptance of the updated Terms. ## 11. General Legal Terms 11.1 The Terms constitute the whole legal agreement between you and Skyfield and govern your use of the Services, and completely replace any prior agreements between you and Skyfield in relation to the Services. 11.2 You agree that Skyfield may provide you with notices, including those regarding changes to the Terms, by email, regular mail, or postings on the Services. 11.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of these Terms is invalid, then that provision will be removed from the Terms without affecting the rest of the Terms. The remaining provisions of the Terms will continue to be valid and enforceable. 11.4 The Terms, and your relationship with Skyfield under the Terms, shall be governed by Dutch law. You and Skyfield agree to submit to the exclusive jurisdiction of the courts of the Netherlands to resolve any legal matter arising from the Terms. --- *Last updated: October 2025*