Microsoft Teams Meetings Plugin for Chrome Guest Access

This page explains how the teams-meetings plugin joins Microsoft Teams work and consumer meetings as a guest in the OpenClaw Chrome profile. It covers setup requirements, configuration, and the available agent and bidi modes.

Read this when

  • You want an OpenClaw agent to join a Microsoft Teams meeting
  • You are configuring Chrome, BlackHole, or SoX for Teams meeting talk-back

The teams-meetings plugin joins Microsoft Teams links as a guest inside the OpenClaw Chrome profile. It handles work links under teams.microsoft.com/l/meetup-join/... and consumer links under teams.live.com/meet/.... It does not create meetings, dial in, call Microsoft Graph, or record audio or video.

Setup

Talk-back requires the same local audio setup as the Google Meet plugin: macOS, the BlackHole 2ch virtual audio device, and SoX.

brew install blackhole-2ch sox
sudo reboot
system_profiler SPAudioDataType | grep -i BlackHole
command -v sox

The plugin ships enabled by default. Add an entry only to customize it, then verify the configuration:

{
  plugins: {
    entries: {
      "teams-meetings": {
        config: {
          defaultMode: "agent",
          chrome: { guestName: "OpenClaw Agent" },
        },
      },
    },
  },
}

Run openclaw plugins disable teams-meetings if you want the plugin disabled.

openclaw teamsmeetings setup
openclaw teamsmeetings join 'https://teams.microsoft.com/l/meetup-join/...'

Use chromeNode.node to launch Chrome, BlackHole, and SoX on a paired macOS node. The node must permit teamsmeetings.chrome and browser.proxy.

Modes

ModeBehavior
agentRealtime transcription queries the configured OpenClaw agent; TTS responds.
bidiA realtime voice model listens and replies directly.
transcribeObserve-only join with live-caption transcript snapshots.

Teams live captions turn on after admission in every mode so OpenClaw can store speaker-attributed notes. The transcript action still returns the bounded live buffer only for transcribe sessions. On leave, OpenClaw saves the durable transcript and derived summary in the shared state database; list or export them with openclaw transcripts.

Automatic notes are on by default. Set transcripts.enabled: false to turn off durable notes globally; explicit transcribe mode still exposes only its bounded live tail.

Guest join limits

The browser adapter dismisses the app interstitial, fills in the guest name, turns off the camera, sets the microphone for the chosen mode, and clicks the join button. In-call state uses the hang-up control; lobby, tenant sign-in, and device-permission states return explicit manual-action reasons. Consumer meeting launcher redirects and the BlackHole 2ch (Virtual) labels shown by Chrome are supported.

Teams tenant policy may require sign-in, email verification, or organizer admission. Complete that step in the OpenClaw Chrome profile, then retry status or speech. The plugin does not bypass tenant policy.

The consumer Teams web client has been live-validated for the app interstitial, guest-name entry, prejoin microphone/camera toggles, join, lobby admission, media permissions, in-call detection, live captions, BlackHole input/output routing, leave, and post-call detection. Work tenants can impose different sign-in, email-verification, admission, and leave-confirmation policy; complete any reported manual action in the OpenClaw Chrome profile.

Tool and gateway surface

The teams_meetings agent tool supports join, leave, status, transcript, and speak. Gateway methods use the teamsmeetings.* prefix. The node command is teamsmeetings.chrome.