Google Forms collects structured responses. Use this integration to read and update forms, retrieve responses, and manage watches. Its triggers can start workflows when forms receive responses or change.
Sim requests these scopes when someone connects a Google Forms account. For a self-hosted deployment, register your own app with the provider using the settings below. See Integrations and OAuth for setup.
Setting Value Redirect URI <NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/google-formsEnvironment variables GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
Scope Description https://www.googleapis.com/auth/userinfo.emailView email address https://www.googleapis.com/auth/userinfo.profileView basic profile info https://www.googleapis.com/auth/driveView, edit, create, and delete all Google Drive files https://www.googleapis.com/auth/forms.bodyView and manage Google Forms https://www.googleapis.com/auth/forms.responses.readonlyView responses to Google Forms
Read form structure, get responses, create forms, update content, and manage notification watches.
Retrieve a single response or list responses from a Google Form
Inputs and outputsParameter Type Required Description formIdstring Yes Google Forms form ID responseIdstring No Response ID - if provided, returns this specific response pageSizenumber No Maximum number of responses to return (service may return fewer). Defaults to 5000. pageTokenstring No Page token from a previous list response to fetch the next page of responses filterstring No Filter responses, e.g. "timestamp > 2024-01-01T00:00:00Z" (RFC3339 UTC). Only timestamp filters are supported.
Parameter Type Description responsesarray Array of form responses (when no responseId provided) ↳ responseId string Unique response ID ↳ createTime string When the response was created ↳ lastSubmittedTime string When the response was last submitted ↳ answers json Map of question IDs to answer values nextPageTokenstring Token to fetch the next page of responses (null when no more pages) responseobject Single form response (when responseId is provided) ↳ responseId string Unique response ID ↳ createTime string When the response was created ↳ lastSubmittedTime string When the response was last submitted ↳ answers json Map of question IDs to answer values rawjson Raw API response data
Retrieve a form structure including its items, settings, and metadata
Inputs and outputsParameter Type Required Description formIdstring Yes Google Forms form ID to retrieve
Parameter Type Description formIdstring The form ID titlestring The form title visible to responders descriptionstring The form description documentTitlestring The document title visible in Drive responderUristring The URI to share with responders linkedSheetIdstring The ID of the linked Google Sheet revisionIdstring The revision ID of the form itemsarray The form items (questions, sections, etc.) ↳ itemId string Item ID ↳ title string Item title ↳ description string Item description settingsjson Form settings publishSettingsjson Form publish settings
Create a new Google Form with a title
Inputs and outputsParameter Type Required Description titlestring Yes The title of the form visible to responders documentTitlestring No The document title visible in Drive (defaults to form title) unpublishedboolean No If true, create an unpublished form that does not accept responses
Parameter Type Description formIdstring The ID of the created form titlestring The form title documentTitlestring The document title in Drive responderUristring The URI to share with responders revisionIdstring The revision ID of the form
Apply multiple updates to a form (add items, update info, change settings, etc.)
Inputs and outputsParameter Type Required Description formIdstring Yes Google Forms form ID requestsjson Yes Array of update requests (updateFormInfo, updateSettings, createItem, updateItem, moveItem, deleteItem) includeFormInResponseboolean No Whether to return the updated form in the response
Parameter Type Description repliesarray The replies from each update request writeControlobject Write control information with revision IDs ↳ requiredRevisionId string Required revision ID for conflict detection ↳ targetRevisionId string Target revision ID formobject The updated form (if includeFormInResponse was true) ↳ formId string The form ID ↳ info object Form info containing title and description ↳ title string The form title visible to responders ↳ description string The form description ↳ documentTitle string The document title visible in Drive ↳ settings object Form settings ↳ quizSettings object Quiz settings ↳ isQuiz boolean Whether the form is a quiz ↳ emailCollectionType string Email collection type ↳ items array The form items (questions, sections, etc.) ↳ itemId string Item ID ↳ title string Item title ↳ description string Item description ↳ questionItem json Question item configuration ↳ questionGroupItem json Question group configuration ↳ pageBreakItem json Page break configuration ↳ textItem json Text item configuration ↳ imageItem json Image item configuration ↳ videoItem json Video item configuration ↳ revisionId string The revision ID of the form ↳ responderUri string The URI to share with responders ↳ linkedSheetId string The ID of the linked Google Sheet ↳ publishSettings object Form publish settings ↳ publishState object Current publish state ↳ isPublished boolean Whether the form is published ↳ isAcceptingResponses boolean Whether the form is accepting responses
Update the publish settings of a form (publish/unpublish, accept responses)
Inputs and outputsParameter Type Required Description formIdstring Yes Google Forms form ID isPublishedboolean Yes Whether the form is published and visible to others isAcceptingResponsesboolean No Whether the form accepts responses (forced to false if isPublished is false)
Parameter Type Description formIdstring The form ID publishSettingsjson The updated publish settings ↳ publishState object The publish state ↳ isPublished boolean Whether the form is published ↳ isAcceptingResponses boolean Whether the form accepts responses
Create a notification watch for form changes (schema changes or new responses)
Inputs and outputsParameter Type Required Description formIdstring Yes Google Forms form ID to watch eventTypestring Yes Event type to watch: SCHEMA (form changes) or RESPONSES (new submissions) topicNamestring Yes The Cloud Pub/Sub topic name (format: projects/{project}/topics/{topic}) watchIdstring No Custom watch ID (4-63 chars, lowercase letters, numbers, hyphens)
Parameter Type Description idstring The watch ID eventTypestring The event type being watched topicNamestring The Cloud Pub/Sub topic createTimestring When the watch was created expireTimestring When the watch expires (7 days after creation) statestring The watch state (ACTIVE, SUSPENDED)
List all notification watches for a form
Inputs and outputsParameter Type Required Description formIdstring Yes Google Forms form ID
Parameter Type Description watchesarray List of watches for the form ↳ id string Watch ID ↳ eventType string Event type (SCHEMA or RESPONSES) ↳ createTime string When the watch was created ↳ expireTime string When the watch expires ↳ state string Watch state
Delete a notification watch from a form
Inputs and outputsParameter Type Required Description formIdstring Yes Google Forms form ID watchIdstring Yes Watch ID to delete
Parameter Type Description deletedboolean Whether the watch was successfully deleted
Renew a notification watch for another 7 days
Inputs and outputsParameter Type Required Description formIdstring Yes Google Forms form ID watchIdstring Yes Watch ID to renew
Parameter Type Description idstring The watch ID eventTypestring The event type being watched expireTimestring The new expiration time statestring The watch state
A trigger starts a workflow when a supported event occurs in this service.
Trigger workflow from Google Form submissions (via Apps Script forwarder)
Parameter Type Required Description tokenstring Yes We validate requests using this secret. Send it as Authorization: Bearer <token> or a custom header. secretHeaderNamestring No If set, the webhook will validate this header equals your Shared Secret instead of Authorization. triggerFormIdstring No Optional, for clarity and matching in workflows. Not required for webhook to work. includeRawPayloadboolean No Include the original payload from Apps Script in the workflow input. setupScriptstring No Copy this code and paste it into your Google Forms Apps Script editor
Parameter Type Description responseIdstring Unique response identifier (if available) createTimestring Response creation timestamp lastSubmittedTimestring Last submitted timestamp formIdstring Google Form ID answersobject Normalized map of question -> answer rawobject Original payload (when enabled)