El catálogo/Google Forms

Google Forms

app.google.forms

Create and manage Google Forms, add questions, and read submitted responses

OAuth 2googleLeer el código
Versión2.0.0
Categoríagoogle
AutenticaciónOAuth 2
Herramientas12
Transportestdio
LicenciaMIT
01

Qué hace

La aplicación, en sus propias palabras.

Manage Google Forms — create forms, add questions, and read responses via Google Forms API.

googleformssurveyresponsesquestions
02

Herramientas

12 herramientas que el agente puede llamar.

Todas se declaran con parámetros tipados y devuelven resultados estructurados, así que el anfitrión puede renderizarlas en vez de narrarlas.

  • add-questionAdd a question item to a Google Form at a specific position. Supported question types in `questionItem.question`: - **textQuestion**: `{ paragraph: false }` (short answer) or `{ paragraph: true }` (paragraph) - **choiceQuestion**: `{ type: "RADIO"|"CHECKBOX"|"DROP_DOWN", options: [{ value: "Option 1" }, ...] }` - **scaleQuestion**: `{ low: 1, high: 5, lowLabel: "Bad", highLabel: "Good" }` - **dateQuestion**: `{ includeTime: false, includeYear: true }` - **timeQuestion**: `{ duration: false }` Params: formId (required), title (required), questionItem (required), index? (insert position, defaults to end), description?.
  • create-formCreate a new Google Form with a title. Returns the form ID and responder URL. Params: title (required), documentTitle? (defaults to the form title).
  • create-watchCreate a watch on a Google Form to receive push notifications via a Cloud Pub/Sub topic. Event types: - `"SCHEMA"` — triggers when the form structure changes (questions added/removed/updated) - `"RESPONSES"` — triggers when a new response is submitted The Pub/Sub topic must grant publish privileges to `serviceAccount:forms-notifications@system.gserviceaccount.com`. A watch expires after 7 days and can be renewed. Maximum 2 watches per form (one per event type). Params: formId (required), eventType (required), topicName (required — fully qualified Pub/Sub topic, e.g. "projects/my-project/topics/my-topic"), watchId? (custom ID, 4-63 chars, /a-z-/).
  • delete-itemDelete an item (question, section, etc.) from a Google Form by its index position. Use get-form first to see current items and their positions. Params: formId (required), index (required — 0-based position of the item to delete).
  • get-formGet the full structure of a Google Form by its ID, including all items and questions. Params: formId (required).
  • get-responseGet a specific response to a Google Form by its response ID. Params: formId (required), responseId (required).
  • list-formsList all Google Forms in your Drive. Uses the Drive API to find files with the Google Forms MIME type. Params: pageSize? (default 10, max 100), pageToken? (pagination token from a previous response).
  • list-responsesList responses submitted to a Google Form. Supports pagination and filtering by submission timestamp. Params: formId (required), pageSize? (default 10, max 5000), pageToken?, filter? (RFC3339 timestamp filter, e.g. "timestamp > 2024-01-01T00:00:00Z").
  • list-watchesList all watches on a Google Form owned by the invoking project. The maximum number of watches is two per form (one per event type). Params: formId (required).
  • update-formUpdate a Google Form using batch update requests. Supports adding, editing, and deleting items, as well as updating form info and settings. Available request types in the `requests` array: - **createItem**: Add a new item (question, section, etc.) at a specific location. `{ createItem: { item: { title, questionItem: { question: { required, choiceQuestion | textQuestion | scaleQuestion | dateQuestion | timeQuestion } } }, location: { index: 0 } } }` - **updateItem**: Modify an existing item by its ID. `{ updateItem: { item: { itemId, title, ... }, location: { index: 0 }, updateMask: "title,description" } }` - **deleteItem**: Remove an item by its location index. `{ deleteItem: { location: { index: 0 } } }` - **updateFormInfo**: Update the form title, description, or document title. `{ updateFormInfo: { info: { title, description, documentTitle }, updateMask: "title,description" } }` - **updateSettings**: Change form settings such as quiz mode or response collection. `{ updateSettings: { settings: { quizSettings: { isQuiz: true } }, updateMask: "quizSettings.isQuiz" } }` See https://developers.google.com/forms/api/reference/rest/v1/forms/batchUpdate for full schemas. Params: formId (required), requests (required — array of update requests).
  • update-form-infoUpdate the metadata of a Google Form — title, description, or document title. This is a convenience wrapper around the batchUpdate API. Params: formId (required), title?, description?, documentTitle?.
  • update-itemUpdate an existing item in a Google Form. You must provide the item object with the itemId of the item to update, and an updateMask specifying which fields to change. Common updateMask values: - `"title"` — update the item title - `"description"` — update the item description - `"title,description"` — update both - `"questionItem.question.required"` — change whether a question is required - `"questionItem.question.choiceQuestion.options"` — update choice options Params: formId (required), item (required — must include itemId), location (required — the index of the item), updateMask (required — comma-separated field paths to update).
03

Autenticación y permisos

Qué pide.

Declarado en el manifiesto y por adelantado. La aplicación no puede alcanzar nada que no haya pedido aquí.

Permisos

https://www.googleapis.com/auth/forms.bodyhttps://www.googleapis.com/auth/forms.responses.readonlyhttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/userinfo.email

Secretos de sistema

CLIENT_IDCLIENT_SECRET

Secretos de usuario

ACCESS_TOKENREFRESH_TOKEN

Seguir leyendo

El manifiesto y el código de Google Forms están en el monorepo, junto al resto de aplicaciones.

Leer el códigoVolver al catálogo

Google Forms · Agent Apps