Integration

Use Speak AI with Google Meet

Pipe Google Meet calls into Speak AI for automatic transcription, AI summaries, sentiment, and shareable insights. Connect a Google Calendar once and Speak’s bot joins every Meet call. Or pull Meet recordings directly from Drive. Production-ready in under 10 minutes.

Free 7-day trial. No credit card required. Works with Google Workspace personal and business accounts.
BotAuto-Join
RESTAPI + Zapier
100+Languages
Freeto Try

Trusted by 250,000+ people and teams

What you can do

Once Google Meet calls flow into Speak AI, every meeting becomes searchable, analyzable, and shareable. Sales, research, and product teams use the same pipeline for sales calls, customer interviews, and recurring team meetings.

Auto-join every Google Meet

Two paths. Add [email protected] as a guest on a single calendar event for the bot to join that one Meet. Or connect your Google Calendar to Speak once for ongoing auto-coverage of every Meet on your schedule. Same bot, same output, no per-meeting setup either way.

Pull Meet cloud recordings from Drive

Google Meet’s Record meeting feature saves to a Drive folder named Meet Recordings. Connect Drive in Speak and import recordings directly through the file picker. Useful for archived recordings or teams already using Meet’s native recording.

Run AI analysis on every Meet call

Topics, sentiment, keywords, named entities, custom Magic Prompts. Speak runs 80+ analysis tools on every Meet recording so your CRM, dashboards, and BI tools always have rich structured data, not raw text.

Search every Meet call from Claude or ChatGPT

Speak’s official MCP server lets AI assistants search across your full Meet call library. Ask Claude to surface every objection your team heard last quarter, or pull verbatim quotes for a board deck.

Set up in 3 steps

Two production paths. Calendar bot for live meetings (recommended). Drive folder watch for archived recordings. Both flow through the same Speak workspace.

Sign up for Speak AI

Create a free account at app.speakai.co. You get a 7-day trial with full access. No credit card needed. Once you are in, go to Settings > API and copy your API key.

Pick your integration path

Invite [email protected] to a meeting (no setup)

The fastest path: open any Google Calendar event with a Meet link and add [email protected] as a guest. The bot accepts the invite and joins the Meet automatically. Same email works for Zoom, Microsoft Teams, and Webex events. Zero in-app configuration needed.

Capture or schedule a live meeting in-app

In Speak’s AI Meeting Assistant, click Capture Live Meeting to send the bot to a meeting that is already running, or Schedule Live Meeting to send it to one starting later. Paste the Meet URL and the bot handles the rest. Works for any meeting platform that accepts a guest URL.

Calendar bot via OAuth (auto-coverage)

For ongoing coverage of every meeting on your calendar without per-event invites, connect your Google Calendar to Speak under Meeting Assistant > Calendar. Speak detects every Meet event automatically and sends the bot. Best when your team books meetings into Calendly or other tools you do not control directly.

Per-meeting API schedule (server-to-server)

For programmatic flows where your CRM or backend creates the Meet URL, POST it to /v1/meeting-assistant/events/schedule. The bot joins that one meeting without requiring a calendar OAuth.

Drive folder watch

For teams already using Meet’s Record meeting feature. Connect Drive in Speak and watch the Meet Recordings folder. Every new recording gets transcribed and analyzed automatically. Best for backfilling archives.

MCP for Claude and ChatGPT

Already have Meet calls in Speak? Connect Claude Desktop with npx @speakai/mcp-server init, or add the remote MCP server URL to Claude.ai or ChatGPT. Your AI assistant searches, summarizes, and analyzes your Meet library through conversation.

Subscribe to media.analyzed

Speak fires a signed webhook when transcription and AI analysis complete (usually within 60 seconds for a 10-minute call). Register your endpoint via POST /v1/webhook and act on transcripts as they land in your CRM, BI, or alerting system.

Real workflows, real results

Four production patterns Speak customers ship with Google Meet. Pick the one that fits your team and copy the recipe.







For sales, research, and product teams · Calendar invite or OAuth

Auto-join every Meet from your Google Calendar

Two paths, same outcome. Easiest: add [email protected] as a guest on the Calendar event. The bot accepts and joins. Auto-coverage: connect your Calendar to Speak once and every Meet event gets the bot without any per-event invite. Both routes deliver the transcript and AI analysis to your Speak workspace within minutes of the call ending.

Option A: Invite the bot by email (no setup)
# Manual: open the Google Calendar event with the Meet link.
# Click "Add guests" and enter:
#     [email protected]
# Save the event. The bot accepts the invite and joins the Meet automatically.

# Same email works for Zoom, Microsoft Teams, and Webex events.

# Programmatic (Google Calendar API) - add the bot as an attendee:
curl -X PATCH \
  "https://www.googleapis.com/calendar/v3/calendars/primary/events/$EVENT_ID?sendUpdates=externalOnly" \
  -H "Authorization: Bearer $GOOGLE_OAUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "attendees": [
      { "email": "[email protected]" }
    ]
  }'
Option B: Connect Google Calendar in Speak (auto-coverage)
# In Speak AI dashboard:
# 1. Go to Meeting Assistant -> Calendar
# 2. Click "Connect Google Calendar"
# 3. Approve OAuth scopes:
#      https://www.googleapis.com/auth/calendar.readonly
#      https://www.googleapis.com/auth/calendar.events.readonly
# 4. Speak finds existing future Meet events immediately
# 5. Bot joins your next scheduled Meet automatically

# Or use Capture Live Meeting / Schedule Live Meeting in the
# Meeting Assistant UI to send the bot to one specific Meet URL.
2. Subscribe to media.analyzed for downstream automation






curl -X POST https://api.speakai.co/v1/webhook \
  -H "x-speakai-key: $SPEAK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "callbackUrl": "https://your-app.example.com/speak/meet-webhook",
    "events": ["media.analyzed"],
    "description": "Google Meet to CRM"
  }'
// Register the webhook once
await fetch("https://api.speakai.co/v1/webhook", {
  method: "POST",
  headers: {
    "x-speakai-key": process.env.SPEAK_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    callbackUrl: "https://your-app.example.com/speak/meet-webhook",
    events: ["media.analyzed"],
    description: "Google Meet to CRM",
  }),
});
import os, requests

requests.post(
    "https://api.speakai.co/v1/webhook",
    headers={"x-speakai-key": os.environ["SPEAK_API_KEY"]},
    json={
        "callbackUrl": "https://your-app.example.com/speak/meet-webhook",
        "events": ["media.analyzed"],
        "description": "Google Meet to CRM",
    },
    timeout=30,
)
3. React to media.analyzed – tag the meeting in your CRM




// Speak posts a thin notification: { eventType, state, mediaId }
// Verified shape (captured from a real test fire 2026-05-07).
import express from "express";
const app = express();
app.use(express.json());

app.post("/speak/meet-webhook", async (req, res) => {
  const { eventType, state, mediaId } = req.body;
  if (eventType !== "media.analyzed" || state !== "processed") return res.sendStatus(204);
  res.sendStatus(202); // ack fast

  // Fetch the full insight from Speak
  const insight = await fetch(
    `https://api.speakai.co/v1/media/insight/${mediaId}`,
    { headers: { "x-speakai-key": process.env.SPEAK_API_KEY } }
  ).then(r => r.json());

  const media = insight.data;
  const compound = media.sentiment?.[0]?.document?.Compound ?? 0;
  const sentiment = compound > 10 ? "Positive"
                  : compound < -10 ? "Negative" : "Neutral";

  // Push to your CRM (HubSpot example; same pattern works for Salesforce, Zoho)
  await fetch("https://api.hubapi.com/crm/v3/objects/meetings", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.HUBSPOT_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      properties: {
        hs_timestamp: media.createdAt,
        hs_meeting_title: media.name,
        hs_meeting_body: `Sentiment: ${sentiment}. Open in Speak: https://app.speakai.co/media/${mediaId}`,
      },
    }),
  });
});

app.listen(3000);
import os, requests
from fastapi import FastAPI, Request

app = FastAPI()

@app.post("/speak/meet-webhook")
async def hook(req: Request):
    body = await req.json()
    if body.get("eventType") != "media.analyzed" or body.get("state") != "processed":
        return {"ok": True}
    media_id = body["mediaId"]

    insight = requests.get(
        f"https://api.speakai.co/v1/media/insight/{media_id}",
        headers={"x-speakai-key": os.environ["SPEAK_API_KEY"]},
        timeout=30,
    ).json()["data"]

    compound = (insight.get("sentiment") or [{}])[0].get("document", {}).get("Compound", 0)
    sentiment = "Positive" if compound > 10 else "Negative" if compound < -10 else "Neutral"

    requests.post(
        "https://api.hubapi.com/crm/v3/objects/meetings",
        headers={
            "Authorization": f"Bearer {os.environ['HUBSPOT_TOKEN']}",
            "Content-Type": "application/json",
        },
        json={
            "properties": {
                "hs_timestamp": insight["createdAt"],
                "hs_meeting_title": insight["name"],
                "hs_meeting_body": f"Sentiment: {sentiment}. Open in Speak: https://app.speakai.co/media/{media_id}",
            },
        },
        timeout=15,
    )
    return {"ok": True}

Same pattern works for Salesforce Tasks, Zoho Calls, or any CRM. Full destination-specific code on /integrations/hubspot/, /integrations/salesforce/, and /integrations/zoho/.

For server-to-server CRM and scheduling tools · REST API

Schedule the bot for a single Meet URL via API

For programmatic flows where your CRM, scheduling tool, or backend creates a Meet URL and wants Speak to join that one meeting, post directly to /v1/meeting-assistant/events/schedule. No calendar OAuth required. Useful when you want bot coverage for meetings created outside the calendar Speak watches.

Schedule the Speak bot for a Meet URL






curl -X POST https://api.speakai.co/v1/meeting-assistant/events/schedule \
  -H "x-speakai-key: $SPEAK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Acme Corp - Discovery Call",
    "meetingURL": "https://meet.google.com/abc-defg-hij",
    "meetingDate": "2026-05-15T16:00:00.000Z",
    "meetingLanguage": "en-US",
    "folderId": "507f1f77bcf86cd799439011"
  }'

# Response includes a meetingAssistantEventId you store on the CRM record
# so you can pause / resume / remove the assistant later.
// Call this when your CRM creates a meeting in your scheduling tool.
async function scheduleSpeakBot({ title, meetURL, scheduledAt, folderId }) {
  const r = await fetch(
    "https://api.speakai.co/v1/meeting-assistant/events/schedule",
    {
      method: "POST",
      headers: {
        "x-speakai-key": process.env.SPEAK_API_KEY,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        title,
        meetingURL: meetURL,
        meetingDate: scheduledAt,
        meetingLanguage: "en-US",
        folderId,
      }),
    }
  );
  if (!r.ok) throw new Error(`Speak schedule failed: ${r.status}`);
  const { data } = await r.json();
  // Persist data.meetingAssistantEventId on the CRM activity record.
  return data.meetingAssistantEventId;
}
import os, requests

def schedule_speak_bot(title: str, meet_url: str, scheduled_at: str, folder_id: str | None = None):
    r = requests.post(
        "https://api.speakai.co/v1/meeting-assistant/events/schedule",
        headers={
            "x-speakai-key": os.environ["SPEAK_API_KEY"],
            "Content-Type": "application/json",
        },
        json={
            "title": title,
            "meetingURL": meet_url,
            "meetingDate": scheduled_at,
            "meetingLanguage": "en-US",
            "folderId": folder_id,
        },
        timeout=30,
    )
    r.raise_for_status()
    # Persist meetingAssistantEventId on the CRM activity record
    return r.json()["data"]["meetingAssistantEventId"]
Pause, resume, or remove the bot for a scheduled meeting
# Pause the bot (it will not join even if the meeting starts)
curl -X POST https://api.speakai.co/v1/meeting-assistant/events/pause \
  -H "x-speakai-key: $SPEAK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meetingAssistantEventId": "abc123"}'

# Resume a previously paused bot
curl -X POST https://api.speakai.co/v1/meeting-assistant/events/resume \
  -H "x-speakai-key: $SPEAK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meetingAssistantEventId": "abc123"}'

# Remove the bot from the meeting entirely
curl -X POST https://api.speakai.co/v1/meeting-assistant/events/remove \
  -H "x-speakai-key: $SPEAK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meetingAssistantEventId": "abc123"}'

Use this path when CRM stage transitions (Discovery -> Demo -> Negotiation) trigger different Speak folders, or when a customer cancels and you need to revoke the bot.

For teams using Meet’s native recording · Google Drive API

Process Meet recordings already saved to Drive

Google Meet’s built-in Record meeting feature saves to a Drive folder named Meet Recordings in the host’s My Drive. If your team already records meetings this way, you do not need to re-record with the Speak bot. Connect Drive in Speak and import recordings via the file picker, or watch the folder for new uploads.

1. Find Meet Recordings via the Drive API




# List recordings in the Meet Recordings folder (Drive API v3)
curl "https://www.googleapis.com/drive/v3/files?q=name+contains+'Meet+Recording'+and+mimeType='video/mp4'&orderBy=createdTime+desc&fields=files(id,name,createdTime,webViewLink)&pageSize=20" \
  -H "Authorization: Bearer $GOOGLE_OAUTH_TOKEN"

# Get a download URL for a specific recording
curl "https://www.googleapis.com/drive/v3/files/$FILE_ID?alt=media" \
  -H "Authorization: Bearer $GOOGLE_OAUTH_TOKEN" \
  -L -o recording.mp4
// Find recent Meet recordings, send each to Speak.
async function importRecentMeetRecordings(googleToken) {
  // Drive's "Meet Recordings" folder is auto-created when the host first records.
  // Filter by mimeType + name pattern.
  const list = await fetch(
    "https://www.googleapis.com/drive/v3/files?" + new URLSearchParams({
      q: "name contains 'Meet Recording' and mimeType='video/mp4'",
      orderBy: "createdTime desc",
      fields: "files(id,name,createdTime,webViewLink)",
      pageSize: "20",
    }),
    { headers: { Authorization: `Bearer ${googleToken}` } }
  ).then(r => r.json());

  for (const file of list.files) {
    // Drive v3 supports alt=media downloads; Speak fetches by URL.
    const downloadUrl = `https://www.googleapis.com/drive/v3/files/${file.id}?alt=media`;

    await fetch("https://api.speakai.co/v1/media/upload", {
      method: "POST",
      headers: {
        "x-speakai-key": process.env.SPEAK_API_KEY,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        name: file.name,
        url: downloadUrl,
        mediaType: "video",
        sourceLanguage: "en-US",
        tags: "google-meet,drive-import",
        // Drive download requires the Authorization header on Speak's fetch.
        // Use a short-lived signed URL via /files.get?fields=webContentLink
        // for production setups, or proxy through your own server.
      }),
    });
  }
}
2. Watch the Meet Recordings folder for new uploads (Drive Push)
# Drive supports change notifications via the changes.watch endpoint.
# Set up a one-time channel on the Meet Recordings folder.
curl -X POST "https://www.googleapis.com/drive/v3/files/$FOLDER_ID/watch" \
  -H "Authorization: Bearer $GOOGLE_OAUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "meet-recordings-channel-1",
    "type": "web_hook",
    "address": "https://your-app.example.com/drive/meet-recordings"
  }'

# When Drive POSTs a change notification, your handler:
#   1. Lists recent files in the folder via files.list
#   2. Forwards new mp4 files to /v1/media/upload (same as Tab 3 step 1)
#
# Channels expire after 7 days. Renew with another POST to /watch.

Drive download URLs require the OAuth token on the Speak fetch. For production use Google’s files.get?fields=webContentLink to mint short-lived signed URLs, or proxy through your own server before forwarding to Speak.

For analysts, RevOps, and team leads · Natural language

Search every Google Meet call from Claude or ChatGPT

Connect Speak’s official MCP server to Claude or ChatGPT and your team queries the entire Meet call library through conversation. No SQL, no dashboards, no exports. Already piping Meet recordings into Speak via tabs 1, 2, or 3? You can use this today.

1. Install the MCP server




# Claude Desktop / Claude Code (auto-detects your installation)
npx @speakai/mcp-server init

# Paste your Speak API key when prompted. Setup takes about 2 minutes.
# Claude.ai (web) and ChatGPT MCP connector
# Settings > Integrations > Add MCP Server
# Remote URL:    https://api.speakai.co/v1/mcp
# Auth header:   x-speakai-key: YOUR_SPEAK_API_KEY

# Verify the connection responds (optional sanity check):
curl -s https://api.speakai.co/v1/mcp \
  -H "x-speakai-key: $SPEAK_API_KEY" \
  -H "Accept: application/json"

2. Example prompts your team can use today:

  • “Show me every Google Meet call from last week where the prospect mentioned a competitor by name. Group by sales rep.”
  • “Summarize the 3 longest Meet calls with Acme Corp from the last 60 days. Flag any decisions and assigned action items.”
  • “Pull verbatim quotes from Meet calls tagged customer-research where users asked about pricing or onboarding.”
  • “Compare discovery completeness across our top 3 SDRs. Use this week’s Meet calls. Score each on a 0-10 rubric.”
  • “Find the Meet call from August 14 where the CTO joined and pull the action items into a Notion-ready writeup.”

Works with Claude.ai, Claude Desktop, Claude Code, and ChatGPT MCP connectors. View MCP server →

Why Speak AI + Google Meet

Google Meet handles the call. Google’s Gemini handles in-call note suggestions for paid Workspace tiers. Speak handles the deeper analysis layer that lives outside Google: cross-meeting search, custom Magic Prompts, CRM push, and the same workspace your other meeting tools (Zoom, Teams, Webex) flow into.

Multi-source ingest, not just Meet

Meet is one of dozens of inputs. The same Speak workspace ingests Zoom, Microsoft Teams, Webex, Twilio, Vimeo, Loom, podcast audio, embedded recorder submissions, and direct file uploads. One library, every conversation.

Custom Magic Prompts, not fixed templates

Gemini in Meet ships fixed summary templates and only on Workspace Business Standard and above. Speak’s Magic Prompt runs your prompts on every call: discovery checklist scoring, competitor mention extraction, MEDDIC-stage detection, whatever your team needs. Save prompts once, run them on every recording forever.

MCP-native for Claude and ChatGPT

The official @speakai/mcp-server exposes 83 tools to AI assistants. Your team queries the Meet call library in plain English from Claude Desktop or ChatGPT, without exporting transcripts to other tools.

Shareable embeds, not just internal dashboards

Every Speak transcript and analysis can be shared as a public or private embed. Send a Meet call summary to a customer’s stakeholder without granting them dashboard access or exporting a PDF.

Teams trust Speak AI for their most important calls

★★★★★
4.9 on G2

“Speak AI has been instrumental in transforming how we handle qualitative data. The transcription accuracy is impressive, and the NLP insights save us hours of manual analysis.”

Research Director | Consulting Firm

“We switched from Otter.ai and the depth of analysis is on another level. Sentiment scoring, keyword extraction, and theme detection all happen automatically.”

Product Manager | SaaS Company

“The ability to search across all our customer calls and pull specific moments is a game-changer for our support team.”

Head of CX | Enterprise Tech

How to use Speak AI with Google Meet for transcription and analysis

Google Meet is the default video meeting platform for any organization on Google Workspace. Sales teams run discovery and demo calls on Meet. Research teams run customer interviews on Meet. Product teams run remote design reviews on Meet. Every one of those calls is a potential source of customer truth, decisions, and follow-up actions, and every one of them passes through Meet’s recording and transcription layer (or your team’s notes). Speak AI is what turns those calls into structured, searchable, shareable data without forcing a tool change.

Where Speak fits in the Google Meet call lifecycle

Speak runs after the call ends, or in parallel during the call via the bot. Google Meet handles call control: rooms, video, audio, the in-meeting Gemini features for paid Workspace tiers. Speak handles transcription in 100+ languages, AI analysis with custom prompts, search across the full library, and downstream automation. The handoff happens via a calendar bot, the per-meeting /v1/meeting-assistant/events/schedule endpoint, or by importing recordings directly from Drive.

Speak vs Gemini in Google Meet

Gemini in Meet (the rebranded “Take notes for me” feature) covers in-call note suggestions and a fixed summary template. It is bundled with Workspace Business Standard, Business Plus, Enterprise plans, and the Gemini for Workspace add-on. It is well-suited if you only need a Workspace-internal summary delivered to your inbox after the call.

Speak is a different product. Speak ingests Meet recordings alongside Zoom, Teams, Webex, file uploads, podcasts, and embed recorder submissions, then runs custom analysis (your Magic Prompts, your tags, your team’s vocabulary), exposes everything via MCP for Claude and ChatGPT, and ships shareable embeds. Most teams using both let Gemini handle the in-call summary nudge for the Meet host and use Speak for the deeper post-call analysis layer plus cross-platform search.

Authentication and OAuth scopes

The calendar bot path requires read-only Google Calendar OAuth scopes (calendar.readonly and calendar.events.readonly). Speak does not request meet space management or recording management scopes. The Drive folder watch path requires drive.readonly scoped to the folders you select inside Speak’s Drive picker. Personal and Business Google accounts both work. Workspace admins can pre-approve Speak in the admin console for org-wide rollouts.

Real-time transcription vs post-call analysis

Speak is post-call. The bot records and transcribes the call, then AI analysis runs as soon as the transcript is ready (typically under 60 seconds for a 10-minute call). For during-call live transcription, Meet’s built-in captions and Gemini’s note-taking are the right tools. Use Speak for the structured analysis, search, and CRM push that happen after the call ends.

How do I transcribe Google Meet calls automatically?

Three production paths, ranked by lift:

  • Calendar bot. Connect a Google Calendar in Speak. Bot joins every Meet on the calendar automatically. Set up takes 2 minutes. Best for ongoing coverage of recurring calls.
  • Per-meeting API schedule. POST the Meet URL to /v1/meeting-assistant/events/schedule. The bot joins that one meeting. Best for CRM-driven flows where the Meet URL is created programmatically (booking tools, sales scheduling).
  • Drive folder watch. If your team already uses Meet’s Record meeting feature, connect Drive in Speak and watch the Meet Recordings folder. Every new mp4 gets transcribed and analyzed. Best for backfilling archived recordings.

The same patterns work for sales discovery calls, customer interviews, internal team meetings, and recorded webinars.

Use cases by role

Sales and RevOps teams use Speak AI with Google Meet to auto-transcribe every discovery and demo call. Magic Prompts score discovery completeness, surface objections, and extract competitor mentions. See Speak AI for sales teams for the full RevOps stack.

Customer research teams bring Meet interview calls into the same workspace as their Zoom and embed recorder sessions. Code themes across the entire library, ask Claude for verbatim quotes, build research deliverables in hours instead of weeks. See Speak AI for qualitative researchers.

Product and design teams capture remote design reviews and user feedback sessions on Meet. Speak transcribes them, the team writes a Magic Prompt that extracts decisions and open questions, and the structured output lands in Notion or Linear automatically.

Training and enablement teams turn Meet calls into a coaching loop. Speak surfaces missed discovery questions, scripted-line drift, and sentiment dips for QA review. See Speak AI for training and development.


Frequently asked questions

What is the easiest way to get the Speak bot into a Google Meet?

Add [email protected] as a guest on the Google Calendar event that contains the Meet link. The bot accepts the invite and joins the Meet automatically. No in-app configuration, no OAuth, no API call. The same email works for Zoom, Microsoft Teams, and Webex events too. For ongoing auto-coverage of every meeting on your calendar, connect your calendar to Speak under Meeting Assistant.

Does Speak’s bot work with all Google Workspace plans?

Yes. The Speak bot joins Meet calls regardless of the host’s Workspace plan, including free personal Google accounts. It joins as a guest participant. Workspace admins running tighter security policies can allowlist Speak in the admin console.

Do I need Meet’s “Record meeting” feature enabled?

No. Speak’s bot captures audio independently when it joins the call. You only need Meet’s recording feature if you want a Drive-saved video copy as well, or if you prefer to skip the bot and process recordings via the Drive import path (Tab 3 above).

How does Speak handle Meet transcripts that already exist in Drive?

Meet generates a transcript file alongside the recording when the host enables Meeting transcripts in Workspace Business Standard or above. Speak does not consume those transcript files directly. Speak generates its own transcript with sentiment, speaker labels, and Magic Prompt analysis. If you have existing Meet transcripts as text files, you can upload them to Speak as mediaType: text and run the AI analysis layer.

Can I run Speak with Gemini in Meet at the same time?

Yes. Both can run on the same call without conflict. Gemini handles in-call note suggestions for the Meet host. Speak’s bot captures the audio and runs the deeper post-call analysis, search, and CRM push. Most teams use both: Gemini for the host’s immediate summary, Speak for the team-wide knowledge layer.

What languages does Speak support for Meet calls?

Speak supports transcription in 100+ languages including English, Spanish, French, German, Portuguese, Italian, Dutch, Hebrew, Norwegian, Japanese, Arabic, Hindi, and dozens more. Set the source language with the meetingLanguage field when scheduling the bot, or let Speak auto-detect.

Can I try Speak AI for free with my Google Meet account?

Yes. The 7-day trial includes 30 minutes of transcription, full API access, and the MCP server. No credit card required. Connect your Google Calendar, let the bot join your next Meet call, and validate the full pipeline before committing.

Start using Speak AI with Google Meet today

83 analysis tools. 100+ languages. Calendar bot, per-meeting API, and Drive folder watch. MCP-native for Claude and ChatGPT. Same workspace as your Zoom, Teams, and Webex calls.

Try Speak AI free

Create your account, connect your Google Calendar, and the bot joins your next Meet automatically. Full access for 7 days. No credit card required.

View the API docs

Full reference for the meeting-assistant scheduling endpoint, webhook event types, and Magic Prompt API. Plus the Speak Zapier app and the official MCP server on NPM.