> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetstream.ai/llms.txt.
> For full documentation content, see https://docs.meetstream.ai/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetstream.ai/_mcp/server.

# Google Signed-In Bots

> This guide applies to **Google Meet**.

By default, MeetStream bots join as anonymous users. A signed-in bot logs into a real Google account before joining — so it appears as a named participant, not a guest.

**Use this when:**
- The meeting blocks anonymous/guest users
- You want the bot to appear with a name and avatar instead of "Unknown"

---
<div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/7033860827284635a629931cf9f19d48" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>
---

## Prerequisites

- A **Google Workspace account** with a custom domain (e.g. `yourcompany.com`)
- Access to your **Google Workspace Admin Console**
- Terminal access to run an OpenSSL command

---

## Setup

<Steps>
  <Step title="Open Google Workspace Admin">
        Navigate to [admin.google.com](https://admin.google.com).

        <Frame>
            <img src="https://files.buildwithfern.com/meetstream-ai-573402.docs.buildwithfern.com/e5d03ac542421e72b546cd33229cc4fd0268e044fa95efebf7f816e329034837/docs/assets/images/guides/signed-in-bots/step-1.png" alt="workspace admin" />
        </Frame>
  </Step>

  <Step title="Navigate to SSO Settings">
Go to **Security → Authentication → SSO with third-party IdPs**.

<Frame>
      <img src="https://files.buildwithfern.com/meetstream-ai-573402.docs.buildwithfern.com/5b5135faef08dab9e87b75d2d829bd01f8f8b0dfbd5ebf20c115354704e661d8/docs/assets/images/guides/signed-in-bots/step-2.png" alt="tab navigation" />
</Frame>
  </Step>

  <Step title="Open the Legacy SSO Profile">
  Select **SSO with third-party IdPs**, then open **Legacy SSO profile**.

<Frame>
      <img src="https://files.buildwithfern.com/meetstream-ai-573402.docs.buildwithfern.com/f0e04ea891980baf6be516d6ccfad3858e26f615bb6373cb287b142f7707c48a/docs/assets/images/guides/signed-in-bots/step-3.png" alt="legacy sso profile" />
</Frame>
  </Step>

  <Step title="Enable the Legacy SSO Profile">
  Turn on **Enable legacy SSO profile** and fill in these URLs:

Sign-in page URL
```
https://api.meetstream.ai/api/v1/bot/gmeet-sign-in
```

Sign-out page URL
```
https://api.meetstream.ai/api/v1/bot/gmeet-sign-out
```
Also enable **Domain-specific issuer** on the same page.

<Frame>
      <img src="https://files.buildwithfern.com/meetstream-ai-573402.docs.buildwithfern.com/d3752d8c380f612c202e8c474dd18dc7cdd25b445a2140eb09065bfad3b20735/docs/assets/images/guides/signed-in-bots/step-4.png" alt="legacy sso profile" />
</Frame>
<Frame>
      <img src="https://files.buildwithfern.com/meetstream-ai-573402.docs.buildwithfern.com/cdea18e57538117f6f72998757344627d0af798eba94a14932bba390252ab402/docs/assets/images/guides/signed-in-bots/step-4-b.png" alt="legacy sso profile" />
</Frame>
  </Step>

  <Step title="Generate a Certificate">
  Run this command in your terminal:

```bash
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes
```

This creates two files:
- `key.pem` — your private key
- `cert.pem` — your certificate

Save both. You'll need them in the next steps.
  </Step>

  <Step title="MeetStream Dashboard Integration">
  In the [MeetStream dashboard](https://app.meetstream.ai/integrations), go to **Integrations → Google Signed-In Bots**.

<Frame>
      <img src="https://files.buildwithfern.com/meetstream-ai-573402.docs.buildwithfern.com/4fcfac81269383788890829ad855869648c67c33604f8e5ca8042d84c44f93cc/docs/assets/images/guides/signed-in-bots/step-5.png" alt="dashboard" />
</Frame>
  </Step>

  <Step title="Add Your Domain">
  Enter the custom domain you use with your Google Workspace account.

<Frame>
      <img src="https://files.buildwithfern.com/meetstream-ai-573402.docs.buildwithfern.com/91951ec960f8f97fef97a0da2373b63ece5847dca581e97580c36865c05bc5fb/docs/assets/images/guides/signed-in-bots/step-6.png" alt="add domain" />
</Frame>
  </Step>

  <Step title="Add Mail IDs and Upload Certificates">
  Add each email address you use to invite the bot. For every email you add, upload the `key.pem` and `cert.pem` certificate generated in Step 5.

> Upload the certificate each time you add a new mail ID under a domain.

<Frame>
      <img src="https://files.buildwithfern.com/meetstream-ai-573402.docs.buildwithfern.com/77194d0c910537193c672b4f3ac495ab9d425e7f01a8fdd1e373dc92d05b5777/docs/assets/images/guides/signed-in-bots/step-7.png" alt="adding user" />
</Frame>
  </Step>
</Steps>
---

## Deploy Your Signed-In Bot

Now you are ready to use Google meet using configured email identity! When calling the [Create Bot](/api-reference/api-endpoints/bot-endpoints/create-bot) endpoint, pass the following parameter to activate Google Meet sign-in:

```json
"google_meet": {
        "login_required": true,
        "google_login_domain": "your domain name"
    }
```
Here is an example with a full working payload that supports signed-in bots for google meet:
```json
{
    "meeting_link": "{{meeting_link}}",
    "bot_name": "{{bot_name}} Agent",
    "video_required": {{video_required}},
    "bot_message": "Hey Everyone, I'm a speaking agent",
    "bot_image_url":"{{bot_profile}}",
    "google_meet": {
        "login_required": true,
        "google_login_domain": "salesrobin.ai"
    },
    "custom_attributes": {
        "tag": "Meetstream",
        "sample": "testing",
        "user": "{{user_id}}"
    },
    "recording_config": {
        "retention": {
            "type": "timed",
            "hours": 48
        }
    },
    "automatic_leave": {
        "waiting_room_timeout": 100, // sec
        "everyone_left_timeout": 100, // secs
        "voice_inactivity_timeout": 51, // secs
        "in_call_recording_timeout": 14400, // secs
        "recording_permission_denied_timeout": 60 // only for zoom
    }
}
```

---
For general bot setup, see the [Create Your First Bot](/guides/get-started/create-your-first-bot) guide and webhook event handling, see [Webhooks and Events](/guides/webhooks/webhooks-and-events).