Smithery's MCP Proxy and managed identity shut down on October 31. See what's changing

SmitherySign up for Arcade

Google Forms

Arcade toolkit · docs.arcade.dev

Google Forms tools for agents, with auth handled by Arcade.

  • Discover forms you own, that are shared with you, starred, trashed, or in a folder
  • Inspect a form's details, summary, permissions, and status
  • Create and edit forms, including publish settings
  • Read and summarize form responses
  • Copy, trash, and restore forms
  • Watch forms for new responses

Tools20

  • GoogleForms_CreateForm

    Create a new Google Form with a title and return its IDs and URLs.

  • GoogleForms_UpdateForm

    Apply a batch of structural updates to a Google Form. All structural edits to a form go through this tool. Requests apply atomically in the given order, so an earlier createItem shifts the indices that later requests address. updateItem, updateFormInfo, and updateSettings take an updateMask: only the named field paths are written, and a field left out of the mask is preserved. Omitting the mask makes Google overwrite the entire target object. Forms API v1 limitations to know: - questionGroupItem (grids) has no per-item required; mark each rowQuestion required instead. - Per-question grading (pointValue, correctAnswers, whenRight / whenWrong feedback) IS settable here, but the form-wide quiz release toggles (when grades are released; whether respondents see missed questions, correct answers, or point values) are UI-only. - "Limit to 1 response" and per-respondent question shuffle are UI-only; choiceQuestion.shuffle only shuffles options within one question. Concurrency: pass required_revision_id (the revision id from a prior read of the form) to reject writes that would overwrite concurrent edits. The returned revision_id is the new post-update revision only when include_form_in_response=True; otherwise it is empty and must be re-read by fetching the form.

  • GoogleForms_SetPublishSettings

    Update a form's publish/response-accepting state. The Forms API setPublishSettings endpoint does not accept an update mask, so an incomplete body silently unpublishes the form. This wrapper reads the form's current publish state and merges in only the fields the caller supplied, so an unset field is preserved rather than reset.

  • GoogleForms_SetFormSettings

    Update form-wide settings (quiz mode, email collection) safely. Wraps batchUpdate + updateSettings with a correct updateMask built from the parameters the caller supplied. At least one of is_quiz or email_collection_type must be set; otherwise this returns a validation error so callers never accidentally submit an empty update. Form-wide settings that are NOT available in Forms API v1 and must be toggled in the Forms UI (Settings / gear icon): - "Limit to 1 response" - "Shuffle question order" per respondent - Quiz feedback toggles: when to release the grade, whether respondents see missed questions, correct answers, or point values. Only isQuiz is exposed here; per-question Feedback + correctAnswers + pointValue still flows through the batch form-update tool.

  • GoogleForms_WhoAmI

    Return the authenticated Google identity (email and display name).

  • GoogleForms_ListForms

    List Google Forms filtered by a discovery mode such as recent, shared, or in_folder. Returns results newest-first (by Drive modified time). Each call fetches one Drive page of up to limit forms and returns a next_page_token to continue.

  • GoogleForms_GetForm

    Fetch the normalized form structure including items, settings, and revision info.

  • GoogleForms_GetFormSummary

    Return a concise summary of a Google Form for quick triage and discovery. The Google Forms API does not expose a total response count and returns responses in no guaranteed order, so sampled_response_count, latest_sampled_response_at, and the 24h/7d counts reflect only the sampled first page and can undercount recent activity on forms larger than the sample. For accurate recency or exhaustive analytics, use the response- listing tool's timestamp filter or the linked response spreadsheet.

  • GoogleForms_ListPermissions

    Return normalized Drive permissions for a Google Form.

  • GoogleForms_ListResponses

    List submitted responses for a Google Form. Each call fetches one Forms page of up to limit responses and returns a next_page_token to continue.

  • GoogleForms_GetResponse

    Retrieve a single Google Form response by its response ID.

  • GoogleForms_AggregateResponses

    Return aggregate response counts and text-answer distributions for a form. Samples up to limit responses from the first page returned by the Forms API, which comes back in no guaranteed order. Does not paginate; the counts and distributions reflect only that sample and can undercount recent activity on busy forms, which should rely on the response-listing tool's timestamp filter or the linked response spreadsheet for exhaustive analytics.

  • GoogleForms_CreateWatch

    Create a watch that notifies Pub/Sub when the form has new responses or schema changes.

  • GoogleForms_ListWatches

    List the Pub/Sub watches currently registered on a form. The Forms watches API returns the full set in a single call with no cursor, and a form can hold only a few watches, so all of them are returned.

  • GoogleForms_UpdateWatch

    Renew a form watch before it expires (watches last up to 7 days).

  • GoogleForms_DeleteWatch

    Delete a form watch, stopping Pub/Sub notifications for that subscription.

  • GoogleForms_CopyForm

    Duplicate an existing Google Form, optionally renaming and targeting a folder.

  • GoogleForms_TrashForm

    Move a Google Form to the Drive trash (soft delete).

  • GoogleForms_RestoreForm

    Restore a trashed Google Form back into the user's Drive.

  • GoogleForms_GenerateGoogleFilePickerUrl

    Generate a Google File Picker URL for user-driven form selection and authorization. Useful when a prior Forms tool call failed because a form was not found or not accessible under the drive.file scope. Once the user completes the picker flow and grants the app access to the desired form, retry the original tool call.