Setting Up the Teams Deployment
Teams deployments require an Azure AD (Entra ID) application that the agent uses to read messages and post replies. You can either connect via delegated OAuth (signing in as a user) or via an app-only service principal (recommended for production and DMs).Register an Azure application
Go to portal.azure.com → Microsoft Entra ID → App registrations → New registration. Give the app a name (e.g. 
Noxus Agent) and register it.
Grant Microsoft Graph permissions
Under API permissions, add the Microsoft Graph permissions the agent needs to read messages and post replies (for example 
Chat.Create, ChatMessage.Read.All, Channel.ReadBasic.All, ChannelMessage.Send, Team.ReadBasic.All, User.Read.All). A tenant admin must Grant admin consent for the application-level permissions.
Create a client secret
Under Certificates & secrets, create a new Client secret and copy the value — you will only see it once.

Enter credentials in Noxus
Back in Noxus, create a new Microsoft Teams connection and fill in the fields:
Click Connect to save. Noxus validates the credentials against Microsoft Graph.
- Tenant ID — your Azure AD tenant UUID.
- Client ID (Application ID) — from the app’s Overview page.
- Client Secret — the value you copied in the previous step.
- User ID or Email (UPN) — optional. Leave empty for channel-only deployments; required when you want the agent to handle direct messages (DMs) with app-only permissions.

Deployment Settings
Once your Teams connection is established, configure how the agent behaves in Teams. Settings are organized into the sections below.
Deployment
| Field | Description |
|---|---|
| Status | Toggle the deployment Online or Offline. When online, the agent listens and responds to Teams messages automatically. |
| Version | The published agent version this deployment uses. |
A published version is required before you can set a deployment to Online. You cannot edit the configuration while the deployment is active — switch it to Offline first, then make your changes.
Configuration
| Field | Description |
|---|---|
| Teams Connection | The Microsoft Teams connection to use. Manage connections in your workspace’s connections settings. |
| Custom Instructions | Per-deployment instructions appended to the agent’s system prompt (e.g. "Always respond in Spanish"). |
Conversation Triggers
A new conversation starts when all specified fields match an incoming message. Fields use AND logic — every non-empty field must match.| Field | Description |
|---|---|
| Only support private messages | When enabled, the agent only responds to direct chats (DMs) and is not bound to a team or channel. Useful for DM-based assistants. |
| Team | The Team the agent listens to. Hidden when Only support private messages is on. |
| Channel | The specific channel inside the Team where triggers fire. |
| Keywords | One or more keywords that must appear in the message. |
| Reset conversation keywords | Keywords that force a new conversation. If left empty, all private messages continue in the same conversation thread. |
| Trigger on my own messages | Advanced — when on, the agent also fires on messages sent by the authenticated user. Off by default to prevent self-loops. |
Reply Behavior
| Field | Description |
|---|---|
| Reply mode | Auto — reply in the same context (channel or DM). Thread — always reply in a thread. Tool-based — nothing is sent automatically; the agent must call the send_message tool to post. |
| Batch messages before replying | When enabled, the agent waits for a pause before responding, batching multiple incoming messages together. |
| Quiet period (seconds) | How long to wait after the last message before replying. New messages reset the timer. Default: 5. |
Channel Tools
Toggle which Teams-specific tools the agent can use during conversations.| Tool | Description |
|---|---|
| React To Message | Add an emoji reaction to a message (Teams supports like, heart, laugh, surprised, sad, angry). |
| Reply In Thread | Reply to a specific message in a thread. |
Rate Limits
| Field | Description |
|---|---|
| Max messages per minute | Limit how many messages the agent sends per minute. 0 for unlimited. |
| Max new conversations per hour | Limit how many new conversations can be started per hour. 0 for unlimited. |
| Conversation timeout (minutes) | After this many minutes of inactivity, the next message starts a fresh conversation. 0 for no timeout. |
Display
| Field | Description |
|---|---|
| Show thinking | Display the agent’s reasoning steps in Teams messages. Off by default. |
| Show tool calls | Display tool call status in Teams messages. Off by default. |
| Show sources | Display source citations in Teams messages. On by default. |