Integratie

Microsoft Teams AI note taker and meeting transcription

Speak AI joins your Teams calls, captures every word in 100+ languages, and turns the recording into a structured CRM entry. Add the bot by email or connect Microsoft 365 for auto-coverage. Push summaries into Teams channels with Adaptive Cards. Production-ready in under 10 minutes.

Gratis 7-dagen proefabonnement. No credit card required. SOC 2 + GDPR-compliant. HIPAA-eligible plans available.
BotE-mailuitnodiging
SOC 2+ GDPR
100+Talen
4.9G2 Score

Betrouwbaar by 300,000+ people and teams

Wat je kunt doen

Once Microsoft Teams calls flow into Speak AI, every meeting becomes searchable, analyzable, and shareable. Sales teams log every Teams call as a CRM activity. Support teams route by sentiment to oncall channels. Research teams turn customer interviews into structured Notion writeups.

Auto-join every Teams call

Twee paden. Toevoegen [email protected] as an attendee on the calendar event for the bot to join that one Teams meeting. Or connect Microsoft 365 to Speak once for ongoing auto-coverage of every event with a Teams URL. Same bot, same output, no per-meeting setup either way.

Speaker-labeled transcript in 100+ languages

Auto-detected language. Typical processing: under 2 minutes per hour of audio. Document and sentence-level VADER sentiment scoring. Speaker diarization across the full call. Output is editable, exportable to DOCX/SRT/PDF/JSON, and queryable through the Speak app.

Post AI summaries to Teams channels

Use a Teams Incoming Webhook to drop Adaptive Cards with the meeting summary, sentiment chip, and a link back to Speak directly into the relevant channel. Branch by tag, folder, or sentiment threshold so each team only sees relevant meetings.

One-click push to HubSpot, Salesforce, or Zoho

Verified webhook recipe: receive Speak’s media.analyzed event, fetch the insight, create a CRM activity. Same pattern across HubSpot Meetings, Salesforce Tasks, and Zoho Calls. Source-tagged so reports can split Teams vs Zoom vs Meet.

Instellen in 3 stappen

The fastest path takes 30 seconds: invite the bot by email. Auto-coverage takes 2 minutes: connect Microsoft 365 calendar. Channel posting takes 5 minutes: create a Teams Incoming Webhook.

Aanmelden voor Speak AI

Maak een gratis account aan op app.speakai.co. U krijgt een 7-daagse proefperiode met volledige toegang. Geen creditcard nodig. Zodra u erin bent, gaat u naar Settings > API en kopieer uw API-sleutel.

Kies uw integratiepad

Uitnodigen [email protected] naar een vergadering (geen setup)

Open the Outlook calendar event with the Teams meeting URL and add [email protected] as an attendee. The bot accepts the invite and joins the Teams call automatically. Zero in-app configuration. Same email works for Zoom, Webex, and Google Meet events.

Leg een live meeting vast of plan deze in-app

In Speak’s AI Vergaderassistent, klik Live Meeting vastleggen to send the bot to a Teams call that is already running, or Plan Live Meeting in to send it to one starting later. Paste the Teams meeting URL and the bot handles the rest.

Verbind Microsoft 365-kalender (automatische dekking)

For ongoing coverage of every Teams meeting on your calendar, connect Microsoft 365 in Speak under Meeting Assistant > Calendar. Approve OAuth scopes Calendars.Read en OnlineMeetings.Read.All. Speak finds existing future events and joins your next Teams meeting automatically.

Teams channel posting via Incoming Webhook

Add the Incoming Webhook connector to a Teams channel, copy the webhook URL, and subscribe Speak’s media.analyzed webhook (POST /v1/webhook) to your handler. Format the insight as an Adaptive Card and POST to the Teams webhook URL.

MCP voor Claude en ChatGPT

Already have Teams calls in Speak? Connect Claude Desktop with npx @speakai/mcp-server init, or add the remote MCP URL to Claude.ai or ChatGPT. Search the entire Teams meeting library through conversation.

Abonneer u op media.analyzed

Speak stuurt een ondertekende webhook wanneer transcriptie en AI-analyse gereed zijn (meestal binnen 60 seconden voor een oproep van 10 minuten). Registreer uw endpoint via POST /v1/webhook and act on transcripts as they land in your CRM, Teams channel, or BI tooling.

Echte workflows, echte resultaten

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







For sales, ops, and IT teams · Microsoft 365 Calendar OAuth or email invite

Auto-join every Microsoft Teams meeting

Twee paden, hetzelfde resultaat. Het eenvoudigste: toevoegen [email protected] as an attendee on the Outlook calendar event that hosts the Teams meeting. The bot accepts and joins. Automatische dekking: connect Microsoft 365 to Speak once and every Teams event on your calendar gets the bot without any per-event invite.

Optie A: Nodig de bot uit per e-mail (geen installatie)
# Manual: open the Outlook calendar event with the Teams meeting link.
# Click "Add attendees" and enter:
#     [email protected]
# Save the event. The bot accepts the invite and joins the Teams call automatically.

# Programmatic (Microsoft Graph) - add the bot as an attendee:
curl -X PATCH "https://graph.microsoft.com/v1.0/me/events/$EVENT_ID" 
  -H "Authorization: Bearer $GRAPH_TOKEN" 
  -H "Content-Type: application/json" 
  -d '{
    "attendees": [
      {
        "emailAddress": { "address": "[email protected]", "name": "Speak AI Notetaker" },
        "type": "required"
      }
    ]
  }'
Optie B: Verbind Microsoft 365 in Speak (automatische dekking)
# In Speak AI dashboard:
# 1. Go to Meeting Assistant -> Calendar
# 2. Click "Connect Microsoft 365"
# 3. Approve OAuth scopes:
#      Calendars.Read
#      OnlineMeetings.Read.All
# 4. Speak finds existing future Teams events immediately
# 5. Bot joins your next scheduled Teams meeting automatically

# Workspace admins can pre-approve via Entra ID admin consent for org-wide rollout.
Option C: Schedule the bot for a single Teams meeting via API






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 - Demo Call",
    "meetingURL": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_...",
    "meetingDate": "2026-05-15T16:00:00.000Z",
    "meetingLanguage": "en-US",
    "folderId": "507f1f77bcf86cd799439011"
  }'
// Call this when your CRM creates a Teams meeting (via Graph onlineMeetings).
async function scheduleSpeakBot({ title, teamsURL, 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: teamsURL,
        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 for pause / resume / remove later.
  return data.meetingAssistantEventId;
}
import os, requests

def schedule_speak_bot(title: str, teams_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": teams_url,
            "meetingDate": scheduled_at,
            "meetingLanguage": "en-US",
            "folderId": folder_id,
        },
        timeout=30,
    )
    r.raise_for_status()
    return r.json()["data"]["meetingAssistantEventId"]

Pause/resume/remove the bot via POST /v1/meeting-assistant/events/{pause|resume|remove} met {meetingAssistantEventId}. The bot supports Teams Meetings, Teams Webinars, and Teams Live Events.

For ops and team leads · Teams Incoming Webhook + Adaptive Card

Post AI summaries to a Teams channel automatically

Add an Incoming Webhook connector to a Teams channel. Subscribe Speak’s media.analyzed webhook to your handler. After every recording, fetch the insight from Speak, build an Adaptive Card with the summary and sentiment, and POST to the Teams webhook URL. Branch by folder, tag, or sentiment so each team sees relevant meetings.

1. Add the Incoming Webhook to a Teams channel
# In Microsoft Teams:
# 1. Open the channel that should receive Speak summaries
# 2. Click ... (More options) -> Connectors
# 3. Find "Incoming Webhook" -> Configure
# 4. Name it "Speak AI Notetaker", upload an icon (optional)
# 5. Copy the Webhook URL (https://yourtenant.webhook.office.com/webhookb2/...)
# 6. Store as TEAMS_WEBHOOK_URL env var on your handler server

# The same URL is reusable for every recording. One URL per channel.
2. Register Speak’s media.analyzed webhook
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/teams-webhook",
    "events": ["media.analyzed"],
    "description": "Forward Speak insights to Teams channel"
  }'
3. Forward Adaptive Cards to the Teams channel




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

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

  // 1. Fetch 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";

  // 2. Build an Adaptive Card (Microsoft's recommended format for Teams Incoming Webhooks)
  const card = {
    type: "message",
    attachments: [{
      contentType: "application/vnd.microsoft.card.adaptive",
      content: {
        $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
        type: "AdaptiveCard",
        version: "1.5",
        body: [
          { type: "TextBlock", size: "Large", weight: "Bolder", text: media.name },
          { type: "TextBlock", text: `Sentiment: ${sentiment} (Compound ${compound})`, wrap: true },
          { type: "TextBlock",
            text: `Duration: ${Math.round(media.duration?.inSecond / 60)} min`,
            isSubtle: true, spacing: "None" },
        ],
        actions: [{
          type: "Action.OpenUrl",
          title: "Open in Speak",
          url: `https://app.speakai.co/media/${mediaId}`,
        }],
      },
    }],
  };

  // 3. POST to the Teams Incoming Webhook
  await fetch(process.env.TEAMS_WEBHOOK_URL, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(card),
  });
});

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

app = FastAPI()

@app.post("/speak/teams-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"

    card = {
        "type": "message",
        "attachments": [{
            "contentType": "application/vnd.microsoft.card.adaptive",
            "content": {
                "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
                "type": "AdaptiveCard",
                "version": "1.5",
                "body": [
                    {"type": "TextBlock", "size": "Large", "weight": "Bolder", "text": insight["name"]},
                    {"type": "TextBlock", "text": f"Sentiment: {sentiment} (Compound {compound})", "wrap": True},
                    {"type": "TextBlock",
                     "text": f"Duration: {round(insight.get('duration', {}).get('inSecond', 0) / 60)} min",
                     "isSubtle": True, "spacing": "None"},
                ],
                "actions": [{
                    "type": "Action.OpenUrl",
                    "title": "Open in Speak",
                    "url": f"https://app.speakai.co/media/{media_id}",
                }],
            },
        }],
    }

    requests.post(
        os.environ["TEAMS_WEBHOOK_URL"],
        json=card,
        timeout=15,
    )
    return {"ok": True}

Adaptive Cards 1.5 is Microsoft’s current schema for Teams Incoming Webhooks. The legacy MessageCard format still works but is deprecated. Branch by tag, folder, or sentiment threshold to route different recording types into different Teams channels.

For sales ops and RevOps · Verified webhook to CRM activity

Log every Teams meeting in HubSpot, Salesforce, or Zoho

Same verified middleware pattern as the rest of the integrations cluster: receive Speak’s flat {eventType, state, mediaId} notification, fetch full insight via GET /v1/media/insight/:mediaId, then create the CRM activity. Source-tag with teams so reports can split Teams vs Zoom vs Meet.

Receive Speak webhook + create CRM activity
// Speak webhook body shape (verified 2026-05-07): { eventType, state, mediaId }
import express from "express";
const app = express();
app.use(express.json());

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

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

  // 2. Push to HubSpot Meetings (or Salesforce Tasks, or Zoho Calls)
  const start = new Date(data.createdAt);
  const end = new Date(start.getTime() + (data.duration?.inSecond || 0) * 1000);

  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: start.toISOString(),
        hs_meeting_title: data.name,
        hs_meeting_body: `Teams call summary. Open in Speak: https://app.speakai.co/media/${mediaId}`,
        hs_meeting_external_url: `https://app.speakai.co/media/${mediaId}`,
        hs_meeting_start_time: start.toISOString(),
        hs_meeting_end_time: end.toISOString(),
        hs_meeting_outcome: "COMPLETED",
      },
    }),
  });
});

app.listen(3000);

Full destination-specific code (HubSpot Meeting + association IDs, Salesforce Task + SOQL contact resolution, Zoho Calls + Notes) on /integrations/hubspot/, /integrations/salesforce/en /integrations/zoho/. The Speak side is identical across all three CRM destinations.

Voor analisten en teamleiders · Natuurlijke taal

Search every Teams meeting from Claude or ChatGPT

Connect Speak’s MCP server to Claude or ChatGPT and your team queries the entire Teams meeting library through conversation. No SQL, no dashboards, no exports.

1. Installeer de MCP-server




# Claude Desktop / Claude Code (detecteert uw installatie automatisch)
npx @speakai/mcp-server init

# Plak uw Speak API-sleutel wanneer hierom wordt gevraagd. Setup duurt ongeveer 2 minuten.
# Claude.ai (web) en 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:
curl -s https://api.speakai.co/v1/mcp 
  -H "x-speakai-key: $SPEAK_API_KEY" 
  -H "Accept: application/json"

2. Voorbeeldprompts die uw team vandaag kan gebruiken:

  • “Show every Teams meeting last week with negative customer sentiment in the last 5 minutes.”
  • “Summarize the 3 longest Teams calls with Acme Corp from this quarter.”
  • “Pull verbatim quotes from Teams meetings tagged Ontdekking waar klanten vragen stelden over onboarding.”
  • “Compare discovery completeness across our top 3 SDRs. Use this week’s Teams calls. Score each on a 0-10 rubric.”
  • “Find every Teams meeting where the rep missed the discovery question. Pull the timestamps.”

Werkt met Claude.ai, Claude Desktop, Claude Code en ChatGPT MCP-connectors. View MCP server →

Why Speak AI + Microsoft Teams

Microsoft Teams handles the call. Microsoft Copilot for Teams covers in-call note suggestions on paid Workspace tiers. Speak handles the deeper analysis layer that lives outside Microsoft: cross-meeting search, custom Magic Prompts, multi-source ingest, CRM push, and shareable embeds.

Multi-source ingest, not just Teams

Teams is one of dozens of inputs. The same Speak workspace ingests Zoom, Google Meet, Webex, Twilio, Loom, OneDrive, Dropbox, podcast audio, and direct file uploads. One library, every conversation across every meeting platform.

Aangepaste Magic Prompts, geen vaste sjablonen

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

SOC 2 + GDPR + HIPAA-eligible

Speak ships with SOC 2 Type 2, GDPR compliance, and HIPAA-eligible plans for healthcare customers. Your Teams meeting data is encrypted in transit and at rest, and Speak does not train on your conversations. Workspace admins can approve Speak in Entra ID admin consent for org-wide rollout.

MCP-native voor Claude en ChatGPT

De officiële @speakai/mcp-server exposes 83 tools to AI assistants. Your team queries the Teams meeting library in plain English from Claude Desktop or ChatGPT, without exporting transcripts to other tools.

Teams vertrouwen op Speak AI voor hun meest belangrijke gesprekken

★★★★★
4.9 op G2

“Speak AI is van cruciaal belang geweest voor het transformeren van hoe wij omgaan met kwalitatieve gegevens. De transcriptienauwkeurigheid is indrukwekkend en de NLP-inzichten besparen ons uren handmatige analyse.”

Research Director | Consulting Firm

“We zijn overgestapt van Otter.ai en de diepte van analyse is op een ander niveau. Sentimentscoring, sleutelwoordextractie en themadetectie gebeuren allemaal automatisch.”

Productmanager | SaaS Company

“Het vermogen om alle onze klantgesprekken te doorzoeken en specifieke momenten op te halen is een gamechanger voor ons supportteam.”

Head of CX | Enterprise Tech

How to use Speak AI with Microsoft Teams for transcription and meeting intelligence

Microsoft Teams is the default video meeting platform for any organization on Microsoft 365. Sales teams run discovery and demo calls on Teams. Support teams run customer review calls on Teams. Internal teams run weekly all-hands and project syncs on Teams. Every one of those calls is a potential source of customer truth, decisions, and follow-up actions. Speak AI is what turns those calls into structured, searchable, shareable data without forcing a tool change or a manual export.

Where Speak fits in the Teams call lifecycle

Speak runs after the call ends, or in parallel during the call via the bot. Microsoft Teams handles call control: rooms, video, audio, the in-meeting Copilot features for paid Microsoft 365 tiers. Speak handles transcription in 100+ languages, AI analysis with custom prompts, search across the full library, and downstream automation. The handoff happens via the calendar bot (email invite or Microsoft 365 OAuth), the per-meeting /v1/meeting-assistant/events/schedule endpoint, or by uploading existing Teams recordings via URL.

Speak vs Microsoft Copilot in Teams

Microsoft Copilot in Teams covers in-call note suggestions, draft replies, and meeting recaps. It is bundled with Microsoft 365 Business Standard, Business Premium, Enterprise, and the Copilot for Microsoft 365 add-on. It is well-suited if you only need a Microsoft-internal recap delivered to the meeting host’s inbox.

Speak is a different product. Speak ingests Teams alongside Zoom, Google Meet, 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 Copilot handle the in-call host summary and use Speak for the deeper post-call analysis layer plus cross-platform search.

Authentication and Microsoft 365 scopes

Het kalenderbot-pad vereist alleen-lezen Microsoft Graph Calendar-scopes (Calendars.Read, OnlineMeetings.Read.All). Speak does not request meeting management or recording management scopes. Microsoft 365 admins can pre-approve Speak in the Entra ID admin console for org-wide rollouts. The Teams Incoming Webhook posting path does not require any OAuth: the channel-scoped webhook URL is the only credential, and Speak’s handler holds it as an environment variable.

How do I transcribe Microsoft Teams meetings automatically?

Drie productietrajecten. E-mailuitnodiging: toevoegen [email protected] as an attendee on the calendar event; bot joins the Teams call. OAuth automatische dekking: connect Microsoft 365 once; bot joins every Teams meeting on your calendar going forward. API per-meeting planning: POST a Teams meeting URL to Speak’s /v1/meeting-assistant/events/schedule from your CRM or scheduling tool. All three deliver the same output: full transcript, AI summary, sentiment, action items, plus structured CRM push and Teams channel posting via webhook.

Can I post Speak summaries to a Teams channel?

Yes. Add an Incoming Webhook connector to the channel, copy the webhook URL, and POST Adaptive Cards from your handler. Tab 2 above shows the full Node and Python recipes. Adaptive Cards 1.5 is Microsoft’s current recommended schema; legacy MessageCard format still works but is deprecated. Branch by tag, folder, or sentiment threshold so each team only sees relevant meetings.

Is there a ChatGPT integration for Microsoft Teams recordings?

Speak goes further than a generic ChatGPT integration. Rather than sending raw recordings to a general-purpose model, Speak runs dedicated transcription models trained on meeting audio, then applies configurable Magic Prompts for summaries, action items, and custom extraction. Your data stays in Speak’s infrastructure (SOC 2, GDPR, HIPAA-eligible). Pair with Speak’s MCP server to query the entire Teams library from Claude or ChatGPT.

Gebruik cases per rol

Sales en RevOps teams use Speak with Teams to auto-log every Teams demo and discovery call into HubSpot, Salesforce, or Zoho. Magic Prompts score discovery completeness, surface objections, and extract competitor mentions. Sentiment-aware filters route negative-sentiment calls to manager-attention channels. See Speak AI voor verkoopteams.

Teams voor klantenondersteuning en CX capture every inbound Teams support call and route by sentiment. Cancellation language fires a separate Slack or Teams alert. Multilingual queues work without per-language setup since Speak supports 100+ languages with auto-detection.

Klantenonderzoeksteams bring Teams interview calls into the same workspace as their Zoom and embed recorder sessions. Code themes across the entire library, ask Claude for verbatim quotes via MCP, build research deliverables in hours instead of weeks. See Speak AI voor kwalitatieve onderzoekers.

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


Veelgestelde vragen

What is the easiest way to get the Speak bot into a Teams meeting?

Toevoegen [email protected] as an attendee on the Outlook calendar event hosting the Teams meeting. The bot accepts the invite and joins the Teams call automatically. No in-app configuration, no OAuth, no API call. Same email works for Zoom, Webex, and Google Meet events too.

How do I use an AI note taker for Microsoft Teams?

Three options. Easy: invite [email protected] on the calendar event. Auto-coverage: connect Microsoft 365 to Speak under Meeting Assistant. Programmatic: POST the Teams meeting URL to Speak’s /v1/meeting-assistant/events/schedule endpoint. All three produce the same output: speaker-labeled transcript, AI summary, sentiment, and any custom Magic Prompts you have configured.

Can I transcribe a Microsoft Teams meeting automatically?

Yes. Once the bot is invited (by email, OAuth, or API), every Teams meeting is transcribed automatically without any manual steps. Speak also processes existing Teams recordings: upload the cloud recording URL or video file directly and get a speaker-labeled transcript in 100+ languages, typically in under 2 minutes per hour of audio.

Is there a ChatGPT integration for Microsoft Teams recordings?

Speak AI goes further than a ChatGPT integration. Rather than sending recordings to a general-purpose model, Speak runs dedicated transcription models trained on meeting audio, then applies configurable Magic Prompts for summaries, action items, and custom extraction. Your data stays in Speak’s infrastructure (SOC 2, GDPR-compliant, HIPAA-eligible plans available).

Can Speak AI post meeting summaries to a Teams channel?

Yes. Add an Incoming Webhook connector to the channel, copy the webhook URL, and POST Adaptive Cards from your handler after each media.analyzed event. Tab 2 above shows the full recipe in Node and Python. Adaptive Cards 1.5 is Microsoft’s current schema; legacy MessageCard still works.

What is the best AI tool for Microsoft Teams?

Speak AI is rated 4.9 on G2 and handles the full Teams meeting lifecycle: calendar sync, bot join, transcription in 100+ languages, AI analysis, channel posting, and CRM push. Unlike Otter, Fireflies, or Fathom, Speak also supports bulk processing of archived recordings, multi-source ingest across Zoom and Meet and Webex, and exposes everything through MCP for Claude and ChatGPT.

Start using Speak AI with Microsoft Teams today

83 analysis tools. 100+ languages. Calendar bot, Teams Incoming Webhook with Adaptive Cards, MCP-native for Claude and ChatGPT. Same workspace as your Zoom, Meet, Webex, and Twilio calls.

Probeer Speak AI gratis

Create your account, invite the bot to your next Teams meeting (or connect Microsoft 365), and the transcript lands in your Speak workspace automatically. Full access for 7 days. No credit card required.

Vraag een demo aan

For sales or IT teams evaluating Speak across an entire Microsoft 365 org, book a demo with the Speak team. We will walk through the calendar bot, Adaptive Card channel posting, Entra ID admin consent, and CRM push live.

Analyze Microsoft Teams recordings with ChatGPT, Claude, Gemini, or any MCP client

Microsoft Teams records meetings into Stream or local files. Pipe them into Speak AI for transcription, then ask ChatGPT (or Claude / Gemini) anything about them via MCP. Pick your AI:







ChatGPT workflow

1. Vereiste: Speak AI account (gratis 7-daagse proefperiode) plus ChatGPT Plus of Team.

2. Verbinden: In ChatGPT opent u Instellingen, Beta, Connectors en vervolgens Add MCP server. Plak:

https://api.speakai.co/v1/mcp

3. Uitvoeren: Vraag ChatGPT:

Draft action items with owners and due dates from the leadership sync we recorded in Teams this morning.

4. Verwachte uitvoer:

Action items from Leadership Sync (2026-05-17, Teams recording):

* Sarah: finalize Q3 OKRs by EOW (2026-05-23)
* David: get headcount approval from finance (2026-05-20)
* Priya: hire 1 senior designer (2026-06-15)
* Marcus: customer advisory board scoping (2026-05-30)
* Whole team: review draft OKRs in async (2026-05-21)

5. Probeer het nu: Gratis starten, daarna vanaf €15/maand

Claude workflow

1. Vereiste: Speak AI-account (gratis 7-daagse proefperiode) plus Claude.

2. Verbinden: Open Claude, ga naar Settings, Connectors en klik op Add custom MCP server. Plak:

https://api.speakai.co/v1/mcp

3. Uitvoeren: Vraag Claude:

For each engineering all-hands recorded in Teams this quarter, what was the top tech debt theme raised?

4. Verwachte uitvoer:

Tech debt themes by quarter all-hands:

* 2026-04 all-hands: monorepo build times (mentioned 11x)
* 2026-05 all-hands: flaky E2E test suite (mentioned 8x)
* (most recent) 2026-05-17: deploy pipeline for staging (mentioned 6x)

5. Probeer het nu: Gratis starten, daarna vanaf €15/maand

Gemini workflow

1. Vereiste: Speak AI account (gratis 7-daagse proefperiode) plus Google Gemini Advanced.

2. Verbinden: In Gemini, open Extensions, Manage, dan Add MCP. Plak:

https://api.speakai.co/v1/mcp

3. Uitvoeren: Vraag Gemini:

Across all 1:1s recorded in Teams this month, identify any team member who mentioned burnout, workload concerns, or wanting to leave.

4. Verwachte uitvoer:

Sentiment flags from 1:1s this month:

* David: mentioned "exhausted" twice, workload above sustainable in 2 sessions
* Priya: no flags
* Marcus: mentioned "considering my options" once (one-off, low confidence)

Recommend: schedule check-in with David, no action on Marcus yet.

5. Probeer het nu: Gratis starten, daarna vanaf €15/maand

Other AI Tools workflow

1. Vereiste: Speak AI account (free 7-day trial) plus any MCP-compatible AI client.

2. Verbinden: Add the Speak AI MCP server to your client config:

{
  "mcpServers": {
    "speakai": {
      "url": "https://api.speakai.co/v1/mcp"
    }
  }
}

3. Uitvoeren: Vraag aan andere AI-tools:

"List every Teams recording with mediaType='meeting' in folder '1on1s' last 30 days, return transcript + duration."

4. Verwachte uitvoer:

Tools used: list_media, get_transcript, list_folders. 83 tools available. See /mcp/.

5. Probeer het nu: Gratis starten, daarna vanaf €15/maand

Wil je hulp bij het instellen hiervan voor je team? Boek een gratis rondleiding.

Gerelateerd: Claude, ChatGPT, Gemini, MCP server, REST API, ChatGPT voor audiobestanden.