Skip to main content
The community tier lets you add an AI voice assistant to a Microsoft Teams meeting without registering your own Azure bot. You bring your OpenClaw or Hermes agent (the AI); StandIn provides the shared Teams bot, the meeting, and the media bridge. The meeting is public, so anyone with the link can join and talk to your AI by voice.
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 official msteams 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.
If you already run the Teams msteams plugin, use a Free identity instead of the sandbox - the sandbox joins a second (shared) bot, so two bots will be in the meeting, both wired to the same agent.

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.
    The cutoff is abrupt: at the 5-minute mark the bot leaves immediately, even mid-sentence, with no warning announcement. Plan demos around it - do not save the important question for minute five.
  • 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.
Need a dedicated bot, higher limits, or inbound calls to your own Teams identity? Use the standard setup in the Quickstart with your own Teams bot.

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 your wss:// 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.