Skip to main content
Google Forms logo

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

FieldDescriptionRequiredFormat
Client IDGoogle OAuth App Client ID from the Google Cloud Console.Yesxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com
Client SecretGoogle OAuth App Client Secret from the Google Cloud Console.YesGOCSPX-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

Parameters

title
string
required
The title of the form which is visible to responders.
document_title
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"
}

Parameters

form_id
string
required
Identifier of the Google Form to update.
title
string
required
Title of the question.
description
string
required
Description of the question.
index
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.
paragraph
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"
}

Parameters

form_id
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"
}

Parameters

form_id
string
required
Identifier of the Google Form the response belongs to.
response_id
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"
}

Parameters

form_id
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"
}

Parameters

form_id
string
required
Identifier of the Google Form to update.
title
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 Request is returned when index for create_text_question is 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.

Cal.com

Canva

ConvertAPI