Integration

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.

Frei 7-Tage-Testversion. No credit card required. SOC 2 + GDPR-compliant. HIPAA-eligible plans available.
BotE-Mail-Einladung
SOC 2+ GDPR
100+Sprachen
4.9G2 Score

Vertrauenswürdig by 300,000+ people and teams

Was Sie tun können

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

Zwei Wege. Hinzufügen [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.

In 3 Schritten einrichten

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.

Anmeldung für Speak AI

Erstellen Sie ein kostenloses Konto bei app.speakai.co. Sie erhalten eine 7-Tage-Testversion mit vollständigem Zugriff. Keine Kreditkarte erforderlich. Sobald Sie registriert sind, gehen Sie zu Einstellungen > API und kopieren Sie Ihren API-Schlüssel.

Wählen Sie Ihren Integrationspfad

Einladen [email protected] zu einem Meeting (keine Einrichtung erforderlich)

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.

Erfassen oder planen Sie ein Live-Meeting in der App

In Speak’s AI Meeting Assistant, klicken Sie Live-Meeting erfassen to send the bot to a Teams call that is already running, or Live-Meeting planen to send it to one starting later. Paste the Teams meeting URL and the bot handles the rest.

Verbinden Sie Microsoft 365 Kalender (automatische Abdeckung)

For ongoing coverage of every Teams meeting on your calendar, connect Microsoft 365 in Speak under Meeting Assistant > Kalender. Approve OAuth scopes Calendars.Read und 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 für Claude und 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.

Abonnieren Sie media.analyzed

Speak sendet einen signierten Webhook, wenn die Transkription und AI-Analyse abgeschlossen sind (normalerweise innerhalb von 60 Sekunden für einen 10-Minuten-Anruf). Registrieren Sie Ihren Endpunkt über POST /v1/webhook and act on transcripts as they land in your CRM, Teams channel, or BI tooling.

Echte Workflows, echte Ergebnisse

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

Zwei Wege, gleiches Ergebnis. Am einfachsten: hinzufügen [email protected] as an attendee on the Outlook calendar event that hosts the Teams meeting. The bot accepts and joins. Automatische Abdeckung: connect Microsoft 365 to Speak once and every Teams event on your calendar gets the bot without any per-event invite.

Option A: Laden Sie den Bot per E-Mail ein (keine Einrichtung erforderlich)
# 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"
      }
    ]
  }'
Option B: Verbinden Sie Microsoft 365 in Speak (automatische Abdeckung)
# 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} mit {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/und /integrations/zoho/. The Speak side is identical across all three CRM destinations.

Für Analysten und Teamleiter · Natürliche Sprache

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. Installieren Sie den MCP-Server




# Claude Desktop / Claude Code (erkennt Ihre Installation automatisch)
npx @speakai/mcp-server init

# Fügen Sie Ihren Speak API-Schlüssel ein, wenn Sie dazu aufgefordert werden. Die Einrichtung dauert etwa 2 Minuten.
# Claude.ai (Web) und ChatGPT MCP-Konnector
# Einstellungen > Integrationen > MCP Server hinzufügen
# Remote-URL:    https://api.speakai.co/v1/mcp
# Auth-Header:   x-speakai-key: IHREN_SPEAK_API_KEY

# Überprüfen Sie, ob die Verbindung antwortet:
curl -s https://api.speakai.co/v1/mcp 
  -H "x-speakai-key: $SPEAK_API_KEY" 
  -H "Accept: application/json"

2. Beispiel-Prompts, die Ihr Team heute verwenden kann:

  • “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 Entdeckung wo Kunden Fragen zum Onboarding stellten.”
  • “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.”

Funktioniert mit Claude.ai, Claude Desktop, Claude Code und ChatGPT MCP-Konnektoren. MCP Server ansehen →

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.

Benutzerdefinierte Magic Prompts, keine festen Vorlagen

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 für Claude und ChatGPT

Die offizielle @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 vertrauen Speak AI für ihre wichtigsten Anrufe

★★★★★
4.9 auf G2

“Speak AI war entscheidend bei der Umgestaltung unseres Umgangs mit qualitativen Daten. Die Transkriptionsgenauigkeit ist beeindruckend, und die NLP-Erkenntnisse sparen uns Stunden manueller Analyse.”

Forschungsdirektor | Beratungsunternehmen

“Wir sind von Otter.ai umgestiegen und die Analysetiefe ist auf einem anderen Level. Sentiment-Scoring, Keyword-Extraktion und Theme-Erkennung erfolgen automatisch.”

Produktmanager | SaaS-Unternehmen

“Die Möglichkeit, alle unsere Kundenanrufe zu durchsuchen und spezifische Momente zu extrahieren, ist ein Game-Changer für unser Support-Team.”

Head of CX | Enterprise-Technologie

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

Der Calendar-Bot-Pfad erfordert schreibgeschützte 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?

Drei Produktionspfade. E-Mail-Einladung: hinzufügen [email protected] as an attendee on the calendar event; bot joins the Teams call. OAuth Auto-Abdeckung: connect Microsoft 365 once; bot joins every Teams meeting on your calendar going forward. API pro Meeting-Zeitplan: 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.

Anwendungsfälle nach Rolle

Sales- und 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 für Vertriebsteams.

Kundenservice- und CX-Teams 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.

Kundenforschungsteams 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 für qualitative Forscher.

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.


Häufig gestellte Fragen

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

Hinzufügen [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.

Speak AI kostenlos testen

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.

Demo buchen

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. Voraussetzung: Speak AI Konto (kostenlose 7-Tage-Testversion) plus ChatGPT Plus oder Team.

2. Verbinden: Öffnen Sie in ChatGPT Settings, Beta, Connectors und dann Add MCP server. Fügen Sie ein:

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

3. Ausführen: ChatGPT befragen:

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

4. Erwartete Ausgabe:

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. Jetzt ausprobieren: Kostenlos starten, dann ab $15/Monat

Claude-Workflow

1. Voraussetzung: Speak AI-Konto (kostenlose 7-Tage-Testversion) plus Claude.

2. Verbinden: Öffnen Sie Claude, gehen Sie zu Settings, Connectors und dann zu Add custom MCP server. Fügen Sie ein:

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

3. Ausführen: Claude befragen:

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

4. Erwartete Ausgabe:

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. Jetzt ausprobieren: Kostenlos starten, dann ab $15/Monat

Gemini-Workflow

1. Voraussetzung: Speak AI Konto (kostenlose 7-Tage-Testversion) plus Google Gemini Advanced.

2. Verbinden: Öffnen Sie in Gemini Extensions, Manage und dann Add MCP. Fügen Sie ein:

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

3. Ausführen: Gemini befragen:

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

4. Erwartete Ausgabe:

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. Jetzt ausprobieren: Kostenlos starten, dann ab $15/Monat

Workflow mit anderen AI Tools

1. Voraussetzung: Speak AI-Konto (kostenlose 7-Tage-Testversion) plus beliebiger MCP-kompatibler KI-Client.

2. Verbinden: Fügen Sie den Speak AI MCP-Server zu Ihrer Client-Konfiguration hinzu:

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

3. Ausführen: Andere KI-Tools befragen:

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

4. Erwartete Ausgabe:

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

5. Jetzt ausprobieren: Kostenlos starten, dann ab $15/Monat

Möchten Sie Hilfe, um dies für Ihr Team einzurichten? Buchen Sie einen kostenlosen Durchgang.

Verwandt: Claude, ChatGPT, Gemini, MCP Server, REST API, ChatGPT für Audio­dateien.