How to connect Google Forms to Composio

4 min read

Composio connects AI agents to Google Forms so they can read forms and build workflows around form definitions and responses.

We recommend using your own Google OAuth app so you can manage its branding, credentials and requested permissions directly in your Google Cloud project.

Use a Google account with access to the forms you want to use and a Google Cloud project you can manage.

Part 1: Set up your Google OAuth app

Step 1: Select a project and enable the API

1. Open Google Cloud Console and select the project that will own your OAuth client. Create a project if you do not already have one.

Select a Google Cloud project for your OAuth app

2. Open APIs & Services → Library. Search for Google Forms API and open the matching result.

3. Select Enable. If the page shows Manage, the API is already enabled. Check that the service name is forms.googleapis.com.

Enable Google Forms API in the selected projectConfirm Google Forms API is enabled

API enablement and OAuth verification are separate steps. You do not need to request manual API approval for this standard setup. If you cannot enable the API, ask your project administrator for access. Google Forms setup requirements.

The example uses forms.body.readonly to view form definitions and userinfo.email for Composio’s account identity check. Reading submitted responses is separate and uses forms.responses.readonly. Creating or editing forms needs a write-capable scope. If your workflow searches or manages form files through Drive, also enable the Google Drive API and choose a matching Drive scope. Select those permissions only when your workflow needs them.

Step 2: Configure branding and audience

1. Open Google Auth Platform → Branding. For a new project, select Get started and enter your app name, support email and developer contact details. Review Google’s displayed policy before agreeing and saving.

Configure the OAuth app name and support contact

2. Open Audience. Choose Internal only for eligible users within your Workspace organization. Choose External for consumer accounts or people outside the organization.

3. If an external app is in Testing, add the Google accounts that will test it under Test users.

Choose the audience and add test users for a Testing app

Step 3: Choose permissions for your workflow

Open Data Access → Add or remove scopes. Select the scopes your integration needs. If a scope is missing from the list, enter its full URL under Manually add scopes and select Add to table. Select Update, then Save.

Permission reference. The read-only example shown here uses https://www.googleapis.com/auth/forms.body.readonly, https://www.googleapis.com/auth/userinfo.email to view form definitions you can access. These are the permissions for this example, not a fixed scope set for every toolkit action. Choose permissions according to your own workflow. Scope reference.

Select only the scopes needed for your Google Forms workflow

Step 4: Create a Web application client

1. Open Clients → Create client. Select Web application and enter a descriptive name.

Select Web application for the OAuth client

2. Under Authorized redirect URIs, select Add URI and enter the exact Composio callback:

https://backend.composio.dev/api/v1/auth-apps/add

Enter the exact Composio production redirect URI

3. Select Create. Save the Client ID and download or copy the Client secret before closing the creation dialog. Google shows the full secret only once. Keep it private for the Composio setup. If you use an existing Web client, open it and verify the same redirect URI.

Confirm the registered callback and keep the credentials private

Part 2: Connect Google Forms in Composio

Step 1: Create an auth config

1. In the Composio dashboard, open Auth Configs → Create. Search for googleforms and select the toolkit.

Select the Google Forms toolkit in Composio

2. Enter a Config Name and select Next.

Name the Google Forms auth config

Step 2: Enter your app credentials and scopes

1. Select OAuth 2.0. If credential options are shown, choose Your Own Credentials. Enter your Google Client id and Client secret.

2. Keep Redirect URI identical to the callback registered on your Google Web client. Choose the scopes for your workflow and remove defaults you do not need. Select Create Auth Config.

If a scope is not listed, paste its full URL into the scope picker and select Add scope.

Use your own credentials and select the workflow scopes

Step 3: Authorize your Google account

1. Open the auth config and select Connect Account.

Start a Google Forms account connection

2. Choose the Google account to connect. Review the app name and requested permissions. Continue only if they match the access you intend to grant.

A Testing app can show an unverified-app notice. Confirm that it is your own app and that you trust its developer before continuing.

Google can show a notice for your own OAuth app while it is in TestingReview the account identity information shared for the Google Forms connectionReview the Google Forms permissions requested by your app

Google can skip permissions already approved. For an app in Testing, confirm that the account is a test user. A Workspace administrator’s app-access policy can also restrict sign-in.

Step 4: Confirm the connection is Active

Wait for Composio’s connection confirmation. Return to the auth config, open Accounts, and confirm the account shows Active. The auth config’s separate Enabled label does not confirm a connected account.

Confirm the Google Forms connected account is Active

Before using the app in production

Review the requirements for your audience and requested scopes in Google Auth Platform → Verification Center. Public apps requesting sensitive or restricted scopes generally need OAuth verification unless an exception applies. Eligible internal apps and testing apps can qualify for exceptions. Google verification requirements.

For external apps in Testing, refresh tokens for these data scopes generally expire after seven days. Moving to production does not itself complete verification. If you change requested scopes, reconnect the account and obtain fresh consent for the added access.

Share