Google Meet
Overview
Section titled “Overview”Google Meet is a secure video conferencing platform that integrates with Google Workspace, facilitating remote meetings, screen sharing, and chat. With the integration in SquadOS, your agents can create and manage meeting spaces, end active conferences, list participants, retrieve recordings, and access detailed meeting transcriptions.
- Official website: https://meet.google.com/
- Composio documentation: docs.composio.dev/toolkits/googlemeet
Authentication
Section titled “Authentication”This tool uses OAuth 2.0 (OAUTH2) to connect.
You will need to authorize access to your Google account with the necessary scopes for Google Meet.
| Field | Required | Description |
|---|---|---|
| Google account | Yes | OAuth 2.0 authorization for Google Meet access via Composio. |
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Google Meet. - Click the card to open the details modal and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you authorize access to your Google account.
- Once done, you’re sent back to SquadOS with the account connected and the tool available for your agents. (Connection-flow details in Organization Tools.)
How do I set up custom Google OAuth credentials for Google Meet?
Section titled “How do I set up custom Google OAuth credentials for Google Meet?”For a step-by-step guide on creating and configuring your own Google OAuth credentials with Composio, see How to create OAuth2 credentials for Google Apps.
Why am I seeing “App is blocked” when connecting Google Meet?
Section titled “Why am I seeing “App is blocked” when connecting Google Meet?”The OAuth client is requesting scopes that Google hasn’t verified for that client. This usually happens when you add extra scopes beyond the defaults.
Remove the additional scopes from your auth config, or create your own OAuth app and submit the scopes for verification. See How to create OAuth2 credentials for Google Apps.
Why am I getting “Google Meet API has not been used in project” error?
Section titled “Why am I getting “Google Meet API has not been used in project” error?”When using custom OAuth credentials, the Google Meet API must be enabled in the Google Cloud project that owns those credentials. Enable it in Google Cloud Console under APIs & Services, wait a few minutes, and retry.
Why am I getting “Error 400: invalid_scope”?
Section titled “Why am I getting “Error 400: invalid_scope”?”The requested scopes are invalid or incorrectly formatted in the authorization URL. Verify your scope values against the Google OAuth scopes docs.
Why does the OAuth consent screen show “Composio” instead of my app?
Section titled “Why does the OAuth consent screen show “Composio” instead of my app?”By default, the consent screen uses Composio’s OAuth app. To show your own app name and logo, create your own OAuth app and set a custom redirect URL.
Why am I getting 401 errors on tool calls?
Section titled “Why am I getting 401 errors on tool calls?”The user’s access token is no longer valid. Common causes: the user revoked access, changed their password or 2FA, a Workspace admin policy changed, or Google’s refresh token limit (~50 per account) was exceeded. Re-authenticating the user typically resolves this.
Why am I getting “Quota Exhausted” or “rate limit exhausted”?
Section titled “Why am I getting “Quota Exhausted” or “rate limit exhausted”?”Google enforces per-minute and daily request quotas. If you’re using Composio’s default OAuth app, you share that quota with other users, which can cause limits to be hit faster. Use your own OAuth app credentials to get a dedicated quota, and add exponential backoff and retries to handle transient rate limits.
Available actions
Section titled “Available actions”Create Google Meet Space
Section titled “Create Google Meet Space”GOOGLEMEET_CREATE_MEET
Creates a new Google Meet space with optional configuration. Does not attach to any calendar event — calendar linking requires a separate Calendar tool call. Capture meetingUri, meetingCode, and space.name from the response immediately for downstream lookups. Requires meetings.space.created OAuth scope. Returns HTTP 429 under rapid calls; apply exponential backoff. Use when you need a meeting space with specific access controls, moderation, recording, or transcription settings.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
config | object | No | Optional configuration for the meeting space. If not provided, default settings will be used. Key sub-fields: accessType and entryPointAccess default to permissive values — set explicitly when audience or access level is known, as permissive defaults may conflict with organizational policies. Invalid combinations of these fields or moderation settings may be rejected based on domain/account policies. Recording and transcription features require a Workspace edition that supports cloud recording; personal accounts may not support these options. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
End active conference
Section titled “End active conference”GOOGLEMEET_END_ACTIVE_CONFERENCE
Ends an active conference in a Google Meet space. REQUIRES space_name parameter (e.g., spaces/jQCFfuBOdN5z or just jQCFfuBOdN5z). Use when you need to terminate an ongoing conference in a specified space. This operation only succeeds if a conference is actively running in the space. Immediately drops all active participants — obtain explicit user confirmation before calling.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
space_name | string | Yes | Resource name of the space in the format spaces/{space} where {space} is a unique, case-sensitive server-generated ID. Example: spaces/jQCFfuBOdN5z. This can be the full resource name including the spaces/ prefix or just the space ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get conference record by name
Section titled “Get conference record by name”GOOGLEMEET_GET_CONFERENCE_RECORD_BY_NAME
Tool to get a specific conference record by its resource name. Use when you have the conference record ID and need to retrieve detailed information about a single meeting instance.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Required. Resource name of the conference record. Format: conferenceRecords/{conference_record} where {conference_record} is a unique ID for each instance of a call within a space. Example: conferenceRecords/GLkPdCDLsjSXet2-QH9dDxIPOAIIigIgABgECA. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Meet details
Section titled “Get Meet details”GOOGLEMEET_GET_MEET
Retrieve details of a Google Meet space using its unique identifier. Newly created spaces may return incomplete data; retry after 1–3 seconds if needed.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
space_name | string | Yes | The unique identifier (space ID) for the Google Meet space. Provide only the raw space ID without the spaces/ prefix. Example: mV63iV9-KxoB. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Participant Details
Section titled “Get Participant Details”GOOGLEMEET_GET_PARTICIPANT_SESSION
Retrieves detailed information about a specific participant session from a Google Meet conference record. Returns session details including start time and end time for a single join/leave session. A participant session represents each unique join or leave session when a user joins a conference from a device. If a user joins multiple times from the same device, each join creates a new session. PREREQUISITE: You must first obtain the participant session resource name. Use LIST_PARTICIPANT_SESSIONS with a conference record ID and participant ID to get available sessions and their resource names. The name parameter is REQUIRED and must be in the format: conferenceRecords/{conference_record}/participants/{participant}/participantSessions/{participant_session}.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Required. Full resource name of the participant session to retrieve. Format: conferenceRecords/{conference_record}/participants/{participant}/participantSessions/{participant_session}. You can obtain this value from the name field returned by the LIST_PARTICIPANT_SESSIONS action. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get recordings by conference record ID
Section titled “Get recordings by conference record ID”GOOGLEMEET_GET_RECORDINGS_BY_CONFERENCE_RECORD_ID
Retrieves recordings from Google Meet for a given conference record ID. Only returns recordings if recording was enabled and permitted by the organizer’s domain policies; a valid conference_record_id does not guarantee recordings exist. After a meeting ends, recordings may take several minutes to process — an empty result may be temporary, not permanent.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
conference_record_id | string | Yes | Unique identifier for the conference record. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Transcript
Section titled “Get Transcript”GOOGLEMEET_GET_TRANSCRIPT
Retrieves a specific transcript by its resource name. Returns transcript details including state (STARTED, ENDED, FILE_GENERATED), start/end times, and Google Docs destination. PREREQUISITE: Obtain the transcript resource name first by using GET_TRANSCRIPTS_BY_CONFERENCE_RECORD_ID or construct it from known IDs.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Required. Resource name of the transcript. Format: conferenceRecords/{conferenceRecord}/transcripts/{transcript}. You can obtain this from the “Get Transcripts by Conference Record ID” action or construct it using known conference record and transcript IDs. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Transcript Entry
Section titled “Get Transcript Entry”GOOGLEMEET_GET_TRANSCRIPT_ENTRY
Fetches a single transcript entry by resource name for targeted inspection or incremental processing. Use when you have a specific transcript entry resource name and need to retrieve its details (text, speaker, timestamps, language). PREREQUISITE: Obtain the transcript entry resource name first by using LIST_TRANSCRIPT_ENTRIES or construct it from known IDs. The name parameter is REQUIRED and must follow the format: conferenceRecords/{conferenceRecordId}/transcripts/{transcriptId}/entries/{entryId}.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Required. Full resource name of the transcript entry. Format: conferenceRecords/{conferenceRecordId}/transcripts/{transcriptId}/entries/{entryId}. You can obtain this from the LIST_TRANSCRIPT_ENTRIES action or construct it using known conference record, transcript, and entry IDs. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get transcripts by conference record ID
Section titled “Get transcripts by conference record ID”GOOGLEMEET_GET_TRANSCRIPTS_BY_CONFERENCE_RECORD_ID
Retrieves all transcripts for a specific Google Meet conference using its conference_record_id. Transcripts require processing time after a meeting ends — empty results may be transient; retry after a delay before concluding no transcripts exist. Returns results only if transcription was enabled during the meeting and permitted by the organizer’s domain policies.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
page_size | integer | No | Maximum number of transcripts to return. The service might return fewer than this value. If unspecified, at most 10 transcripts are returned. The maximum value is 100; values above 100 are coerced to 100. |
page_token | string | No | Page token returned from a previous list call, used to retrieve the next page of results. |
conference_record_id | string | Yes | Unique identifier of the conference record. This is the ID portion from the conference record resource name (format: conferenceRecords/{id}). You can obtain valid conference record IDs by using the “List Conference Records” action or from the name field in conference record responses. Example ID: kRyYx8b7vNDsLpR1tG_cNjFUQBoBRhHIMoGJAJkBCQ. Do NOT pass the full resource name — only the ID portion after conferenceRecords/. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Conference Records
Section titled “List Conference Records”GOOGLEMEET_LIST_CONFERENCE_RECORDS
Tool to list conference records. Use when you need to retrieve a list of past conferences, optionally filtering them by criteria like meeting code, space name, or time range.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
filter | string | No | Optional. User specified filtering condition in EBNF format. Filterable fields: space.meeting_code, space.name, start_time, end_time. Examples: space.name = "spaces/NAME", space.meeting_code = "abc-mnop-xyz", start_time>="2024-01-01T00:00:00.000Z" AND start_time<="2024-01-02T00:00:00.000Z", end_time IS NULL. Time values must be RFC3339 UTC (e.g., 2024-01-01T00:00:00.000Z); non-UTC timezones or reversed bounds silently omit records. A single space.meeting_code may match multiple records if the code was reused; combine with time filters to isolate the target record. |
page_size | integer | No | Maximum number of conference records to return. The service might return fewer than this value. If unspecified, at most 25 conference records are returned. The maximum value is 100; values above 100 are coerced to 100. |
page_token | string | No | Page token returned from previous List Call. Loop using the returned page_token until no token is returned to retrieve the complete result set. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Participants
Section titled “List Participants”GOOGLEMEET_LIST_PARTICIPANTS
Lists the participants in a conference record. By default, ordered by join time descending. Use to retrieve all participants who joined a specific Google Meet conference, with support for filtering active participants (where latest_end_time IS NULL).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
filter | string | No | Optional. User-specified filtering condition in EBNF format. Filterable fields: earliest_start_time, latest_end_time. Example: latest_end_time IS NULL returns active participants in the conference. |
parent | string | Yes | Required. Format: conferenceRecords/{conference_record}. The conference record ID can be obtained from the LIST_CONFERENCE_RECORDS action. |
page_size | integer | No | Optional. Maximum number of participants to return. The service might return fewer than this value. If unspecified, at most 100 participants are returned. The maximum value is 250; values above 250 are coerced to 250. |
page_token | string | No | Optional. Page token returned from a previous list call, used to retrieve the next page of results. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Participant Sessions
Section titled “List Participant Sessions”GOOGLEMEET_LIST_PARTICIPANT_SESSIONS
Lists all participant sessions for a specific participant in a Google Meet conference. A participant session represents each unique join or leave session when a user joins a conference from a device. If a user joins multiple times from the same device, each join creates a new session. Returns session details including start time and end time for each session.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
filter | string | No | Optional. User-specified filtering condition in EBNF format. Filterable fields include start_time and end_time. Time values must use RFC3339 UTC format (e.g., start_time >= '2024-01-01T00:00:00Z'). Unsupported field names or malformed expressions may silently narrow or drop results rather than raising errors. |
page_size | integer | No | Optional. Maximum number of participant sessions to return. The service might return fewer than this value. If unspecified, at most 100 participant sessions are returned. The maximum value is 250; values above 250 are coerced to 250. |
page_token | string | No | Optional. Page token returned from a previous list call, used to retrieve the next page of results. Iterate using successive page_token values until the response omits page_token to avoid silently missing sessions. |
participant_id | string | Yes | Required. The unique identifier of the participant within the conference. Example: xyz-456. |
conference_record_id | string | Yes | Required. The unique identifier of the conference record. Example: abc-123-def. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Recordings
Section titled “List Recordings”GOOGLEMEET_LIST_RECORDINGS
Tool to list recording resources from a conference record. Use when you need to retrieve recordings from a specific Google Meet conference. Recordings are created when meeting recording is enabled and saved to Google Drive as MP4 files.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
parent | string | Yes | Required. The conference record to list recordings for. Format: conferenceRecords/{conference_record}. |
page_size | integer | No | Maximum number of recordings to return. The service may return fewer than this value. If unspecified, at most 10 recordings are returned. The maximum value is 100; values above 100 are coerced to 100. |
page_token | string | No | Page token returned from a previous list call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to the list call must match the call that provided the page token. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Transcript Entries
Section titled “List Transcript Entries”GOOGLEMEET_LIST_TRANSCRIPT_ENTRIES
Tool to list structured transcript entries (speaker/time/text segments) for a specific Google Meet transcript. Use when you need to access the detailed content of a transcript, including individual spoken segments with timestamps and speaker information. Note: The transcript entries returned by the API might not match the transcription in Google Docs due to interleaved speakers or post-generation modifications.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
page_size | integer | No | Maximum number of transcript entries to return. The service might return fewer than this value. If unspecified, at most 10 entries are returned. The maximum value is 100; values above 100 are coerced to 100. |
page_token | string | No | Page token returned from a previous list call, used to retrieve the next page of results. |
transcript_id | string | Yes | The unique identifier of the transcript within the conference record. |
conference_record_id | string | Yes | The unique identifier of the conference record. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Google Meet Space
Section titled “Update Google Meet Space”GOOGLEMEET_UPDATE_SPACE
Updates the settings of an existing Google Meet space. Requires organizer/host privileges and the meetings.space.created OAuth scope. REQUIRED PARAMETER: name (the space identifier, e.g., spaces/jQCFfuBOdN5z). OPTIONAL PARAMETERS: config (new configuration settings to apply) and updateMask (specify which fields to update; if omitted, all provided config fields are updated).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | REQUIRED. The unique identifier of the Google Meet space to update. Format: spaces/{space} where {space} is the space ID. |
config | object | No | Configuration settings to update for the meeting space. Provide the fields you want to modify (e.g., accessType, entryPointAccess, moderation settings). Some settings require specific Google Workspace editions and admin policies; unsupported settings may apply silently with no effect. |
updateMask | string | No | Field mask specifying which fields to update. Comma-separated list of fully qualified field names (e.g., config.accessType,config.entryPointAccess). If not provided, only the fields explicitly set in config will be updated. WARNING: Using "*" will attempt to update ALL config fields, which may cause errors. Recommend specifying only the fields being updated. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |