This is different from the standard setup in the Quickstart, where you connect your own Teams bot and callers dial it. On the community tier there is no Azure bot to create: a shared StandIn bot joins a public meeting you generate.
Free identity vs Sandbox: which am I?
The sandbox (this page) is for users without the officialmsteams channel plugin - no Azure bot at
all. If you do run the msteams plugin, you already have an Azure Bot App ID + secret, and the better
free path is a Free identity: the same BYO-bot setup as paid (your own bot, your own tenant, inbound
calls), with 5 minutes of call time per day included, one per account. Choose it on the
dashboard (“Free (5 min/day, bring your own bot)”) or at the
pairing approve step.
What you need
- A running OpenClaw or Hermes agent whose voice endpoint is reachable over the internet.
- A sign-in at standin.komaa.com. No Azure bot and no Teams admin setup are required.
The connect form asks only for your agent’s public voice host, and StandIn adds the
/msteams/calling path for you. Include a port only if your tunnel published one: a whole-port
mount gives you machine.tailnet.ts.net:8443, while the recommended path mount gives you a portless
machine.tailnet.ts.net. Locally, both Hermes (hermes msteams-bridge serve --handler realtime)
and OpenClaw (openclaw gateway run) bind voice on 9442; either way, enter the public host,
not the local bind. See
Expose your agent for both mount forms. The shared secret is generated by StandIn and
shown once after connecting; copy it into your plugin config (secret, on both OpenClaw and Hermes)
and restart the plugin. Prefer a secret you already configured? Tick “I’ll set my own HMAC secret” and
paste it instead.Steps
1
Connect your agent
Sign in at standin.komaa.com/sandbox and choose Connect your agent. Enter your agent’s public voice host (with a port only if your tunnel published one - the path is added for you), click Connect, and copy the generated shared secret into your plugin config (shown once). StandIn creates a private room with its own
*.standin.komaa.com address.2
Generate a meeting link
In the room, click Generate meeting link. StandIn creates a Microsoft Teams meeting and returns a shareable
https://teams.microsoft.com/... join link.3
Share the link
Share the join link anywhere (a chat, a page, an email). Joiners need nothing installed, because the meeting is public.
4
Talk to the AI
When someone opens the link and joins the meeting, the StandIn bot joins automatically and bridges the audio to your agent. Speak, and your AI answers by voice, with an animated avatar (Jarvis) on screen. When everyone leaves the meeting, the bot leaves too, and it rejoins the next time someone joins.
Limits
The community tier is metered so the shared infrastructure stays fair for everyone:- 5 minutes of bot time per day, per room. Each room has its own daily budget; when it runs out, the bot leaves and returns the next day.
- Up to 5 new rooms per day per account. Reuse your existing room any time (it stays live for its 7 days at no extra cost); only creating a brand-new room counts toward this daily limit.
- One bot per meeting (a second join trigger is ignored).
- The room link is valid for 7 days; after that you generate a new one.
How your AI connects
Every meeting routes to the agent you connected. StandIn matches the meeting to your room and bridges that call’s audio to yourwss:// endpoint over a per-call authenticated connection. Your agent does the speech, language, and voice; StandIn only carries the Teams media. Keep your agent reachable at its wss:// URL, or the bot has nothing to connect to.
One direction only: the bot joins meetings StandIn generates, which live in StandIn’s tenant. It cannot join a meeting created in your own organization - Microsoft Graph blocks cross-tenant bot joins (error 7505) - see the troubleshooting entry if that is what you tried.