KosmoKrator

productivity

Google Forms CLI for AI Agents

Use the Google Forms CLI from KosmoKrator to call Google Forms tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

13 functions 5 read 8 write OAuth browser flow auth

Google Forms CLI Setup

Google Forms can be configured headlessly with `kosmokrator integrations:configure google_forms`.

# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash

# Configure and verify this integration.
kosmokrator integrations:configure google_forms --set access_token="$GOOGLE_FORMS_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor google_forms --json
kosmokrator integrations:status --json

Credentials

Authentication type: OAuth browser flow oauth2_authorization_code. Configure credentials once, then use the same stored profile from scripts, coding CLIs, Lua code mode, and the MCP gateway.

KeyEnv varTypeRequiredLabel
access_token GOOGLE_FORMS_ACCESS_TOKEN OAuth token oauth yes Google Account

Call Google Forms Headlessly

Use the generic call form when another coding CLI or script needs a stable universal interface.

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

Use the provider shortcut form for shorter human-facing commands.

kosmo integrations: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

Agent Discovery Commands

These commands return structured output for coding agents that need to inspect capabilities 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

All CLI Functions

Every function below can be called headlessly. The generic form is stable across all integrations; the provider shortcut is shorter but specific to Google Forms.

google_forms.google_forms_add_question

Write write

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.

Parameters
form_id, title, type, required, description, options, low, high, low_label, high_label, rating_scale, rating_icon, include_time, include_year, duration, index

Generic CLI call

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

Provider shortcut

kosmo integrations: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

google_forms.google_forms_add_section

Write write

Add a page break / section to a Google Form. Omit index to add at end. Use google_forms_get to see current form structure.

Parameters
form_id, title, description, index

Generic CLI call

kosmo integrations:call google_forms.google_forms_add_section '{"form_id":"example_form_id","title":"example_title","description":"example_description","index":1}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_add_section '{"form_id":"example_form_id","title":"example_title","description":"example_description","index":1}' --json

google_forms.google_forms_add_text_item

Write write

Add a static text block to a Google Form. Omit index to add at end. Use google_forms_get to see current form structure.

Parameters
form_id, title, description, index

Generic CLI call

kosmo integrations:call google_forms.google_forms_add_text_item '{"form_id":"example_form_id","title":"example_title","description":"example_description","index":1}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_add_text_item '{"form_id":"example_form_id","title":"example_title","description":"example_description","index":1}' --json

google_forms.google_forms_create

Read read

Create a new Google Form with a title, optional description, and optional quiz mode. Auto-publishes. Returns form ID, edit URL, and responder URL.

Parameters
title, description, is_quiz

Generic CLI call

kosmo integrations:call google_forms.google_forms_create '{"title":"example_title","description":"example_description","is_quiz":true}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_create '{"title":"example_title","description":"example_description","is_quiz":true}' --json

google_forms.google_forms_delete_item

Write write

Delete an item from a Google Form by its 0-based index. Use google_forms_get to see current form structure.

Parameters
form_id, index

Generic CLI call

kosmo integrations:call google_forms.google_forms_delete_item '{"form_id":"example_form_id","index":1}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_delete_item '{"form_id":"example_form_id","index":1}' --json

google_forms.google_forms_get

Read read

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".

Parameters
form_id

Generic CLI call

kosmo integrations:call google_forms.google_forms_get '{"form_id":"example_form_id"}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_get '{"form_id":"example_form_id"}' --json

google_forms.google_forms_get_response

Read read

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

Parameters
form_id, response_id

Generic CLI call

kosmo integrations:call google_forms.google_forms_get_response '{"form_id":"example_form_id","response_id":"example_response_id"}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_get_response '{"form_id":"example_form_id","response_id":"example_response_id"}' --json

google_forms.google_forms_list_responses

Read read

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

Parameters
form_id, after, page_size, page_token

Generic CLI call

kosmo integrations:call google_forms.google_forms_list_responses '{"form_id":"example_form_id","after":"example_after","page_size":1,"page_token":"example_page_token"}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_list_responses '{"form_id":"example_form_id","after":"example_after","page_size":1,"page_token":"example_page_token"}' --json

google_forms.google_forms_move_item

Write write

Move an item in a Google Form from one 0-based index to another. Use google_forms_get to see current form structure.

Parameters
form_id, from, to

Generic CLI call

kosmo integrations:call google_forms.google_forms_move_item '{"form_id":"example_form_id","from":1,"to":1}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_move_item '{"form_id":"example_form_id","from":1,"to":1}' --json

google_forms.google_forms_publish

Read read

Set publish settings for a Google Form: publish/unpublish and accept/stop accepting responses. At least one of published or acceptingResponses must be provided.

Parameters
form_id, published, accepting_responses

Generic CLI call

kosmo integrations:call google_forms.google_forms_publish '{"form_id":"example_form_id","published":true,"accepting_responses":true}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_publish '{"form_id":"example_form_id","published":true,"accepting_responses":true}' --json

google_forms.google_forms_update_info

Write write

Update a Google Form title and/or description. At least one of title or description must be provided.

Parameters
form_id, title, description

Generic CLI call

kosmo integrations:call google_forms.google_forms_update_info '{"form_id":"example_form_id","title":"example_title","description":"example_description"}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_update_info '{"form_id":"example_form_id","title":"example_title","description":"example_description"}' --json

google_forms.google_forms_update_question

Write write

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.

Parameters
form_id, index, title, description, required, options

Generic CLI call

kosmo integrations:call google_forms.google_forms_update_question '{"form_id":"example_form_id","index":1,"title":"example_title","description":"example_description","required":true,"options":"example_options"}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_update_question '{"form_id":"example_form_id","index":1,"title":"example_title","description":"example_description","required":true,"options":"example_options"}' --json

google_forms.google_forms_update_settings

Write write

Update Google Form settings such as quiz mode and email collection. At least one setting must be provided.

Parameters
form_id, is_quiz, email_collection

Generic CLI call

kosmo integrations:call google_forms.google_forms_update_settings '{"form_id":"example_form_id","is_quiz":true,"email_collection":"example_email_collection"}' --json

Provider shortcut

kosmo integrations:google_forms google_forms_update_settings '{"form_id":"example_form_id","is_quiz":true,"email_collection":"example_email_collection"}' --json

Function Schemas

Use these parameter tables when building CLI payloads without calling integrations:schema first.

google_forms.google_forms_add_question

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.

Operation
Write write
Schema command
kosmo integrations:schema google_forms.google_forms_add_question --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID.
title string yes Question title text.
type string yes Question type: text, paragraph, multiple_choice, checkbox, dropdown, scale, date, time, or rating.
required boolean no Whether the question is required (default false).
description string no Help text / description for the question.
options array no Array of option strings (for multiple_choice, checkbox, dropdown).
low integer no For scale: low value (default 1).
high integer no For scale: high value (default 5).
low_label string no For scale: label for the low end.
high_label string no For scale: label for the high end.
rating_scale integer no For rating: scale level 3-10 (default 5).
rating_icon string no For rating: STAR (default), HEART, or THUMB_UP.
include_time boolean no For date: include time (default false).
include_year boolean no For date: include year (default true).
duration boolean no For time: duration mode instead of time-of-day (default false).
index integer no Insert position (0-based). Omit to add at end.

google_forms.google_forms_add_section

Add a page break / section to a Google Form. Omit index to add at end. Use google_forms_get to see current form structure.

Operation
Write write
Schema command
kosmo integrations:schema google_forms.google_forms_add_section --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID.
title string yes Title of the section.
description string no Description of the section.
index integer no Insert position (0-based). Omit to add at end.

google_forms.google_forms_add_text_item

Add a static text block to a Google Form. Omit index to add at end. Use google_forms_get to see current form structure.

Operation
Write write
Schema command
kosmo integrations:schema google_forms.google_forms_add_text_item --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID.
title string yes Title of the text item.
description string no Body text / description.
index integer no Insert position (0-based). Omit to add at end.

google_forms.google_forms_create

Create a new Google Form with a title, optional description, and optional quiz mode. Auto-publishes. Returns form ID, edit URL, and responder URL.

Operation
Read read
Schema command
kosmo integrations:schema google_forms.google_forms_create --json
ParameterTypeRequiredDescription
title string yes Title of the new form.
description string no Description of the form.
is_quiz boolean no Enable quiz mode (default false).

google_forms.google_forms_delete_item

Delete an item from a Google Form by its 0-based index. Use google_forms_get to see current form structure.

Operation
Write write
Schema command
kosmo integrations:schema google_forms.google_forms_delete_item --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID.
index integer yes 0-based position of the item to delete.

google_forms.google_forms_get

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".

Operation
Read read
Schema command
kosmo integrations:schema google_forms.google_forms_get --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID (from the URL).

google_forms.google_forms_get_response

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

Operation
Read read
Schema command
kosmo integrations:schema google_forms.google_forms_get_response --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID (from the URL).
response_id string yes Response ID.

google_forms.google_forms_list_responses

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

Operation
Read read
Schema command
kosmo integrations:schema google_forms.google_forms_list_responses --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID (from the URL).
after string no Only responses after this timestamp (RFC3339).
page_size integer no Max responses per page (default 10, max 5000).
page_token string no Pagination token from previous response.

google_forms.google_forms_move_item

Move an item in a Google Form from one 0-based index to another. Use google_forms_get to see current form structure.

Operation
Write write
Schema command
kosmo integrations:schema google_forms.google_forms_move_item --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID.
from integer yes Current item index (0-based).
to integer yes Target index (0-based).

google_forms.google_forms_publish

Set publish settings for a Google Form: publish/unpublish and accept/stop accepting responses. At least one of published or acceptingResponses must be provided.

Operation
Read read
Schema command
kosmo integrations:schema google_forms.google_forms_publish --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID.
published boolean no Publish or unpublish the form.
accepting_responses boolean no Accept or stop accepting responses.

google_forms.google_forms_update_info

Update a Google Form title and/or description. At least one of title or description must be provided.

Operation
Write write
Schema command
kosmo integrations:schema google_forms.google_forms_update_info --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID.
title string no New title for the form.
description string no New description for the form.

google_forms.google_forms_update_question

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.

Operation
Write write
Schema command
kosmo integrations:schema google_forms.google_forms_update_question --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID.
index integer yes 0-based item position of the question to update.
title string no New title for the question.
description string no New description/help text for the question.
required boolean no Whether the question is required.
options array no New options array (for choice questions: multiple_choice, checkbox, dropdown).

google_forms.google_forms_update_settings

Update Google Form settings such as quiz mode and email collection. At least one setting must be provided.

Operation
Write write
Schema command
kosmo integrations:schema google_forms.google_forms_update_settings --json
ParameterTypeRequiredDescription
form_id string yes Google Forms form ID.
is_quiz boolean no Enable or disable quiz mode.
email_collection string no Email collection: DO_NOT_COLLECT, VERIFIED, or RESPONDER_INPUT.

Permissions

Headless calls still follow the integration read/write permission policy. Configure read/write defaults with integrations:configure. Add --force only for trusted automation that should bypass that policy.