Microsoft Teams Connector
Coppermind's Teams connector pulls meeting transcripts and channel conversations into your client minds automatically. Meeting transcripts route to the right client by matching attendees. Channel messages route by explicit mapping - you pick which channels feed which clients, just like the Slack connector.
Quick Start#
Connect Teams from your Coppermind dashboard or from Claude:
From the dashboard (recommended):
- Go to hq.coppermind.app and open the Connectors tab
- Find Teams Meeting Transcripts or Teams Channel Messages and click + Connect
- Sign in with your Microsoft account and approve the requested permissions
- Done - Coppermind starts discovering content within 15 minutes
From Claude:
For meeting transcripts:
connectors action=connect source_type=o365_teams_transcript
For channel messages (requires an active client mind):
connectors action=connect source_type=o365_teams_channel
Open the returned authorization URL in your browser, approve Coppermind's access, and return to Claude.
Requirements#
- A Microsoft 365 plan with Teams. The connector uses Microsoft Graph APIs that require an active M365 license.
- Admin consent may be required. The transcript and channel message permissions (
OnlineMeetingTranscript.Read.All,ChannelMessage.Read.All) often require your IT administrator to approve them for your organization. If you see a "needs admin approval" screen during authorization, contact your IT team. - Meeting transcription must be enabled. Your Teams admin must have turned on meeting transcription in the Teams admin center (Meeting policies > Recording & transcription).
Two Connector Types#
Meeting Transcripts (o365_teams_transcript)#
- Routing: Global - attendees are matched against your client minds, just like Outlook email
- What's ingested: The full meeting transcript text, with speaker labels preserved
- Dedup: Same meeting/transcript pair is never ingested twice
- Finalization delay: Teams transcripts can take minutes to hours to finalize after a meeting ends. Coppermind automatically retries and catches them on the next poll.
Channel Messages (o365_teams_channel)#
- Routing: Per-mind - you map specific Teams channels to client minds
- What's ingested: Message text from mapped channels, with sender names
- Only mapped channels: Unmapped channels are completely ignored. No data is read from channels you haven't explicitly connected.
Channel Mapping#
Channel mapping for Teams works the same way as Slack channel mapping:
- Connect the Teams channel connector
- Map individual channels to client minds using Claude:
connectors action=connect source_type=o365_teams_channel
The connector stores the team_id and channel_id for each mapping. Only mapped channels produce ingested content.
What Gets Ingested#
Transcripts:
- Full meeting transcript text (VTT format, cleaned to plain text)
- Speaker labels preserved (e.g., "Jane Smith: I think we should...")
- Timestamps stripped - you get the conversation, not the timing
- Meeting subject included as the title
Channel messages:
- Message text (HTML stripped to plain text)
- Sender display name
- Message subject (if present)
- Only messages since the last poll - no historical backfill on first connect
How Routing Works#
Transcripts use attendee attribution (same as Outlook email):
- Coppermind looks at the meeting participants' email addresses
- Each attendee email is matched against the contact lists in your client minds
- If a match is found, the transcript routes to that client's mind
- If multiple clients' contacts attended, the transcript is copied to each
- If no match is found, it goes to your unattributed inbox for manual routing
Channels use explicit mapping:
- You tell Coppermind which Teams channel feeds which client mind
- Messages from that channel go directly to the specified mind
- No attribution logic is needed - the mapping is the routing
Privacy and Security#
- Uses the existing Microsoft (Office 365) OAuth app - no new credentials
- Per-customer encrypted token storage (AEAD v2)
- Only reads content you've authorized - transcripts or specific channel messages
- No audio, video, or file attachments are accessed
- Data stays within Coppermind's standard security boundary
Troubleshooting#
"Needs admin approval" during authorization:
Your IT administrator must approve the Graph API permissions. Share the permission names with them: OnlineMeetingTranscript.Read.All (for transcripts) or ChannelMessage.Read.All (for channels).
Transcripts not appearing:
- Check that meeting transcription is enabled in Teams admin center
- Transcripts can take up to an hour to finalize - check again later
- Verify the connector is active:
connectors action=status
Wrong client attribution:
Meeting attendee emails must match the email contacts stored in your client minds. Update your client's contact information with configure_mind.
Ready to try this yourself?
Coppermind is free to start and runs inside Claude. Your first meeting prep will convince you.
Try Coppermind Free