Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Google Meet connector

OAuth 2.0CommunicationCalendar

Connect to Google Meet. Create and manage video meetings with powerful collaboration features

Google Meet connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Google Meet credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the Google Meet connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:

    1. Set up auth redirects

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Google Meet and click Create. Click Use your own credentials and copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

        Copy redirect URI from Scalekit dashboard

      • Navigate to Google Cloud ConsoleAPIs & ServicesCredentials. Select + Create Credentials, then OAuth client ID. Choose Web application from the Application type menu.

        Select Web Application in Google OAuth settings

      • Under Authorized redirect URIs, click + Add URI, paste the redirect URI, and click Create.

        Add authorized redirect URI in Google Cloud Console

    2. Enable the Google Meet API

      • In Google Cloud Console, go to APIs & ServicesLibrary. Search for “Google Meet API” and click Enable.
    3. Get client credentials

      • Google provides your Client ID and Client Secret after you create the OAuth client ID in step 1.
    4. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.

      • Enter your credentials:

        Add credentials in Scalekit dashboard

      • Click Save.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'googlemeet'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Google Meet:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'googlemeet_list_conference_records',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Update meet space — Update the configuration of a Google Meet meeting space, such as its access type or entry point access
  • List transcripts, transcript entries, smart notes — List the transcripts generated during a Google Meet conference, given the conference record’s resource name
  • Get transcript, smart note, recording — Retrieve details of a single Google Meet transcript by its resource name, including its Google Docs export location
  • Conference end meet — End the active conference in a Google Meet space, disconnecting all participants
  • Create meet space — Create a new Google Meet meeting space
Proxy API call
const result = await actions.request({
connectionName: 'googlemeet',
identifier: 'user_123',
path: '/v2/spaces',
method: 'GET',
});
console.log(result);
Execute a tool
const result = await actions.executeTool({
connector: 'googlemeet',
identifier: 'user_123',
toolName: 'googlemeet_list',
toolInput: {},
});
console.log(result);
Google OAuth consent screen verification

Before you use your own Google OAuth credentials in production, understand what end users see on Google’s consent screen when they authorize a connected account.

Audience typeConsent screen behaviorWhen to use
InternalShows your App Name and logo from Branding settingsOnly users in your Google Workspace or Cloud Identity organization can authorize the connector
ExternalShows {env_name}.scalekit.dev until Google verifies your appAny user with a Google account can authorize the connector

Why External is required for most AgentKit connectors:

  • Internal restricts authorization to users in your Google Workspace or Cloud Identity organization. Users with @gmail.com or other Google accounts outside your organization cannot complete OAuth.
  • External is required when end users outside your organization authorize tool access through connected accounts.
  • Organization-managed OAuth clients follow the same rules as personal or developer OAuth clients. Switching to an org-owned client does not bypass Google verification.
  • Until Google completes verification of your External app, users see scalekit.dev on the consent screen. After verification, your App Name and logo appear.

During development:

  • Add Test users under APIs & Services → OAuth consent screen while publishing status is Testing.
  • On unverified apps, users can click Advanced → Go to app (unsafe) to proceed during testing.
  • Google Workspace admins may need to allowlist your OAuth client.

For Google’s verification requirements and timeline, refer to Google’s OAuth consent screen verification guide.

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

googlemeet_create_meet_space#Create a new Google Meet meeting space. Optionally configure access type and entry point access restrictions. Returns the meeting URI and space details. Uses OAuth credentials.4 params

Create a new Google Meet meeting space. Optionally configure access type and entry point access restrictions. Returns the meeting URI and space details. Uses OAuth credentials.

NameTypeRequiredDescription
access_typestringoptionalAccess type for the meeting space. One of: 'OPEN' (anyone with link), 'TRUSTED' (domain users), 'RESTRICTED' (only invited participants).
entry_point_accessstringoptionalWho can use entry points to join. One of: 'ALL' (anyone), 'CREATOR_APP_ONLY' (only the creating app's users).
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googlemeet_end_meet_conference#End the active conference in a Google Meet space, disconnecting all participants. Requires the resource name of the space (e.g., 'spaces/abc123'). Uses OAuth credentials.3 params

End the active conference in a Google Meet space, disconnecting all participants. Requires the resource name of the space (e.g., 'spaces/abc123'). Uses OAuth credentials.

NameTypeRequiredDescription
space_namestringrequiredResource name of the Meet space whose active conference to end (e.g., 'spaces/abc123').
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googlemeet_get_conference_record#Retrieve details of a single Google Meet conference record by its resource name (e.g., 'conferenceRecords/abc123'), including its start/end time and associated space. Uses OAuth credentials.1 param

Retrieve details of a single Google Meet conference record by its resource name (e.g., 'conferenceRecords/abc123'), including its start/end time and associated space. Uses OAuth credentials.

NameTypeRequiredDescription
conference_record_namestringrequiredResource name of the conference record to retrieve (e.g., 'conferenceRecords/abc123def456')
googlemeet_get_meet_space#Retrieve details of a Google Meet meeting space by its resource name (e.g., 'spaces/abc123'), including its meeting URI and configuration. Uses OAuth credentials.3 params

Retrieve details of a Google Meet meeting space by its resource name (e.g., 'spaces/abc123'), including its meeting URI and configuration. Uses OAuth credentials.

NameTypeRequiredDescription
space_namestringrequiredResource name of the Meet space to retrieve (e.g., 'spaces/abc123').
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googlemeet_get_participant#Retrieve details of a single Google Meet conference participant by their resource name (signed-in user, anonymous user, or phone user). Uses OAuth credentials.1 param

Retrieve details of a single Google Meet conference participant by their resource name (signed-in user, anonymous user, or phone user). Uses OAuth credentials.

NameTypeRequiredDescription
participant_namestringrequiredResource name of the participant to retrieve (e.g., 'conferenceRecords/abc123def456/participants/xyz789')
googlemeet_get_recording#Retrieve details of a single Google Meet recording by its resource name, including its Google Drive export location. Uses OAuth credentials.1 param

Retrieve details of a single Google Meet recording by its resource name, including its Google Drive export location. Uses OAuth credentials.

NameTypeRequiredDescription
recording_namestringrequiredResource name of the recording to retrieve (e.g., 'conferenceRecords/abc123def456/recordings/xyz789')
googlemeet_get_smart_note#Retrieve details of a single Gemini-generated smart notes session by its resource name, including its state and Google Docs destination. Uses OAuth credentials.1 param

Retrieve details of a single Gemini-generated smart notes session by its resource name, including its state and Google Docs destination. Uses OAuth credentials.

NameTypeRequiredDescription
smart_note_namestringrequiredResource name of the smart notes session to retrieve (e.g., 'conferenceRecords/abc123def456/smartNotes/xyz789')
googlemeet_get_transcript#Retrieve details of a single Google Meet transcript by its resource name, including its Google Docs export location. Uses OAuth credentials.1 param

Retrieve details of a single Google Meet transcript by its resource name, including its Google Docs export location. Uses OAuth credentials.

NameTypeRequiredDescription
transcript_namestringrequiredResource name of the transcript to retrieve (e.g., 'conferenceRecords/abc123def456/transcripts/xyz789')
googlemeet_list_conference_records#List past Google Meet conference records, ordered by start time in descending order, optionally filtered by space name, meeting code, or start/end time. Uses OAuth credentials.3 params

List past Google Meet conference records, ordered by start time in descending order, optionally filtered by space name, meeting code, or start/end time. Uses OAuth credentials.

NameTypeRequiredDescription
filterstringoptionalFilter expression restricting which conference records are returned, e.g. by space.meeting_code, space.name, start_time, or end_time
page_sizeintegeroptionalMaximum number of conference records to return (default 25, maximum 100)
page_tokenstringoptionalToken for retrieving the next page of results
googlemeet_list_participant_sessions#List the join/leave sessions of a single Google Meet participant. A participant can have multiple sessions if they rejoined the same conference. Uses OAuth credentials.4 params

List the join/leave sessions of a single Google Meet participant. A participant can have multiple sessions if they rejoined the same conference. Uses OAuth credentials.

NameTypeRequiredDescription
participant_namestringrequiredResource name of the parent participant whose sessions to list (e.g., 'conferenceRecords/abc123def456/participants/xyz789')
filterstringoptionalEBNF filter expression over start_time / end_time, e.g. "end_time IS NULL" to return only sessions still in progress.
page_sizeintegeroptionalMaximum number of participant sessions to return (default 10, maximum 100)
page_tokenstringoptionalToken for retrieving the next page of results
googlemeet_list_participants#List the participants of a Google Meet conference, given the conference record's resource name. Uses OAuth credentials.4 params

List the participants of a Google Meet conference, given the conference record's resource name. Uses OAuth credentials.

NameTypeRequiredDescription
conference_record_namestringrequiredResource name of the conference record whose participants to list (e.g., 'conferenceRecords/abc123def456')
filterstringoptionalEBNF filter expression over earliest_start_time / latest_end_time, e.g. "latest_end_time IS NULL" to return only participants currently in the conference.
page_sizeintegeroptionalMaximum number of participants to return (default 10, maximum 250)
page_tokenstringoptionalToken for retrieving the next page of results
googlemeet_list_recordings#List the recordings generated during a Google Meet conference, given the conference record's resource name. Uses OAuth credentials.3 params

List the recordings generated during a Google Meet conference, given the conference record's resource name. Uses OAuth credentials.

NameTypeRequiredDescription
conference_record_namestringrequiredResource name of the conference record whose recordings to list (e.g., 'conferenceRecords/abc123def456')
page_sizeintegeroptionalMaximum number of recordings to return (default 10, maximum 100)
page_tokenstringoptionalToken for retrieving the next page of results
googlemeet_list_smart_notes#List the set of Gemini-generated smart notes sessions from a Google Meet conference, given the conference record's resource name. Each smart notes session points to a Google Doc destination. Uses OAuth credentials.3 params

List the set of Gemini-generated smart notes sessions from a Google Meet conference, given the conference record's resource name. Each smart notes session points to a Google Doc destination. Uses OAuth credentials.

NameTypeRequiredDescription
conference_record_namestringrequiredResource name of the conference record whose smart notes to list (e.g., 'conferenceRecords/abc123def456')
page_sizeintegeroptionalMaximum number of smart notes to return (default 10, maximum 100)
page_tokenstringoptionalToken for retrieving the next page of results
googlemeet_list_transcript_entries#List the structured transcript entries (one per speaker utterance, with text, speaker, and start/end time) within a Google Meet transcript. Uses OAuth credentials.3 params

List the structured transcript entries (one per speaker utterance, with text, speaker, and start/end time) within a Google Meet transcript. Uses OAuth credentials.

NameTypeRequiredDescription
transcript_namestringrequiredResource name of the parent transcript whose entries to list (e.g., 'conferenceRecords/abc123def456/transcripts/xyz789')
page_sizeintegeroptionalMaximum number of transcript entries to return (default 10, maximum 100)
page_tokenstringoptionalToken for retrieving the next page of results
googlemeet_list_transcripts#List the transcripts generated during a Google Meet conference, given the conference record's resource name. Uses OAuth credentials.3 params

List the transcripts generated during a Google Meet conference, given the conference record's resource name. Uses OAuth credentials.

NameTypeRequiredDescription
conference_record_namestringrequiredResource name of the conference record whose transcripts to list (e.g., 'conferenceRecords/abc123def456')
page_sizeintegeroptionalMaximum number of transcripts to return (default 10, maximum 100)
page_tokenstringoptionalToken for retrieving the next page of results
googlemeet_update_meet_space#Update the configuration of a Google Meet meeting space, such as its access type or entry point access. Only the fields you provide are changed unless an explicit update mask is given. Uses OAuth credentials.4 params

Update the configuration of a Google Meet meeting space, such as its access type or entry point access. Only the fields you provide are changed unless an explicit update mask is given. Uses OAuth credentials.

NameTypeRequiredDescription
space_namestringrequiredResource name of the Meet space to update (e.g., 'spaces/abc123')
access_typestringoptionalAccess type for the meeting space. One of: 'OPEN' (anyone with link), 'TRUSTED' (domain users), 'RESTRICTED' (only invited participants).
entry_point_accessstringoptionalWho can use entry points to join. One of: 'ALL' (anyone), 'CREATOR_APP_ONLY' (only the creating app's users).
update_maskstringoptionalComma-separated field mask restricting which fields are updated (e.g. 'config.accessType'). If omitted, all fields provided in the request are updated.