集成

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.

自由的 7 天试用. No credit card required. SOC 2 + GDPR-compliant. HIPAA-eligible plans available.
机器人电子邮件邀请
SOC 2+ GDPR
100+语言
4.9G2 Score

值得信赖 超过 25 万名个人和团队

你可以做什么

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

两条路径。添加 [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.

3 步设置

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.

注册 Speak AI

在此创建免费账户 app.speakai.co。您获得 7 天的试用期,享受完整访问权限。无需信用卡。进入后,请转到 设置 > API 并复制您的 API 密钥。

选择您的集成路径

邀请 [email protected] 加入会议(无需设置)

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.

在应用中捕获或安排现场会议

在 Speak’s 中 人工智能会议助理,点击 捕获实时会议 to send the bot to a Teams call that is already running, or 安排实时会议 to send it to one starting later. Paste the Teams meeting URL and the bot handles the rest.

连接 Microsoft 365 日历(自动覆盖)

For ongoing coverage of every Teams meeting on your calendar, connect Microsoft 365 in Speak under 会议助手 > 日历. Approve OAuth scopes Calendars.ReadOnlineMeetings.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 for Claude and 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.

订阅 media.analyzed

Speak 在转录和 AI 分析完成时触发签名的 webhook(通常在 10 分钟通话内 60 秒内)。通过以下方式注册您的端点 POST /v1/webhook and act on transcripts as they land in your CRM, Teams channel, or BI tooling.

真实工作流,真实成果

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

两条路径,相同结果。 最简单的方法: 添加 [email protected] as an attendee on the Outlook calendar event that hosts the Teams meeting. The bot accepts and joins. 自动覆盖: connect Microsoft 365 to Speak once and every Teams event on your calendar gets the bot without any per-event invite.

选项 A:通过电子邮件邀请机器人(无需设置)
# 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"
      }
    ]
  }'
选项 B:在 Speak 中连接 Microsoft 365(自动覆盖)
# 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}{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//integrations/zoho/. The Speak side is identical across all three CRM destinations.

适合分析师和团队负责人 · 自然语言

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. 安装 MCP 服务器




# Claude Desktop / Claude Code(自动检测您的安装)
npx @speakai/mcp-server init

# 在提示时粘贴您的 Speak API 密钥。设置大约需要 2 分钟。
# 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:
curl -s https://api.speakai.co/v1/mcp 
  -H "x-speakai-key: $SPEAK_API_KEY" 
  -H "Accept: application/json"

2. 您的团队今天可以使用的示例提示:

  • “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 发现 客户询问入职的地方。”
  • “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.”

与 Claude.ai、Claude Desktop、Claude Code 和 ChatGPT MCP 连接器配合使用。 查看 MCP 服务器 →

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.

自定义 Magic Prompts,而非固定模板

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 原生支持 Claude 和 ChatGPT

官方 @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.

团队信任 Speak AI 处理他们最重要的通话

★★★★★
4.9 G2

“Speak AI 在改变我们处理定性数据的方式方面发挥了重要作用。转录准确度令人印象深刻,NLP 见解为我们节省了数小时的手动分析。”

研究总监 | 咨询公司

“我们从 Otter.ai 切换过来,分析深度完全不同。情感评分、关键词提取和主题检测全部自动进行。”

产品经理 | SaaS 公司

“能够在所有客户通话中搜索并提取特定时刻,这对我们的支持团队来说改变了游戏规则。”

客户体验负责人 | 企业技术

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

日历机器人路径需要只读 Microsoft Graph Calendar 范围(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?

三条生产路径。 电子邮件邀请:添加 [email protected] as an attendee on the calendar event; bot joins the Teams call. OAuth 自动覆盖: connect Microsoft 365 once; bot joins every Teams meeting on your calendar going forward. API 按会议日程: 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.

按角色划分的用例

销售和 RevOps 团队 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 销售团队版.

客户支持和 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.

客户研究团队 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 用于定性研究.

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.


常见问题解答

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

添加 [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

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.

预约演示

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. 前置条件: Speak AI 账户(免费 7 天试用)加上 ChatGPT Plus 或 Team。

2. 连接: 在 ChatGPT 中,打开设置、测试版、连接器,然后添加 MCP 服务器。粘贴:

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

3. 运行: 询问 ChatGPT:

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

4. 预期输出:

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. 立即尝试: 免费开始,之后每月仅需 $15

Claude workflow

1. 前置条件: Speak AI 账户(免费 7 天试用)加 Claude。

2. 连接: 打开 Claude,转到设置、连接器,然后添加自定义 MCP 服务器。粘贴:

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

3. 运行: 询问 Claude:

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

4. 预期输出:

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. 立即尝试: 免费开始,之后每月仅需 $15

Gemini workflow

1. 前置条件: Speak AI 账户(免费 7 天试用)加上 Google Gemini Advanced

2. 连接: 在 Gemini 中,打开扩展程序、管理,然后添加 MCP。粘贴:

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

3. 运行: 询问 Gemini:

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

4. 预期输出:

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. 立即尝试: 免费开始,之后每月仅需 $15

Other AI Tools workflow

1. 前置条件: Speak AI account (free 7-day trial) plus any MCP-compatible AI client.

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

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

3. 运行: 询问其他 AI 工具:

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

4. 预期输出:

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

5. 立即尝试: 免费开始,之后每月仅需 $15

想要帮助为你的团队设置这个吗? Book a free walkthrough.

相关内容: Claude, ChatGPT, Gemini, MCP server, REST API, 用于音频文件的 ChatGPT.