How to Connect Your AI Character to Microsoft Teams

How to Connect Your AI Character to Microsoft Teams

MegaNova has two separate Teams integrations and they solve different problems. Understanding which one to use — before you start — saves a lot of unnecessary back-and-forth.

Teams as an agent channel: your AI character responds to messages sent directly inside Teams. Users @mention the bot or DM it, and it replies as your character.

Teams as a workflow notification target: your character's workflow posts structured Adaptive Cards to a Teams channel when a condition is met — for example, escalating a customer support conversation to a human team.

This article covers both.


Option 1: Deploy Your Agent as a Teams Bot

This path connects an agent (not a character directly, but a character deployed as an agent) to Teams so it can have conversations inside the platform.

Step 1: Register a Bot in Azure

Go to the Azure Portal and create a Bot Channel Registration. This registers your bot with Microsoft's identity system so Teams can route messages to it.

You will need an Azure account. During registration, note your bot's App ID and Client Secret — you will need these.

Step 2: Set the Messaging Endpoint

In the Azure Bot Channel Registration, set the Messaging Endpoint to:

https://studio-api.meganova.ai/agents/v1/{your-api-key}/teams/messages

Replace {your-api-key} with the API key from your agent's Settings tab in MegaNova Studio. This is the endpoint Teams will send all incoming messages to, and where your character's responses will come from.

Step 3: Add to Teams

In the Azure portal, enable the Microsoft Teams channel for your bot. Then publish the bot and add it to your Teams workspace using the standard Teams app installation flow.

Once installed, users can open a direct conversation with the bot or add it to a channel. Every message they send goes to your character; every response comes back through the same channel.

Where to Find the Endpoint in the UI

In your agent's detail page, go to the Channels tab. Select Microsoft Teams from the channel options. The configured messaging endpoint is shown there, along with the three-step setup instructions.


Option 2: Send Notifications to Teams From a Workflow

This path is for escalation and notification use cases. Your workflow runs, evaluates a condition, and — if the condition triggers — posts a structured card to a Teams channel.

This does not require Azure. It uses Microsoft Teams' Incoming Webhooks, which is a simpler mechanism for one-way posting.

Step 1: Create an Incoming Webhook in Teams

In Microsoft Teams:

  1. Go to the channel where you want notifications to appear
  2. Click the three-dot menu on the channel → Connectors
  3. Find Incoming Webhook and click Configure
  4. Give it a name and copy the Webhook URL that Teams generates

The webhook URL looks like:

https://your-org.webhook.office.com/webhookb2/...

Keep this URL — you will paste it into MegaNova.

Step 2: Add the Teams Integration to Your Space

In MegaNova Studio, open the Integrations section (accessible from the Agent Market or your space settings). Find Microsoft Teams and click to configure it.

The configuration form asks for:

  • Webhook URL (required) — the URL you copied from Teams
  • Channel Name (optional) — a display name for the channel, shown in the MegaNova UI
  • Mention Users (optional) — email addresses of users to @mention when a card is posted

After saving, MegaNova sends a test card to verify the connection. The channel receives a card saying "MegaNova Studio Connected."

Step 3: Add a Teams Node to Your Workflow

In the Workflow Editor, open the Materials Library. Under the Channels section, drag a Microsoft Teams node onto the canvas.

The Teams node has:

  • Inputs: Trigger (from a Condition node), Context (from upstream nodes)
  • Outputs: Message ID, Status

In the node's properties panel, set the Integration to the Teams integration you just configured.

Step 4: Connect a Condition Node

The Teams node requires an explicit escalation signal to fire. It will not post to Teams unless an upstream Condition node outputs should_escalate: true.

This is intentional — it prevents Teams from receiving notifications for every workflow execution. Only the paths where your condition logic determines that escalation is needed will trigger a post.

Connect the Condition node's output to the Teams node's trigger input. When the condition evaluates to "escalate," Teams receives the card. When it evaluates to "deflect," the Teams node skips silently and returns a deflected status.

What the Teams Card Contains

When a notification posts, Teams receives an Adaptive Card with:

  • Customer name and email — from the workflow's context data
  • Priority — color-coded: Low (green), Medium (yellow), High/Urgent (orange-red)
  • Character name — the AI character that was handling the conversation
  • Subject — the node's label or a title from upstream data
  • Conversation summary — assembled from upstream node outputs (character context, AI responses, storage content)
  • Tags — if set on the node
  • Reply via Email action button — a mailto link to the customer's email

The card truncates summaries at 1,000 characters. Conversation summaries longer than that are cut with an ellipsis.


Choosing Between the Two Approaches

Agent Bot Workflow Notification
Setup Azure Bot Channel Registration Teams Incoming Webhook
Direction Two-way conversation One-way notification
Use case Users chat with character in Teams Escalate to human team
Requires Azure Yes No
Card type Chat messages Adaptive Cards

Use the Agent Bot path when you want your character to be a participant in Teams — people message it and it replies.

Use the Workflow Notification path when Teams is the destination for escalation — the AI has handled what it can, a condition fires, and a human team in Teams sees a structured summary of what happened and who needs follow-up.

The two approaches can run in parallel. The same character can be deployed as a Teams bot for direct conversations and also connected to a workflow that escalates to a Teams channel when the conversation exceeds what the character should handle alone.


The Agent Tool: Sending Messages Programmatically

There is a third, lighter option: the Send Teams Message tool, available to agents as a callable function.

When you configure a Teams integration on a space and enable the send_teams_message tool for an agent, the agent can decide — during a conversation — to send a message to Teams. The tool takes a channel name and a message body and posts it to the configured webhook.

This is useful when the decision to notify should happen mid-conversation based on context, not based on a pre-built workflow condition. The agent can reason about when to escalate rather than following a fixed condition rule.

Configure it in the agent's Tools tab. Select Send Teams Message from the available tools and point it to the configured Teams integration.

Open MegaNova Studio →

Stay Connected

💻 Website: Meganova Studio

🎮 Discord: Join our Discord

👽 Reddit: r/MegaNovaAI

🐦 Twitter: @meganovaai