productivity
Google Forms CLI for Headless Automation
Use the Google Forms CLI for headless automation with headless JSON commands, schema discovery, credentials, and permission controls.
13 functions 5 read 8 write OAuth browser flow auth
Google Forms CLI for Headless Automation
Use KosmoKrator as a non-interactive integration runtime for local automations and wrappers.
Use headless automation when another tool needs a stable local command surface. The Google Forms CLI uses the same integration registry as the TUI, Lua runtime, and MCP gateway, but returns predictable command output for automation.
Command Shape
# Google Forms CLI for Headless Automation
kosmokrator integrations:configure google_forms --set access_token="$GOOGLE_FORMS_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmo integrations:call google_forms.google_forms_add_question '{"form_id":"example_form_id","title":"example_title","type":"example_type","required":true,"description":"example_description","options":"example_options","low":1,"high":1}' --json Discovery Before Execution
Agents and scripts can inspect Google Forms docs and schemas before choosing a function.
kosmo integrations:docs google_forms --json
kosmo integrations:docs google_forms.google_forms_add_question --json
kosmo integrations:schema google_forms.google_forms_add_question --json
kosmo integrations:search "Google Forms" --json
kosmo integrations:list --json Useful Google Forms CLI Functions
| Function | Type | Parameters | Description |
|---|---|---|---|
google_forms.google_forms_add_question | Write | form_id, title, type, required, description, options, low, high, low_label, high_label, rating_scale, rating_icon, include_time, include_year, duration, index | Add a question to a Google Form. Supports types: text, paragraph, multiple_choice, checkbox, dropdown, scale, date, time, rating. Use options for choice types. Use low/high/lowLabel/highLabel for scale. Use ratingScale/ratingIcon for rating. Use includeTime/includeYear for date. Use duration for time. Omit index to add at end. Use google_forms_get to see current form structure before editing. |
google_forms.google_forms_add_section | Write | form_id, title, description, index | Add a page break / section to a Google Form. Omit index to add at end. Use google_forms_get to see current form structure. |
google_forms.google_forms_add_text_item | Write | form_id, title, description, index | Add a static text block to a Google Form. Omit index to add at end. Use google_forms_get to see current form structure. |
google_forms.google_forms_create | Read | title, description, is_quiz | Create a new Google Form with a title, optional description, and optional quiz mode. Auto-publishes. Returns form ID, edit URL, and responder URL. |
google_forms.google_forms_delete_item | Write | form_id, index | Delete an item from a Google Form by its 0-based index. Use google_forms_get to see current form structure. |
google_forms.google_forms_get | Read | form_id | Get a Google Form's structure: title, description, settings, all questions with types/options/IDs, and responder URL. The form ID is the long string in the Google Forms URL: docs.google.com/forms/d/{formId}/edit To list all forms, use google_drive_search with file type "application/vnd.google-apps.form". |
google_forms.google_forms_get_response | Read | form_id, response_id | Get a single response to a Google Form by response ID, with question labels. The form ID is the long string in the Google Forms URL: docs.google.com/forms/d/{formId}/edit |
google_forms.google_forms_list_responses | Read | form_id, after, page_size, page_token | List responses to a Google Form with question labels. The form ID is the long string in the Google Forms URL: docs.google.com/forms/d/{formId}/edit |
google_forms.google_forms_move_item | Write | form_id, from, to | Move an item in a Google Form from one 0-based index to another. Use google_forms_get to see current form structure. |
google_forms.google_forms_publish | Read | form_id, published, accepting_responses | Set publish settings for a Google Form: publish/unpublish and accept/stop accepting responses. At least one of published or acceptingResponses must be provided. |
google_forms.google_forms_update_info | Write | form_id, title, description | Update a Google Form title and/or description. At least one of title or description must be provided. |
google_forms.google_forms_update_question | Write | form_id, index, title, description, required, options | Update a question in a Google Form by its 0-based index. Can update title, description, required status, and options (for choice questions). Use google_forms_get to see current form structure. |
google_forms.google_forms_update_settings | Write | form_id, is_quiz, email_collection | Update Google Form settings such as quiz mode and email collection. At least one setting must be provided. |
Automation Notes
- Use
--jsonfor machine-readable output. - Keep credentials out of argv by using environment variables or stored KosmoKrator configuration.
- Configure read/write policy before unattended runs; use
--forceonly for trusted automation. - Use the MCP gateway instead when the agent needs dynamic tool discovery inside a conversation.