Skip to main content
Microsoft can be used for Roomote sign-in through Microsoft Entra and for Teams messaging through a Microsoft Bot Framework bot. Configure sign-in when users should authenticate with Microsoft. Configure the Teams bot when Roomote should receive Teams messages, mentions, and replies. Use <public-url> below for your stable public Roomote URL.

Microsoft sign-in

Create a Microsoft Entra app registration:
  1. open the Microsoft Entra admin center
  2. go to Applications > App registrations > New registration
  3. choose the tenant or account type this Roomote deployment should accept
  4. under Authentication, add this Web redirect URI:
  1. under Certificates & secrets, create a client secret
  2. save the client ID, secret value, and tenant ID in Roomote setup or env vars
Roomote enables Microsoft sign-in only when all three values are present. For a single-purpose Teams deployment, use the same Entra app for Microsoft sign-in and the Teams bot. Roomote setup uses the Microsoft client ID, secret, and tenant values for the Teams bot by default. If your Azure Bot registration has a different bot app ID from the Entra app ID, choose Show advanced config after the Directory (Tenant) ID field during setup and enter the bot-specific values there. After Microsoft sign-in, Settings > Linked Accounts shows the Microsoft Teams account. Users who signed in with another provider can link Microsoft from that settings page.

Teams bot registration

Create an Azure Bot resource in the Azure portal. Use one bot registration per Roomote deployment. Set the bot messaging endpoint to:
Enable the Microsoft Teams channel in the bot resource. Roomote setup stores these bot values from the Microsoft app values unless you open Show advanced config and enter separate Teams bot credentials. Use advanced config when the Azure Bot app ID is not the same as the Entra app ID. If you configure with env vars instead, set:
R_TEAMS_BOT_NAME is optional, but recommended when your Teams app is not named Roomote. Roomote uses it in generated Teams app packages and user-facing invocation guidance. Advanced token overrides are available when your tenant or cloud environment requires custom Bot Framework token settings:
Restart Roomote after changing Teams env vars.

Teams app package

Roomote generates the Teams app package for you: a zip with the app manifest and icons, pre-filled with your bot app ID and deployment URL. Download it:
  • during setup, from the Configure Microsoft Teams app step
  • later, from the Microsoft Teams card in Settings > Communications
Upload the package in Teams under Apps > Manage your apps > Upload an app, or import it in the Microsoft Teams Developer Portal. The generated manifest uses Teams manifest v1.25, declares channel feature readiness, and enables all three messaging scopes:
  • Personal - direct messages to the bot start tasks
  • Team - channel messages that mention the bot start tasks
  • Group chat - group-chat messages that mention the bot start tasks
If you prefer to build the app package yourself in the Developer Portal, add a bot capability that uses the same Microsoft App ID as R_TEAMS_BOT_APP_ID and include the bot entry in the manifest:
Upload and install the app in the Teams tenant you are using. Install it personally to test DMs, and add it to a team or group chat to test mentions.

Verify setup

  1. run Roomote with the public URL you entered in Azure
  2. send a direct message to the bot, or mention the bot in a channel or group chat
  3. confirm Roomote answers in the session and includes a web continuation link
  4. reply to the Roomote answer, or reply in the same Roomote-owned thread, and confirm the same session continues
Ordinary task-entry messages from linked users start in sessions in personal chats, group chats, and team channels. Channel and group-chat starts require the same mention or eligible thread-reply signals used for task entry. Sessions are isolated by linked Roomote user even when several people share one Teams thread. Unlinked senders receive the account-link prompt instead of starting work. Peer conversations do not apply to Teams. Bot Framework webhooks provide addressed activity, and delegated Microsoft Graph access can supply bounded history for eligible thread replies, but Roomote still keeps each person’s session separate. Those signals are not treated as one shared, owner-bound conversation or as permission to monitor a channel. When a judgment model is configured and more than one person is in the thread, an eligible unmentioned thread reply still routes only when the model finds it is addressed to Roomote. An acknowledgement that passes that addressee check reaches the session, which then decides whether a response is warranted. Replies to Roomote messages continue the bound session. Existing task conversations keep their active-task and resumable-snapshot behavior, and Roomote delegates repository work into normal Roomote tasks. If Roomote cannot start a conversation, Roomote says so in the chat instead of starting a task another way. Bot Framework and Microsoft Graph images, image-only messages, and transcribed audio continue through the same attachment handling. When a task calls request_user_input, Teams accepts a text reply in the same conversation. Sensitive input remains in the web app; Teams does not currently render interactive answer buttons. Session automation reports can target a Teams channel, chat, or owner direct message. Replies continue the report’s session. Every Roomote reply ends with a compact footer: Reply anytime, a plain running-task count when at least one task is running, links to pull requests the session is working on, and Open in Roomote, which opens the session transcript. Roomote keeps the footer on the latest reply current as delegated tasks start and finish (checking about every 30 seconds while work is running), and earlier replies drop their footer when a new reply posts. The first verified Teams message also captures the conversation Roomote uses for proactive output. When Slack and Telegram are not connected, setup onboarding messages and automation summaries post to the most recently active captured conversation, preferring team channels. Until Roomote captures a conversation — typically from that first message, though other verified Teams activity such as adding the app to a team can also capture one — the Microsoft Teams card in Settings > Communications shows a reminder to open the app and send the bot one message. When an inbound Teams activity includes a Microsoft Entra AAD object ID, Roomote can map it to an existing Microsoft sign-in account. If no mapping exists yet, Roomote asks the sender to link their Microsoft account before starting a task rather than launching it under another owner.

Local URL changes

When the public URL changes, update the Azure Bot messaging endpoint, update the Teams app package if its valid domain changed, reinstall the app if the manifest changed, and restart Roomote with the matching URL.