# Gws Forms

Read and write Google Forms.

- Repository: https://github.com/googleworkspace/cli (32044 stars)
- Category: Writing
- License: Apache-2.0
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add googleworkspace/cli --skill gws-forms -g -a claude-code -y`
Codex: `npx skills add googleworkspace/cli --skill gws-forms -g -a codex -y`
Cursor: `npx skills add googleworkspace/cli --skill gws-forms -g -a cursor -y`
Gemini CLI: `npx skills add googleworkspace/cli --skill gws-forms -g -a gemini-cli -y`

## Description

Read and write Google Forms.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# forms (v1)

> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.

```bash
gws forms <resource> <method> [flags]
```

## API Resources

### forms

  - `batchUpdate`, Change the form with a batch of updates.
  - `create`, Create a new form using the title given in the provided form message in the request. *Important:* Only the form.info.title and form.info.document_title fields are copied to the new form. All other fields including the form description, items and settings are disallowed. To create a new form and add items, you must first call forms.create to create an empty form with a title and (optional) document title, and then call forms.update to add the items.
  - `get`, Get a form.
  - `setPublishSettings`, Updates the publish settings of a form. Legacy forms aren't supported because they don't have the `publish_settings` field.
  - `responses`, Operations on the 'responses' resource
  - `watches`, Operations on the 'watches' resource

## Discovering Commands

Before calling any API method, inspect it:

```bash
# Browse resources and methods
gws forms --help

# Inspect a method's required params, types, and defaults
gws schema forms.<resource>.<method>
```

Use `gws schema` output to build your `--params` and `--json` flags.


