Setup
Connecting Teams is a two-step process: one workspace-level connection, then a per-agent bot install.1
Connect Microsoft Teams
In Settings → Integrations, click Connect Microsoft Teams and complete admin consent for your tenant. This is a one-time, org-wide step — it authorizes Runlayer to create and manage bot registrations in your tenant.
2
Install the agent's bot
On the agent detail page, under Microsoft Teams, click Install. In the Install Teams app dialog:
- Choose User (direct message) to install for a specific person, or Team (all channels) to make the bot available across every channel in a team
- Search for the user or team and select it, or use Install for all users / Install for all teams to install in bulk
- Click Install
Talking to the Agent
Once installed, the agent responds to:Responding without being tagged
Under the agent’s Microsoft Teams settings, toggle Respond without being tagged in channels to let the bot answer channel messages it isn’t @mentioned in.This applies to every channel of every team the bot is installed into — there is no per-channel allow-list. The first time you enable it, you’ll need to reinstall the Teams app so the team owner can grant the extra permission it requires.
Posting Updates to a Channel
Beyond replying to what triggered it, an agent can post a brand-new message into a Teams channel on its own — for example, to send a status update partway through a run, in addition to its normal final answer. This always posts as the agent’s bot — there is no separate “as a specific user” identity option for Teams the way there is for Slack’s connector tools, because Teams has no equivalent user-identity connector today.Channel reachability
A channel becomes postable to once the bot has seen any message from that Teams tenant — not necessarily that exact channel. In practice:- The bot must be installed (see Setup above).
- Someone sends at least one message the bot receives, anywhere in the tenant — an @mention in any channel, a DM, or (if enabled) an ambient channel message.
- After that, the agent can post into any channel in that tenant, as long as it’s told the destination channel’s ID (copy it from Teams, e.g. via Get link to channel).
Known limitations
- No channel picker. There’s no UI for choosing a destination channel — the agent needs the raw channel ID, typically supplied in its prompt/instructions.
- No scheduled-run destination. Scheduled agent runs have no built-in “post to this channel” field. To have a scheduled run post updates, include the channel ID directly in the schedule’s prompt text.
- No outbound messaging controls. Unlike Slack (which has per-agent DM/channel blocking and a blocked-channels list), Teams currently has no admin-side restriction on which channels an agent can post into.
Workspace Notifications
Separate from any individual agent’s bot, your workspace can have one shared Runlayer Teams Bot that posts platform-level notifications (currently: security scan violations) — the Teams analog of the Slack app’s notification channel. Set it up from Settings → Integrations → Microsoft Teams:- Click Create Teams Bot to provision the shared bot (requires the workspace-level tenant connection above).
- @mention or message the bot at least once from the channel(s) you want it to post into — like an agent’s bot, it can only post into a channel it has seen a message from.
- Pick a Notification channel — where general workspace notifications go.
- Optionally pick a separate Security alerts channel — where security scan violations go instead. Leave it unset to fall back to the notification channel above.
- Optionally enable Only alert on blocked calls to skip alert/mask-only violations and only notify on calls the scanner actually blocked.
Unlike Slack (which can post an incident-lifecycle summary instead of per-violation alerts), Teams always sends one alert per violation — there’s no incident-style digest option yet.
Link Previews
When someone pastes a Runlayer link (an agent, skill, plugin, artifact, or session URL) into a Teams message, the agent’s bot can turn it into a rich card — title, resource type, and creator — the same way Slack unfurls Runlayer links today.No new app registration is required. Link previews are a capability added to each agent’s existing Teams bot manifest, not a separate app — there’s nothing extra to register in Azure/Entra.
- This capability ships in the agent’s Teams manifest automatically going forward. For a bot installed before this feature shipped, reinstall the Teams app once (agent page → Microsoft Teams → Install, same dialog used for the initial install) so Teams downloads the updated manifest.
- Paste a Runlayer link into any chat or channel the bot is in. Teams calls the bot to resolve the link and replaces the raw URL with a card.
Troubleshooting
Agent doesn't respond to @mentions
Agent doesn't respond to @mentions
Confirm the bot is installed for that team (agent page → Microsoft Teams → Install, check the Already installed list) and that the mention actually tags the bot’s name.
Agent doesn't respond without being tagged
Agent doesn't respond without being tagged
Check that Respond without being tagged in channels is enabled and that the Teams app was reinstalled after first enabling it. If a condition prompt is set, the message may simply not match it.
"Unknown Teams channel" when posting an update
"Unknown Teams channel" when posting an update
The bot hasn’t received any message from that tenant yet. Send it a DM or @mention it once anywhere in the tenant, then retry — after that, any channel ID becomes reachable.
Connection shows disconnected
Connection shows disconnected
Reconnect from Settings → Integrations. If the bot was removed from Teams directly, reinstall it from the agent’s Microsoft Teams settings.
Pasted Runlayer link doesn't turn into a card
Pasted Runlayer link doesn't turn into a card
Reinstall the agent’s Teams app (agent page → Microsoft Teams → Install) so Teams picks up the manifest capability for link previews, then paste the link again.