Skip to content

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.

  • 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_caller to 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 .docx minutes.
  • 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.
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.