Fillout logo Fillout automation · runs weekly

Close a Fillout form on a date or after a response limit

An event form should stop taking sign-ups at midnight on the deadline, and with ten active forms it is easy to leave one open for weeks after the event is over.

Cotlet does it in your own Fillout account with list_forms, get_form_settings, list_submissions and update_form_access, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Can Fillout do this on its own?

Fillout sets form access only in the form's settings (checked 17 Oct 2026). Form Agent does not manage form-level settings, and the REST API has no endpoint for them: it reads submissions and lists forms, but cannot close one.

How you do it in Fillout today

  1. Open the form, click the settings icon in the top right and go to Access.
  2. Toggle what applies: Close form, Form open date, Form expiration date, Form submission limit or Custom form closed message.
  3. Repeat for every form of the campaign, one editor at a time.
  4. To check how many responses came in, open Results from the top menu of each form.
  5. Nobody is told when a form closes, so a forgotten expiration date shows up only when a respondent complains.

How to close a Fillout form on a date or after a response limit

Prompt

Every Monday, go through my Fillout forms that have an expiration date, and for "Autumn event" set it to 30 November 2026 23:59 with the closed message "Registration is closed. See you next year." Tell me which forms are already closed.
  1. 01

    Read the current access

    get_form_settings returns the Access toggles of each form in scope, so the agent only changes what differs from your instruction.

  2. 02

    Count the responses

    list_submissions gives total_responses for the form, and the agent compares it with a submission limit before setting one that is already below the count.

  3. 03

    Close or schedule

    update_form_access sets expiration date, open date, submission limit or closed message, or closes the form now. It asks for your OK first, because a closed form stops respondents immediately.

  4. 04

    Keep unrelated forms alone

    Forms that match no rule in your prompt are listed, never changed, and the agent never reopens a form you closed by hand without being told to.

  5. 05

    Report each form

    The agent lists every form with its new state, so a form with no expiration date stands out.

What you get back

Example data

Forms checked: 6
Changed 1: "Autumn event" now closes on 30 Nov 2026 23:59, message "Registration is closed. See you next year."
Already closed 2: "Spring event", "Beta waitlist"
No expiration date 3: "Contact us", "Feedback", "Newsletter"

Other ways to ask

  • Close "Giveaway" after 500 responses and show "Thanks, all spots are taken."
  • Open "Black Friday signup" on 27 November at 08:00 and close it on 1 December.
  • List every form without an expiration date and do not change anything.

What Fillout allows, and what to know first

  • Fillout's Access settings are Close form, Form open date, Form expiration date, Form submission limit and Custom form closed message.
  • Close form disables the form immediately and prevents new submissions.
  • A submission limit disables access once the form receives that many responses.
  • Limiting each respondent to one response needs a login page with that setting turned on, not an Access toggle.
  • The REST API's list of submissions returns the total number of responses for the filter you pass, which is how a limit can be checked from outside Fillout.

update_form_access asks for your OK by default. To run it weekly without you, switch confirmation off for that tool in your dashboard.

Sources: Fillout Help: Manage and limit form access · Fillout Help: Build forms with Form Agent · Fillout Help: Login page · Fillout Help: Get all submissions (API reference)

Call update_form_access from a script

curl

curl -X PATCH https://cotlet.dev/api/v1/fillout/forms/tD6wNs3hLz8P/access \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"expiration_date":"2026-11-30T23:59:00+01:00","closed_message":"Registration is closed. See you next year."}'

Example response

{
  "form_id": "tD6wNs3hLz8P",
  "access": {
    "closed": false,
    "open_date": null,
    "expiration_date": "2026-11-30T23:59:00+01:00",
    "submission_limit": null,
    "closed_message": "Registration is closed. See you next year."
  }
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is fillout_write → update_form_access. Example data.

Schedule it in n8n, Make, Zapier or cron

Fillout tools this automation uses

Cotlet Fillout tools used to close a Fillout form on a date or after a response limit
Tool Parameters
list_forms none
get_form_settings form_id
list_submissions form_id, status, after_date, before_date, search, sort, include_preview, limit, offset
update_form_access form_id, closed, open_date, expiration_date, submission_limit, closed_message
All 15 Fillout tools with descriptions

Frequently asked questions

Is it safe to connect Fillout to Cotlet?

Yes. You sign in to Fillout yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Fillout once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

Give your agent access to Fillout.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Fillout.