Skip to content

inspect ​

Fetch form metadata and risk flags — no submit. Anonymous fetch by default; use --auth / --profile when the form requires Google sign-in (file uploads, org restrict).

basic usage ​

bash
gform inspect <form>
gform inspect ./forms/<form>.yaml
gform inspect 'https://docs.google.com/forms/d/e/…/viewform'
gform insp <form>                   # short alias

# login-walled / file-upload forms:
gform inspect 'https://…/viewform' --auth
gform inspect 'https://…/viewform' --profile work
gform insp 'https://…/viewform' -A -pr work

Pass a URL directly, or a form name/path (gform loads the YAML and inspects its url: field). On a TTY, omit the target to pick a form from the library.

bash
gform inspect              # TTY: pick a form, then inspect its url

Meta shows a gate (ok · login_required · unavailable · bot_check · closed · unparsed) and whether the fetch used auth. Invalid URLs fail before any network call.

risk flags ​

The output includes a Flags section:

flagmeaning
fillableform looks open for responses
closedowner closed the form
loginWallsign-in required to view
alreadyRespondedlimit-to-1 signal for current session context
fileUploadhas file-upload questions
collectEmailowner collects respondent email (data-email-from-recipient-required + FB mode)
invisibleCaptchainvisible captcha attribute on submit

Also shows question count (answerable only — excludes section / title chrome), types breakdown (includes rating, title, …), and a question list (respects global -T / -F list limits). Title blocks render as [title].

gform run inspects first (unless --skip-inspect), then probes the live page after open. Hard walls abort; soft walls may assist. Collect-email without --auth warns; --strict hard-fails. See limitations.md.

JSON output ​

bash
gform inspect <form> --json
gform inspect <form> -j

Machine-readable inspection object — useful for scripting preflight checks.

when to inspect ​

situationcommand
before first run on a new formgform inspect <name>
owner may have closed the formquick inspect
planning --authcheck loginWall
planning --strict or safe policycheck invisibleCaptcha
comparing URL vs saved YAMLinspect the URL directly

gotchas ​

  • Collect-email is a real flag (collectEmail / mode). Limit-to-1 / org-restrict still often show up only as login wall or already-responded when signed in.
  • File-upload forms almost always need --auth for inspect/init — anonymous HTML has no FB_PUBLIC_LOAD_DATA_.
  • --policy on gform list fetches the same live flags per form (slower). inspect is the single-form deep dive.
  • Login-walled forms: gform init <url> --auth (or --profile) after inspect confirms the gate.