Composio connects AI agents to Google Classroom so they can work with courses, rosters and coursework according to the signed-in user’s role.
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 Classroom access and a Google Cloud project you can manage. Access to courses follows the signed-in user’s Classroom role; some advanced features require specific Education licenses.
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.

2. Open APIs & Services → Library. Search for Google Classroom 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 classroom.googleapis.com.


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 Classroom setup requirements.
The example uses classroom.courses.readonly to view courses. Composio also checks the signed-in Classroom profile, so classroom.rosters.readonly is included for that connection check. This scope also permits viewing class rosters; it does not permit changing them. Classroom roles and school policies still apply.
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.

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.

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/classroom.courses.readonly, https://www.googleapis.com/auth/classroom.rosters.readonly to view courses and complete the Classroom account check. 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.

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

2. Under Authorized redirect URIs, select Add URI and enter the exact Composio callback:
https://backend.composio.dev/api/v1/auth-apps/add

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.

Part 2: Connect Google Classroom in Composio
Step 1: Create an auth config
1. In the Composio dashboard, open Auth Configs → Create. Search for Google Classroom and select the toolkit.

2. Enter a Config Name and select Next.

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.

Step 3: Authorize your Google account
1. Open the auth config and select Connect Account.

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 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.

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.