
Nakama can listen to a Google Meet call through Chrome and turn the conversation into text you and your agent can use.

## Why use Google Meet capture

The Chrome extension picks up sound from the Meet tab and your microphone on your computer. Nakama sends that sound to OpenAI, which turns it into text and saves it with the meeting.

There is no bot participant joining the call.

## What you need

- An organization admin who can configure Google Meet
- An OpenAI key for transcription. This is a secret key from OpenAI that pays for turning speech into text.
- Google Chrome with the Nakama extension installed
- A Google Meet call that you are allowed to record and transcribe

Always tell participants before transcription starts. Follow your organization's recording and privacy rules.

## Set up Google Meet

### 1. Open Google Meet

Open **Control center → Workspace → Google Meet**. It is included in Nakama. An organization admin can enable or disable it in **Google Meet → Settings**.

### 2. Add the OpenAI key

Open **Google Meet → Settings**, enter the OpenAI key, and save it. This key is used only for meeting transcription and is billed separately from a ChatGPT subscription.

### 3. Install the Chrome extension

Download the extension from the **Google Meet** page and unzip it. This is a one-time setup in Chrome:

1. Open `chrome://extensions`
2. Turn on **Developer mode**
3. Choose **Load unpacked**
4. Select the extension folder

Keep the extension enabled while you use Google Meet.

## Start a transcription

1. Open **Google Meet** in Nakama and connect the Chrome extension.
2. Open your Google Meet call in Chrome.
3. Open the extension panel and start capture.

Keep the Nakama page open. The extension receives a one-time connection link and sends audio to Nakama.

The meeting moves through **Waiting**, **Transcribing**, and **Finished**. Open the meeting in Nakama to see new text while the call is running.

## Read the transcript with your agent

The agent can:

- list meetings
- check a meeting's status
- read new transcript text
- stop an active capture

Ask questions such as:

> What decisions were made in the latest Google Meet?

> Summarize the action items from meeting ABC.

Assign the Google Meet tools and skill to the profile you want to use. The agent only sees meetings owned by that profile and permitted for the current user. Captures started from the page have no profile assigned; read those transcripts on the page.

You can also upload a Markdown transcript (up to 1 MiB) or audio file (up to 7 MiB). Audio uploads use the organization's regular transcription settings; live capture uses the key saved in Google Meet settings.

## Stop and save

Choose **Leave** in Nakama or stop capture from the Chrome extension. Nakama finishes the current transcript and keeps the saved meeting available under **Saved transcripts**.

If Chrome closes or the connection breaks, Nakama keeps the text collected so far and marks the meeting as incomplete. It does not silently reconnect to the call.

## Remote Nakama servers

The capture service binds to `127.0.0.1` by default. If Chrome runs on another
computer, your administrator must make the capture WebSocket reachable through
a secure address and set these variables on the Nakama server before starting
Nakama:

- `NAKAMA_MEET_CAPTURE_HOST` sets the capture listener's bind address. Set it to
  `0.0.0.0` when a container or reverse proxy must connect to the listener.
- `NAKAMA_MEET_CAPTURE_ORIGIN` sets the complete WebSocket URL that Nakama gives
  the Chrome extension. Use `wss://` and include the `/capture` path.
- `NAKAMA_MEET_CAPTURE_PORT` sets the capture listener's port. Without it Nakama
  picks a free port on each start, so set it when a reverse proxy needs a fixed
  target.

For example, configure a reverse proxy at `meet-capture.example.com` with these
server environment variables:

```bash
export NAKAMA_MEET_CAPTURE_HOST=0.0.0.0
export NAKAMA_MEET_CAPTURE_PORT=4320
export NAKAMA_MEET_CAPTURE_ORIGIN=wss://meet-capture.example.com/capture
```

Restart Nakama after changing any of these variables. The reverse
proxy must forward WebSocket upgrade requests to the capture listener. Do not
share the connection links; they contain a temporary private passcode for one
organization and one meeting.

## Troubleshooting

### The capture does not start

- Make sure the Meet tab is open in Chrome.
- Make sure the extension is enabled.
- Refresh both the Nakama Google Meet page and the Meet tab.
- Connect the extension to the active Nakama organization again.

### The meeting is ready but no transcript appears

- Check that the OpenAI key is saved in **Google Meet → Settings**.
- Check that Google Meet is enabled in **Google Meet → Settings**. Capture starts automatically; there is no separate worker to start.
- Confirm that Chrome allowed microphone access.
- Confirm that participants are speaking in the Meet tab being captured.

### The extension cannot reach Nakama

The Chrome extension and Nakama must be able to reach the same connection address. For remote servers, ask your administrator to check the secure connection and firewall.
