Microsoft Teams Bridge for OpenClaw
Welcome! @komaa/openclaw-msteams-bridge (npm: @komaa/openclaw-msteams-bridge,
OpenClaw channel id msteams-voice) adds Microsoft Teams voice and video to an
OpenClaw agent.
It is a single OpenClaw plugin. You install it into your OpenClaw gateway, and it runs a small local WebSocket server. The hosted StandIn media bridge joins your Teams call and dials into that server - so your OpenClaw agent can talk, see, and act on a real Teams call without you having to build any Teams media stack yourself. The agent appears in the call as an animated, lip-synced avatar.
What it does
Section titled “What it does”- Real-time voice - the caller talks to your agent and hears it reply, with natural
barge-in (interrupt mid-sentence). Two engines:
- Realtime - OpenAI or Azure OpenAI speech-to-speech (lowest latency).
- Streaming - STT to agent to TTS, using your OpenClaw-configured providers.
- Vision - the agent can look at the caller’s shared screen or camera, both on
request (
look_at_screen) and ambiently (it stays visually aware during the call), with a per-call spend budget. - Avatar cues - expression hints, viseme lip-sync, and
show_to_callerto render an image on the bot’s tile (picture-in-picture or fullscreen). - Meetings - “speak only when addressed” group etiquette with wake phrases and a
follow-up window, per-speaker attribution, and an optional end-of-call recap with
.docxminutes. - Outbound call-backs - place a call, speak a result or hold a conversation, hang up, with a no-answer/voicemail fallback and cancel-ringing.
- DTMF / IVR, bilingual EN/AR, verbal interrupts, echo suppression, and a cutoff goodbye when a StandIn time limit is reached.
- Secure transport - a replay-proof HMAC handshake on every connection, a caller allowlist that is closed by default, and a recording-status gate.
How the pieces fit
Section titled “How the pieces fit” Teams call <-> StandIn media bridge --HMAC WebSocket--> @komaa/openclaw-msteams-bridge (in the OpenClaw gateway) (hosted) joins the meeting the local WS server + the call brain | your OpenClaw agent (real work, tools)The plugin is the local WebSocket server (default 127.0.0.1:9442; set
bindAddress: "0.0.0.0" so the hosted bridge can reach it). StandIn is the client
that dials in over an HMAC-authenticated WebSocket using a shared secret both sides
hold. You never operate any Teams media yourself - that is StandIn’s job.
Use the sidebar to navigate. Start with Getting Started, or jump to the Configuration Reference or Wire Protocol.
Full hosted-service docs: docs.komaa.com - StandIn account & dashboard: standin.komaa.com.