# Connect Custom code to Microsoft Teams | Novu Connect

> Give your Custom code agent a voice in Microsoft Teams with Novu Connect.

Canonical: https://www.novu.co/channels/microsoft-teams/custom-code/

Markdown: https://www.novu.co/channels/microsoft-teams/custom-code.md

No framework required. Connect the agent loop you already wrote to every channel your users are on. Novu Connect gives it a voice in Microsoft Teams.

Novu Connect is the communication layer, the ACI, Agent Communication Infrastructure, bridge between your custom agent and Microsoft Teams. Your agent keeps running in your app. Novu delivers its messages to Microsoft Teams, maps each user, and forwards their replies back to your handler. We never run your agent's reasoning. That is the whole point.

Connect command: npx novu connect --channel teams --runtime custom-code

## What is Custom code

Custom code means the agent is fully yours: your own loop, your own model calls, your own tools, no framework in between. Novu does not care how your agent thinks. The bridge hands your handler each incoming message with its conversation context, and whatever your handler returns goes back to the user. That last mile, reaching a person in Slack and routing their reply back to your agent, is what Novu Connect adds.

- Any model provider and any agent loop you already run
- A plain handler: message in, reply out
- Conversation context and user identity handled for you
- No framework dependency to adopt

## How to connect Custom code to Microsoft Teams

1. Keep your agent: Your loop, model calls, and tools stay in your codebase exactly as they are. Novu Connect wraps the input and output, so your agent code does not change when you add Microsoft Teams.
2. Connect the channel: Run npx novu connect --channel teams --runtime custom-code. The CLI scaffolds a bridge route in your app and connects Microsoft Teams. You can also paste the prompt below into your coding agent and let it wire the bridge for you.
3. Wire the bridge handler: The CLI prints a requirements file with the bridge route and handler. Point the handler at your agent: it receives each Microsoft Teams message with conversation context, and whatever it returns routes back to the same conversation.
4. Go live: Sign in to keep the agent live, then run your dev server. Your agent now holds a two-way conversation in Microsoft Teams, and the same agent can reach every other channel from one thread.

Prompt for your coding agent: Connect this project's Custom code agent to Microsoft Teams with Novu using instructions from https://novu.co/agents.md

## Custom code and Microsoft Teams, common questions

### My agent uses no framework at all. Does that work with Microsoft Teams?

Yes. That is what the custom-code runtime is for. The bridge is a plain handler: Novu passes in each Microsoft Teams message with its conversation context, and whatever you return goes back to the user.

### Does Novu run my agent?

No. Novu Connect is the communication layer, the ACI, Agent Communication Infrastructure, bridge between your agent and Microsoft Teams. You own the reasoning and the tools. We never run your brain, that is the whole point.

### Can I switch model providers later?

Yes. Novu only carries the conversation to and from Microsoft Teams. What happens inside your handler, including which model you call, is entirely up to you and can change at any time.

### How do I connect my AI agent to Microsoft Teams?

Connect Microsoft Teams from the Novu dashboard. Authenticate your workspace once, and Novu Connect handles the app, identity, and two-way routing so your agent code does not change.

### Can the agent do approvals and human handoffs in Teams?

Yes. Novu Connect renders native Adaptive Cards and approval prompts, and supports human handoff workflows so a person can step in when needed.
