> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Forms

> 6 actions available for Google Forms through StackOne. Use via Actions RPC, Toolset SDK, MCP, or A2A.

<div className="not-prose" style={{ display: 'flex', alignItems: 'center', gap: '12px', marginBottom: '24px' }}>
  <img src="https://stackone-logos.com/api/google-forms/filled/png" alt="Google Forms" className="connector-page-icon" style={{ width: '48px', height: '48px', borderRadius: '10px', padding: '2px' }} />

  <div>
    <div style={{ fontSize: '24px', fontWeight: '600' }}>Google Forms</div>
    <div className="connector-page-subtitle" style={{ fontSize: '14px' }}>6 actions · 1 auth method</div>

    <div style={{ display: 'flex', flexWrap: 'wrap', gap: '6px', marginTop: '8px' }}>
      <span className="connector-page-category-tag" style={{ display: 'inline-block', padding: '2px 8px', borderRadius: '4px', fontSize: '11px', fontWeight: '500' }}>Documents</span>
    </div>
  </div>
</div>

## Authentication

<Columns cols={2}>
  <Card title="OAuth 2.0">
    The steps in this guide require Admin or Owner privileges within Google Cloud.

    Guides: [Connector Profile](/connectors/googleforms/guides/connector-profile/oauth-2-0), [Link Account](/connectors/googleforms/guides/link-account/oauth-2-0)
  </Card>
</Columns>

<div className="connector-meta-library-section">
  <div className="connector-meta-library-title">Actions</div>

  <div className="connector-actions-controls not-prose" data-connector-actions-controls>
    <div className="connector-actions-controls__row">
      <input type="search" className="connector-actions-search" data-connector-actions-search placeholder="Search actions" aria-label="Search actions" />

      <div className="connector-actions-scopes" data-connector-actions-scopes>
        <button type="button" className="connector-actions-scopes__toggle" data-connector-actions-scopes-toggle aria-expanded="false">
          <span>Scopes<span data-connector-actions-scopes-count /></span>
        </button>

        <div className="connector-actions-scopes__menu">
          <div className="connector-actions-scopes__header">
            <input type="search" className="connector-actions-scopes__search" data-connector-actions-scope-search placeholder="Search scopes..." aria-label="Search scopes" />

            <div className="connector-actions-scopes__actions">
              <button type="button" data-connector-actions-scopes-select-all>Select all</button>
              <span>|</span>
              <button type="button" data-connector-actions-scopes-clear>Clear</button>
            </div>
          </div>

          <label className="connector-actions-scopes__item">
            <input type="checkbox" value="https://www.googleapis.com/auth/forms.body" data-connector-actions-scope-filter />

            <span>[https://www.googleapis.com/auth/forms.body](https://www.googleapis.com/auth/forms.body)</span>
          </label>

          <label className="connector-actions-scopes__item">
            <input type="checkbox" value="https://www.googleapis.com/auth/forms.body.readonly" data-connector-actions-scope-filter />

            <span>[https://www.googleapis.com/auth/forms.body.readonly](https://www.googleapis.com/auth/forms.body.readonly)</span>
          </label>

          <label className="connector-actions-scopes__item">
            <input type="checkbox" value="https://www.googleapis.com/auth/forms.responses.readonly" data-connector-actions-scope-filter />

            <span>[https://www.googleapis.com/auth/forms.responses.readonly](https://www.googleapis.com/auth/forms.responses.readonly)</span>
          </label>

          <div className="connector-actions-scopes__empty" hidden>No scopes found</div>
        </div>
      </div>
    </div>
  </div>

  <div className="meta-library-count" data-connector-actions-count>6 actions</div>

  <div className="not-prose meta-library-table-container" data-connector-actions-table>
    <div className="connector-meta-library-grid" style={{ gridTemplateColumns: '200px 1fr 150px' }}>
      <div className="connector-meta-library-row">
        <div className="meta-library-grid-header-cell">Action</div>
        <div className="meta-library-grid-header-cell">Description</div>
        <div className="meta-library-grid-header-cell">Required scopes</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="googleforms_create_form" data-action-label="Create Form" data-action-scopes="https://www.googleapis.com/auth/forms.body">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Form</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="googleforms_create_form" aria-label="Copy googleforms_create_form"><code className="connector-page-code">googleforms\_create\_form</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create a new Google Form with a title. Call this exactly ONCE per user workflow - do not call again to "add questions to...</div>

        <div className="meta-library-grid-cell meta-library-grid-cell--values">
          <div className="connector-meta-library-values-list"><button type="button" className="connector-page-code-button" data-copy="https://www.googleapis.com/auth/forms.body" aria-label="Copy scope https://www.googleapis.com/auth/forms.body"><code className="connector-page-code">[https://www.googleapis.com/auth/forms.body](https://www.googleapis.com/auth/forms.body)</code></button></div>
        </div>
      </div>

      <div className="connector-meta-library-row" data-action-id="googleforms_get_form" data-action-label="Get Form" data-action-scopes="https://www.googleapis.com/auth/forms.body.readonly">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Form</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="googleforms_get_form" aria-label="Copy googleforms_get_form"><code className="connector-page-code">googleforms\_get\_form</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve a Google Form by its ID. Only needed when you do not already have the form data - skip this call after batch\_up...</div>

        <div className="meta-library-grid-cell meta-library-grid-cell--values">
          <div className="connector-meta-library-values-list"><button type="button" className="connector-page-code-button" data-copy="https://www.googleapis.com/auth/forms.body.readonly" aria-label="Copy scope https://www.googleapis.com/auth/forms.body.readonly"><code className="connector-page-code">[https://www.googleapis.com/auth/forms.body.readonly](https://www.googleapis.com/auth/forms.body.readonly)</code></button></div>
        </div>
      </div>

      <div className="connector-meta-library-row" data-action-id="googleforms_batch_update_form" data-action-label="Batch Update Form" data-action-scopes="https://www.googleapis.com/auth/forms.body">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Batch Update Form</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="googleforms_batch_update_form" aria-label="Copy googleforms_batch_update_form"><code className="connector-page-code">googleforms\_batch\_update\_form</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Apply multiple update operations to a form in a single atomic request. Set includeFormInResponse=true to get the full up...</div>

        <div className="meta-library-grid-cell meta-library-grid-cell--values">
          <div className="connector-meta-library-values-list"><button type="button" className="connector-page-code-button" data-copy="https://www.googleapis.com/auth/forms.body" aria-label="Copy scope https://www.googleapis.com/auth/forms.body"><code className="connector-page-code">[https://www.googleapis.com/auth/forms.body](https://www.googleapis.com/auth/forms.body)</code></button></div>
        </div>
      </div>

      <div className="connector-meta-library-row" data-action-id="googleforms_set_publish_settings" data-action-label="Set Publish Settings" data-action-scopes="https://www.googleapis.com/auth/forms.body">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Set Publish Settings</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="googleforms_set_publish_settings" aria-label="Copy googleforms_set_publish_settings"><code className="connector-page-code">googleforms\_set\_publish\_settings</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Publish or unpublish a form, and control whether it accepts new responses. This is the action to call when the user asks...</div>

        <div className="meta-library-grid-cell meta-library-grid-cell--values">
          <div className="connector-meta-library-values-list"><button type="button" className="connector-page-code-button" data-copy="https://www.googleapis.com/auth/forms.body" aria-label="Copy scope https://www.googleapis.com/auth/forms.body"><code className="connector-page-code">[https://www.googleapis.com/auth/forms.body](https://www.googleapis.com/auth/forms.body)</code></button></div>
        </div>
      </div>

      <div className="connector-meta-library-row" data-action-id="googleforms_list_form_responses" data-action-label="List Form Responses" data-action-scopes="https://www.googleapis.com/auth/forms.responses.readonly">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Form Responses</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="googleforms_list_form_responses" aria-label="Copy googleforms_list_form_responses"><code className="connector-page-code">googleforms\_list\_form\_responses</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve all responses submitted to a form</div>

        <div className="meta-library-grid-cell meta-library-grid-cell--values">
          <div className="connector-meta-library-values-list"><button type="button" className="connector-page-code-button" data-copy="https://www.googleapis.com/auth/forms.responses.readonly" aria-label="Copy scope https://www.googleapis.com/auth/forms.responses.readonly"><code className="connector-page-code">[https://www.googleapis.com/auth/forms.responses.readonly](https://www.googleapis.com/auth/forms.responses.readonly)</code></button></div>
        </div>
      </div>

      <div className="connector-meta-library-row" data-action-id="googleforms_get_form_response" data-action-label="Get Form Response" data-action-scopes="https://www.googleapis.com/auth/forms.responses.readonly">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Form Response</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="googleforms_get_form_response" aria-label="Copy googleforms_get_form_response"><code className="connector-page-code">googleforms\_get\_form\_response</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve a specific response from a form</div>

        <div className="meta-library-grid-cell meta-library-grid-cell--values">
          <div className="connector-meta-library-values-list"><button type="button" className="connector-page-code-button" data-copy="https://www.googleapis.com/auth/forms.responses.readonly" aria-label="Copy scope https://www.googleapis.com/auth/forms.responses.readonly"><code className="connector-page-code">[https://www.googleapis.com/auth/forms.responses.readonly](https://www.googleapis.com/auth/forms.responses.readonly)</code></button></div>
        </div>
      </div>
    </div>
  </div>
</div>

## Getting Started

<Steps>
  <Step title="Create or Select a Project">
    Set up a new project or select an existing one. See the [Projects Guide](/guides/managing-projects).
  </Step>

  <Step title="Configure the Connector">
    Enable the connector and set up a connector profile in your project. See [Managing Connectors](/guides/explore-connectors).

    <Columns cols={2}>
      <Card title="Connector Profile" href="/connectors/googleforms/guides/connector-profile/oauth-2-0" icon="https://stackone-logos.com/api/google-forms/filled/png" horizontal>
        Google Forms - OAuth 2.0
      </Card>
    </Columns>
  </Step>

  <Step title="Link an Account">
    Connect an account using [StackOne Hub](/guides/embedding-stackone-hub) or [Auth Link](/guides/auth-link).

    <Columns cols={2}>
      <Card title="Link Account" href="/connectors/googleforms/guides/link-account/oauth-2-0" icon="https://stackone-logos.com/api/google-forms/filled/png" horizontal>
        Google Forms - OAuth 2.0
      </Card>
    </Columns>
  </Step>

  <Step title="Use Actions">
    Invoke actions using one of the methods below:

    * [MCP](/mcp/quickstart) – Model Context Protocol for AI assistants
    * [A2A](/a2a/quickstart) – Agent-to-Agent protocol
    * [AI Toolset (TypeScript)](/agents/typescript/introduction) – TypeScript SDK for AI agents
    * [AI Toolset (Python)](/agents/python/introduction) – Python SDK for AI agents
    * [Actions RPC](/platform/api-reference/actions/make-an-rpc-call-to-an-action) – Direct API calls
    * [Playground](/guides/playground) – Test actions in the dashboard
  </Step>
</Steps>
