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
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 workPass 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.
gform inspect # TTY: pick a form, then inspect its urlMeta 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:
| flag | meaning |
|---|---|
fillable | form looks open for responses |
closed | owner closed the form |
loginWall | sign-in required to view |
alreadyResponded | limit-to-1 signal for current session context |
fileUpload | has file-upload questions |
collectEmail | owner collects respondent email (data-email-from-recipient-required + FB mode) |
invisibleCaptcha | invisible 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
gform inspect <form> --json
gform inspect <form> -jMachine-readable inspection object — useful for scripting preflight checks.
when to inspect
| situation | command |
|---|---|
| before first run on a new form | gform inspect <name> |
| owner may have closed the form | quick inspect |
planning --auth | check loginWall |
planning --strict or safe policy | check invisibleCaptcha |
| comparing URL vs saved YAML | inspect 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
--authfor inspect/init — anonymous HTML has noFB_PUBLIC_LOAD_DATA_. --policyongform listfetches the same live flags per form (slower).inspectis the single-form deep dive.- Login-walled forms:
gform init <url> --auth(or--profile) after inspect confirms the gate.
related
- run.md — preflight + execute
- list.md —
list --policyfor all forms - limitations.md — wall behavior
- init.md — scaffold from URL
- verify.md — offline schema check