# How to connect Google Meet to OpenClaw (no API keys)

> Connect Google Meet to OpenClaw with ClawLink: no Google Cloud project, no OAuth consent screen. 15 Meet tools for creating spaces and reading transcripts, recordings, and participants — not for joining calls.

Web version: https://claw-link.dev/openclaw/google-meet

The usual route to Google Meet access for OpenClaw is an MCP server you configure and keep running, plus your own OAuth app or API keys. ClawLink gives OpenClaw a more practical Google Meet setup: install one ClawHub skill, connect Google Meet in the browser, and OpenClaw can call real Google Meet actions from any chat surface with no auth, token refresh, or tool wiring to build yourself.

**Start here:** install the ClawLink plugin (`openclaw plugins install clawhub:clawlink-plugin`), pair it in the browser, then connect the app in the ClawLink dashboard. The interactive install prompt is on the web version of this page: https://claw-link.dev/openclaw/google-meet

## Setup

It takes three steps to connect OpenClaw to Google Meet.

1. **Install ClawLink** — add the plugin to OpenClaw once.
2. **Connect Google Meet** — one-click OAuth in the ClawLink dashboard.
3. **Use it from chat** — ask OpenClaw in plain English.

**Alternative for any agent (no plugin needed):** if the OpenClaw plugin route isn't available or doesn't work, any AI agent with shell access can use the ClawLink CLI instead:

```bash
npx -y @useclawlink/cli login          # sign in via browser — no API key to paste
npx -y @useclawlink/cli connect google-meet  # connect Google Meet (browser OAuth)
npx -y @useclawlink/cli actions google-meet  # list available actions
npx -y @useclawlink/cli run google-meet <action> --input '<json>'  # execute (add --confirm for writes)
```

### Install by command

The setup prompt above does all of this in one paste. By hand, it is one install command plus a browser approval:

```bash
openclaw plugins install clawhub:clawlink-plugin
```

Then ask OpenClaw to set up ClawLink. It starts browser pairing and prints an approval link — open it, approve the device, return to the chat, and say `done`. Finally, connect Google Meet in the [ClawLink dashboard](https://claw-link.dev/dashboard) — a one-click OAuth approval, no API keys.

Verify the connection by asking OpenClaw:

> Find yesterday's conference record with googlemeet_list_conference_records, pull the transcript with googlemeet_get_transcript, and give me the decisions made and a list of action items with owners.

### Using a different agent?

The OpenClaw plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

```bash
npx -y @useclawlink/cli login
```

`login` opens the same browser approval and stores a credential locally. Once Google Meet is connected in the dashboard, that agent calls the same 15 Google Meet tools over MCP. Full setup for MCP clients and shell agents: [connect apps to any AI agent](https://claw-link.dev/learn/connect-apps-to-any-ai-agent).

## Google Meet MCP for OpenClaw

Looking for a Google Meet MCP server for OpenClaw? ClawLink connects Google Meet to OpenClaw and exposes 15 Google Meet tools your agent can call over [MCP](https://claw-link.dev/learn/what-is-an-mcp-server), with [hosted auth](https://claw-link.dev/learn/oauth-for-ai-agents) and nothing to run or maintain yourself. Using Hermes instead? The [Hermes Google Meet integration](https://claw-link.dev/hermes/google-meet) works the same way.

Set expectations before the setup, because this is where most Meet automations go wrong: these tools drive the Google Meet API, which means creating and configuring meeting spaces and reading what happened afterwards — participants, recordings, transcripts, conference records. The agent does not join your call as a participant, does not listen live, and cannot take notes in the room; Google's API has no such capability and anything that does it is a bot driving a browser. Within that boundary the setup is one browser sign-in with no Google Cloud project, no OAuth consent screen of your own, and nothing in `openclaw.json`. The after-the-meeting half is where this earns its keep: an agent that can pull a transcript and turn it into actions is doing the part people actually want.

## What the OpenClaw Google Meet integration can do

15 Google Meet tools are ready for OpenClaw once the account is connected.

### All 15 Google Meet tools for OpenClaw

| Tool | What it does |
|---|---|
| **Create meet** `googlemeet_create_meet` | Create a Google Meet space |
| **End active conference** `googlemeet_end_active_conference` | End an active Google Meet conference |
| **Get conference record by name** `googlemeet_get_conference_record_by_name` | Get a Google Meet conference record by name |
| **Get meet** `googlemeet_get_meet` | Get a Google Meet space by ID |
| **Get participant session** `googlemeet_get_participant_session` | Get a Google Meet participant session |
| **Get recordings by conference record ID** `googlemeet_get_recordings_by_conference_record_id` | Get recordings for a Google Meet conference |
| **Get transcript** `googlemeet_get_transcript` | Get a Google Meet transcript by name |
| **Get transcript entry** `googlemeet_get_transcript_entry` | Get a Google Meet transcript entry |
| **Get transcripts by conference record ID** `googlemeet_get_transcripts_by_conference_record_id` | List transcripts for a Google Meet conference |
| **List conference records** `googlemeet_list_conference_records` | List Google Meet conference records |
| **List participant sessions** `googlemeet_list_participant_sessions` | List Google Meet participant sessions |
| **List participants** `googlemeet_list_participants` | List participants in a Google Meet conference |
| **List recordings** `googlemeet_list_recordings` | List Google Meet recordings |
| **List transcript entries** `googlemeet_list_transcript_entries` | List Google Meet transcript entries |
| **Update space** `googlemeet_update_space` | Update a Google Meet space |

## Example prompts

**Turn a meeting into actions**

> Find yesterday's conference record with googlemeet_list_conference_records, pull the transcript with googlemeet_get_transcript, and give me the decisions made and a list of action items with owners.

**Check who actually attended**

> For the conference record \<name>, use googlemeet_list_participants and googlemeet_list_participant_sessions to tell me who joined, when, and for how long.

**Create a space for later**

> Create a Google Meet space with googlemeet_create_meet and give me the joining link. I will add it to a calendar invite myself.

**Find the recording of a specific session**

> List conference records from last week, find the one titled or timed around \<detail>, and use googlemeet_list_recordings to tell me whether a recording exists and where it lives.

## What the Google Meet tools cover

The shape of this API decides what is possible, and it is narrower than the phrase "connect Meet" suggests.

- **Spaces and conferences are different objects.** `googlemeet_create_meet` and `googlemeet_get_meet` work with a space, the reusable meeting place. `googlemeet_list_conference_records` covers actual sessions that happened in it, and transcripts and recordings hang off those.
- **No tool joins a call.** Participation is not part of the Meet API. Anything that appears in a meeting as an attendee is a browser bot, not this integration.
- **Transcripts have two levels.** `googlemeet_get_transcript` returns the transcript object; `googlemeet_list_transcript_entries` and `googlemeet_get_transcript_entry` return the individual segments, which is what you want when the agent needs to quote someone accurately.
- **Recordings are metadata, not media.** `googlemeet_list_recordings` and `googlemeet_get_recordings_by_conference_record_id` tell you a recording exists and where it lives, typically in Drive, rather than handing over the file.
- **`googlemeet_end_active_conference` is the destructive one.** It ends a live meeting for everyone in it. Name the space explicitly and never pair it with an open-ended cleanup instruction.
- **Invitations belong to Calendar.** A Meet link on its own invites nobody; pair this with the Google Calendar integration when the goal is a scheduled meeting.

## ClawLink vs. building it yourself

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want Google Meet working from chat.

| | Manual | ClawLink |
|---|---|---|
| **Connection flow** | Register a Google Meet app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect Google Meet through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| **Ongoing maintenance** | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for Google Meet. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| **Agent usability** | You still need to expose the right Google Meet actions to the runtime in a format your agent can reliably use. | 15 tools for Google Meet are already exposed through ClawLink, so the agent can read and act from chat immediately. |

## ClawLink vs. Composio

Composio also exposes Google Meet to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for OpenClaw users instead. You install the plugin once, connect Google Meet in the browser, and the 15 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full [Composio alternatives](https://claw-link.dev/hub/composio-alternatives) comparison.

### OpenClaw installed the Google Meet skill but can't call the tools
The ClawHub skill teaches OpenClaw about Google Meet, but the calls run through the ClawLink plugin and your connected account. Make sure Google Meet is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.

### Connection succeeds but no tools appear
Reconnect Google Meet from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

### "Tool schema not loaded yet" error when calling Google Meet tools
Google Meet tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Google Meet call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

### Google Meet returns 403 or "permission denied" on one action while others work
Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

### Google Meet returns 403 or a permission error although the account is connected
Start with which account, because Meet data is tightly scoped to the meeting's participants and organizer. Conference records, transcripts, and recordings are readable by the account that has rights to that meeting, so a connection made with your personal Google account will not see a meeting organized on your work domain even though both are yours. The second cause is a partial approval on the consent screen, which leaves a connection that can create a space but cannot read records — reconnect from the dashboard and accept the full set. The third is Workspace policy: transcripts and recordings are governed by admin settings, and an admin who has restricted access to them can produce a permission error that no reconnection will resolve.

Ask the agent to diagnose it:

```text
Tell me which Google account this connection is acting as, then run googlemeet_list_conference_records and show me what it can actually see. Do not retry the failed call yet.
```

### The transcript is empty or googlemeet_get_transcript returns nothing
Almost always because no transcript was made. Google Meet generates transcripts only when transcription is turned on for that meeting, and availability depends on your Workspace edition, so an ordinary meeting nobody enabled it for has no transcript to fetch and the API correctly returns nothing. The second cause is sequencing: transcripts belong to a conference record, not to a meeting space, so the agent has to list conference records first and pull the transcript for the specific one. Asking for "the transcript of my meeting with X" without that lookup gives the model nothing concrete to address.

Ask the agent to diagnose it:

```text
Run googlemeet_list_conference_records for the last few days, show me each record with its name and time, and then tell me which ones have transcripts via googlemeet_get_transcripts_by_conference_record_id.
```

### The agent created a Meet link but nobody was invited
Creating a space and scheduling a meeting are different things. googlemeet_create_meet produces a Meet space and its joining link, but it does not create a calendar event and does not invite anyone — invitations live in Google Calendar. If the intent was a meeting on people's calendars, the agent needs the Google Calendar integration to create the event, optionally carrying the Meet link this tool returned. An agent asked to "set up a meeting" with only Meet connected will do exactly half the job and report success.

### OAuth finished in the browser but the account is still missing
Try reconnecting Google Meet and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

### Is there a OpenClaw Google Meet integration?
Yes. ClawLink is the fastest way to connect OpenClaw to Google Meet: link your Google Meet account once in the browser and OpenClaw can call the Google Meet API through 15 ready-made tools — no custom code or token handling.

### How do I add Google Meet to OpenClaw with ClawLink?
Paste the setup prompt from this page into OpenClaw. It installs the ClawLink Google Meet skill from ClawHub, then you click Connect in the dashboard to authorize Google Meet. OpenClaw calls the tools from the next message — no config files or API keys to manage.

### How long does it take to connect Google Meet to OpenClaw?
About two minutes. Sign in, click Connect next to Google Meet in the dashboard, authenticate, and OpenClaw can use it from the next chat message.

### Why use ClawLink instead of wiring Google Meet up myself?
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want Google Meet working from chat.

### Can the agent join my Google Meet call?
No. The Google Meet API lets an application create and manage meeting spaces and read records of conferences that happened, but it has no way to place a participant in a live call. Products that appear to do this run a headless browser that joins as a guest, which is a different mechanism with different consent implications and is not what this integration is. What the agent can do is create the space beforehand and, once the meeting has ended, read the transcript, the recording metadata, and who attended.

### Can it read meeting transcripts and recordings?
Yes, when they exist. Transcripts and recordings are produced by Google Meet itself according to your Workspace edition and settings, and the API reads what was generated rather than creating it. So if transcription was not switched on for a meeting, there is nothing for googlemeet_get_transcript to return, and that is a Meet configuration question rather than a connection problem. When they do exist, the flow is to find the conference record first and then pull transcripts or recordings against it.

### Do I need a Google Cloud project?
No. Building this yourself means creating a project, enabling the Meet API, configuring an OAuth consent screen, and taking it through verification because the Meet scopes are sensitive. ClawLink connects through an already-registered app, so you approve access on Google's own consent screen and nothing else. There is also no API-key alternative to compare against here — the Meet API is user-OAuth only, so every route to it authorizes a Google account, and the difference between them is who maintains the app.

### Will I hit Google Meet API quotas?
The per-minute quotas you will read about in guides are attached to a Google Cloud project, and on this route you are not administering one, so the quota-increase requests and backoff engineering those guides describe are not work you are doing. That is not a promise of unlimited calls — it is a shared service and heavy automated use is still heavy automated use — but the failure mode people plan for when they own a project is not the one you will be managing here.

### OpenClaw installed the Google Meet skill but can't call the tools
The ClawHub skill teaches OpenClaw about Google Meet, but the calls run through the ClawLink plugin and your connected account. Make sure Google Meet is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.

## Related

- [OpenClaw Google Super integration](https://claw-link.dev/openclaw/google-super) — Unified access to multiple Google services in one integration
- [Google Drive](https://claw-link.dev/openclaw/google-drive) — Upload, search, and manage files
- [Connect Google Analytics](https://claw-link.dev/openclaw/google-analytics) — Connect Google Analytics properties through hosted Google OAuth
