Armbrain'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 Armbrain dashboard or from Claude:
From the dashboard (recommended):
- Go to hq.armbrain.io 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 - Armbrain 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 Armbrain'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. Armbrain 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):
- Armbrain 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 Armbrain 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 Armbrain'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.