@komaa/openclaw-msteams-bridge is a self-contained Teams CVI plugin for OpenClaw. It depends only on the
published openclaw plugin-sdk + api.runtime - no fork, no vendored runtime.
This adds voice/video (CVI) on top of OpenClaw’s existing
Microsoft Teams chat channel - run both for chat + calls.
Requirements
- An OpenClaw install - host ≥
2026.6.9. - A StandIn subscription (standin.komaa.com, free package) - the hosted media bridge that joins the Teams call and connects to this plugin. See Architecture.
- Realtime mode: a realtime voice provider + key. Streaming mode: your openclaw-configured STT / TTS / agent (no realtime key needed).
Install
Also on ClawHub:
openclaw plugins install clawhub:@komaa/openclaw-msteams-bridge - OpenClaw falls back to npm
automatically if the ClawHub fetch fails. See the
plugin README.Verify
Once installed, enable it in your config (plugins.entries."msteams-call".config.enabled: true) and
start the gateway:
ws://<host>:9442/msteams/calling).
Expose the WebSocket (Agent calling URL)
StandIn connects to your plugin from the internet, so port9442 must be reachable - a public
host, or a tunnel.
With Tailscale Funnel, map the path onto your single public host rather than spending a whole
external port on it (Funnel offers only three). The proxy target must repeat the path, or the request
reaches your plugin stripped and 404s:
sharedSecret) in the
StandIn sandbox or on your identity in the
dashboard, then place a Teams call to your bot.
Prefer a dedicated port? tailscale funnel --bg --https=8443 9442 works too - this is what the
one-line installer does - and the URL then carries the port:
wss://<machine>.<tailnet>.ts.net:8443/msteams/calling.
Funnel serves up to 3 external ports (443, 8443, 10000), which is why path routing is the better
default: every lane can share 443. Running the Hermes plugin on the same machine? Give it its own
paths on the same host (
/msteams/calling there points at Hermes’s own port) and register each
runtime as its own
agent with its own secret.Next: the full configuration reference for realtime, streaming, outbound,
and security keys.