Overview
Add Google Forms to any ModuleX agent or workflow. Create, update, and read Google Forms and their responses via the Google Forms REST API (forms.googleapis.com/v1).
Categories: Productivity & Collaboration · Forms & Surveys · Auth: OAuth2 · Actions: 6
Authentication
OAuth2 Authentication
Connect using Google OAuth (recommended)Required Credentials
| Field | Description | Required | Format |
|---|---|---|---|
| Client ID | Google OAuth App Client ID from the Google Cloud Console. | Yes | xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com |
| Client Secret | Google OAuth App Client Secret from the Google Cloud Console. | Yes | GOCSPX-xxxxxxxxxxxxxxxxxxxxxxxx |
OAuth Configuration
- Authorization URL:
https://accounts.google.com/o/oauth2/v2/auth - Token URL:
https://oauth2.googleapis.com/token - Scopes:
https://www.googleapis.com/auth/forms.body,https://www.googleapis.com/auth/forms.responses.readonly
Available Actions
create_form — Creates a new Google Form with the specified title and optional document title.
create_form — Creates a new Google Form with the specified title and optional document title.
Parameters
string
required
The title of the form which is visible to responders.
string
The title of the document which is visible in Google Drive. Optional.
Response
{
"$defs": {
"FormInfo": {
"additionalProperties": false,
"description": "The ``info`` subobject embedded in a Google Form resource.",
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
},
"documentTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Documenttitle"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Description"
}
},
"title": "FormInfo",
"type": "object"
},
"FormSummary": {
"additionalProperties": false,
"description": "Slim view of a Google Form resource returned by Get/Create.",
"properties": {
"formId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Formid"
},
"responderUri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Responderuri"
},
"revisionId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Revisionid"
},
"info": {
"anyOf": [
{
"$ref": "#/$defs/FormInfo"
},
{
"type": "null"
}
],
"default": null
},
"settings": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Settings"
},
"items": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Items",
"type": "array"
}
},
"title": "FormSummary",
"type": "object"
}
},
"additionalProperties": false,
"properties": {
"success": {
"title": "Success",
"type": "boolean"
},
"form": {
"anyOf": [
{
"$ref": "#/$defs/FormSummary"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"success"
],
"title": "CreateFormOutput",
"type": "object"
}
create_text_question — Creates a new text question (short or paragraph) in an existing Google Form via batchUpdate.
create_text_question — Creates a new text question (short or paragraph) in an existing Google Form via batchUpdate.
Parameters
string
required
Identifier of the Google Form to update.
string
required
Title of the question.
string
required
Description of the question.
integer
required
The 0-based index where the item is inserted in the form. Must be in the range [0..N), where N is the current number of items.
boolean
required
If true, the question is a paragraph (multi-line) question. If false, it is a short text question.
Response
{
"$defs": {
"FormInfo": {
"additionalProperties": false,
"description": "The ``info`` subobject embedded in a Google Form resource.",
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
},
"documentTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Documenttitle"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Description"
}
},
"title": "FormInfo",
"type": "object"
},
"FormSummary": {
"additionalProperties": false,
"description": "Slim view of a Google Form resource returned by Get/Create.",
"properties": {
"formId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Formid"
},
"responderUri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Responderuri"
},
"revisionId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Revisionid"
},
"info": {
"anyOf": [
{
"$ref": "#/$defs/FormInfo"
},
{
"type": "null"
}
],
"default": null
},
"settings": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Settings"
},
"items": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Items",
"type": "array"
}
},
"title": "FormSummary",
"type": "object"
}
},
"additionalProperties": false,
"properties": {
"success": {
"title": "Success",
"type": "boolean"
},
"formId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Formid"
},
"replies": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Replies",
"type": "array"
},
"form": {
"anyOf": [
{
"$ref": "#/$defs/FormSummary"
},
{
"type": "null"
}
],
"default": null
},
"writeControl": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Writecontrol"
}
},
"required": [
"success"
],
"title": "CreateTextQuestionOutput",
"type": "object"
}
get_form — Gets information about a Google Form, including its title, settings, and items.
get_form — Gets information about a Google Form, including its title, settings, and items.
Parameters
string
required
Identifier of the Google Form to retrieve.
Response
{
"$defs": {
"FormInfo": {
"additionalProperties": false,
"description": "The ``info`` subobject embedded in a Google Form resource.",
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
},
"documentTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Documenttitle"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Description"
}
},
"title": "FormInfo",
"type": "object"
},
"FormSummary": {
"additionalProperties": false,
"description": "Slim view of a Google Form resource returned by Get/Create.",
"properties": {
"formId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Formid"
},
"responderUri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Responderuri"
},
"revisionId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Revisionid"
},
"info": {
"anyOf": [
{
"$ref": "#/$defs/FormInfo"
},
{
"type": "null"
}
],
"default": null
},
"settings": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Settings"
},
"items": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Items",
"type": "array"
}
},
"title": "FormSummary",
"type": "object"
}
},
"additionalProperties": false,
"properties": {
"success": {
"title": "Success",
"type": "boolean"
},
"form": {
"anyOf": [
{
"$ref": "#/$defs/FormSummary"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"success"
],
"title": "GetFormOutput",
"type": "object"
}
get_form_response — Gets a single response from a Google Form by response ID.
get_form_response — Gets a single response from a Google Form by response ID.
Parameters
string
required
Identifier of the Google Form the response belongs to.
string
required
The response ID within the form to retrieve.
Response
{
"$defs": {
"FormResponseSummary": {
"additionalProperties": false,
"description": "A single response to a Google Form.",
"properties": {
"responseId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Responseid"
},
"formId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Formid"
},
"createTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Createtime"
},
"lastSubmittedTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Lastsubmittedtime"
},
"respondentEmail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Respondentemail"
},
"answers": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Answers"
},
"totalScore": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Totalscore"
}
},
"title": "FormResponseSummary",
"type": "object"
}
},
"additionalProperties": false,
"properties": {
"success": {
"title": "Success",
"type": "boolean"
},
"response": {
"anyOf": [
{
"$ref": "#/$defs/FormResponseSummary"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"success"
],
"title": "GetFormResponseOutput",
"type": "object"
}
list_form_responses — Lists all responses submitted to a Google Form.
list_form_responses — Lists all responses submitted to a Google Form.
Parameters
string
required
Identifier of the Google Form whose responses are listed.
Response
{
"$defs": {
"FormResponseSummary": {
"additionalProperties": false,
"description": "A single response to a Google Form.",
"properties": {
"responseId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Responseid"
},
"formId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Formid"
},
"createTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Createtime"
},
"lastSubmittedTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Lastsubmittedtime"
},
"respondentEmail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Respondentemail"
},
"answers": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Answers"
},
"totalScore": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Totalscore"
}
},
"title": "FormResponseSummary",
"type": "object"
}
},
"additionalProperties": false,
"properties": {
"success": {
"title": "Success",
"type": "boolean"
},
"responses": {
"items": {
"$ref": "#/$defs/FormResponseSummary"
},
"title": "Responses",
"type": "array"
},
"nextPageToken": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Nextpagetoken"
}
},
"required": [
"success"
],
"title": "ListFormResponsesOutput",
"type": "object"
}
update_form_title — Updates the title of an existing Google Form via batchUpdate.
update_form_title — Updates the title of an existing Google Form via batchUpdate.
Parameters
string
required
Identifier of the Google Form to update.
string
required
The new title of the form which is visible to responders.
Response
{
"$defs": {
"FormInfo": {
"additionalProperties": false,
"description": "The ``info`` subobject embedded in a Google Form resource.",
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
},
"documentTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Documenttitle"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Description"
}
},
"title": "FormInfo",
"type": "object"
},
"FormSummary": {
"additionalProperties": false,
"description": "Slim view of a Google Form resource returned by Get/Create.",
"properties": {
"formId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Formid"
},
"responderUri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Responderuri"
},
"revisionId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Revisionid"
},
"info": {
"anyOf": [
{
"$ref": "#/$defs/FormInfo"
},
{
"type": "null"
}
],
"default": null
},
"settings": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Settings"
},
"items": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Items",
"type": "array"
}
},
"title": "FormSummary",
"type": "object"
}
},
"additionalProperties": false,
"properties": {
"success": {
"title": "Success",
"type": "boolean"
},
"formId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Formid"
},
"replies": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Replies",
"type": "array"
},
"form": {
"anyOf": [
{
"$ref": "#/$defs/FormSummary"
},
{
"type": "null"
}
],
"default": null
},
"writeControl": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Writecontrol"
}
},
"required": [
"success"
],
"title": "UpdateFormTitleOutput",
"type": "object"
}
Limits & Quotas
- The Google Forms API enforces per-project quotas administered through Google Cloud. Default quota is 300 read requests per minute per project and 60 write requests per minute per project (subject to change — see https://developers.google.com/forms/api/limits).
- Per-user quotas may apply for OAuth client credentials with many concurrent users.
- A
400 Bad Requestis returned whenindexforcreate_text_questionis outside[0..N)where N is the current item count. - Error model: non-2xx responses from the API raise
httpx.HTTPStatusError, which the ModuleX runtime surfaces as a failed tool call with the original API error text included.