IntegrationsMicrosoft Teams

Microsoft Teams

Install Naumu once in Teams so anyone in your organization can @mention it and get answers from your company knowledge.

Updated August 14, 20267 min read

Connecting Naumu to Microsoft Teams takes two steps. Someone uploads the Naumu app to your Teams organization, then someone opens the claim link the bot posts and binds it to one Naumu space. (Your Teams organization is a Microsoft tenant; a space is a Naumu memory.)

After that, anyone in the organization can @mention Naumu and get an answer. There is no per-person setup, no account linking, and nothing for teammates to approve.

Each Teams organization binds to one space, and each space binds to one organization - to switch, disconnect the current one first. This keeps it clear which memory the bot is working with.

If you do switch, conversations that already talked to Naumu stay bound to the threads they started in the old space. Only conversations that reach the bot for the first time after the switch land in the new one.

Install the app

Unlike most integrations, Teams apps are installed by uploading an app package rather than through a Connect button. Naumu builds that package for you.

  1. Open the space you want to connect.
  2. Go to Settings → Integrations.
  3. Under Connected tools, open the Microsoft Teams entry and select Download app package. You get a naumu-teams.zip file. The button is only there while the space isn't connected yet.
  4. In the Teams admin center (https://admin.teams.microsoft.com), go to Teams apps → Manage apps → + Upload new app and select the zip.
  5. Back in the Teams client, open Apps, find Naumu, and add it to a team - or start a one-to-one chat with it.

Any member of the space can download the package - you don't have to be an owner or admin. Deploying it org-wide from the admin center in step 4 does require a Teams administrator; one person can instead upload it from the Teams client under Apps → Manage your apps → Upload an app → Upload a custom app, as long as your organization's custom-app (sideloading) policy allows it. If that option is missing or greyed out, an admin turns it on under Teams apps → Setup policies → Global (Org-wide default) → Upload custom apps.

Downloading the package doesn't connect anything on its own, and it isn't tied to the space you downloaded it from. The binding happens when someone opens the claim link in the next step.

Claim the connection

The moment the app is installed, Naumu posts a welcome message containing a one-time claim link.

  1. Anyone who can see that message opens the link.
  2. They sign into Naumu (or are already signed in).
  3. They pick which of their own spaces to connect - you can only claim a space you're a member of.
  4. The welcome message updates in place to confirm the connection, and Naumu drops the claimer into a private Microsoft Teams connected thread in the chosen space.

The link expires after 24 hours and works only once. To recover:

  • Expired or already used, nothing claimed yet - @mention the bot in a channel or message it directly and it posts a fresh claim card, at most once an hour per conversation.
  • Claimed the wrong space - go to Settings → Integrations → Microsoft Teams → Disconnect in Naumu, then claim again. Re-adding the app in Teams doesn't help while the organization is still claimed; the bot just says it's already connected.

If the organization is already connected to a different Naumu space, or the space you pick is already connected to a different organization, the claim is rejected rather than silently re-bound. Disconnect the existing one first.

Ask Naumu from Teams

Once claimed, everyone can use it right away. How you reach the bot depends on where you are:

  • Channels - @mention Naumu. It reads the surrounding thread and recent channel messages for context, then replies in that thread. Add Naumu to the team first. It answers only an explicit mention, never ambient channel chatter.
  • Group chats - also @mention required, for the same reason.
  • One-to-one chat with the bot - a private chat where every message you send reaches it, no mention needed.

Ask questions in plain language. Naumu answers from the connected space's company-wide knowledge: everything marked internal plus everything public. It never reaches into anyone's personal or private notes.

Naumu can also write from Teams. Ask it to record a decision or capture what a thread concluded, and it updates the space's memory the same way it would in the web app.

Replies are labelled as AI-generated, cite the memory they drew on, and end with an Open in Naumu link so you can jump to the notes, nodes, and views behind an answer. A very long answer is trimmed to fit Teams, with a note pointing at the full version in Naumu, and tables are flattened into plain lines - Teams messages can't render them.

Guests in your Teams organization, anyone from outside the connected tenant, and anyone whose identity Naumu can't verify at the moment they ask - a directory lookup that fails, say - are answered from public knowledge only, never from internal knowledge. People from outside the tenant also can't hold a one-to-one chat with the bot: they get a polite refusal instead, so use a shared channel with them.

Private channels aren't supported. Microsoft doesn't expose them to apps the way standard channels are. If a message from one does reach Naumu, it answers from public knowledge only.

What Teams conversations become in Naumu

Teams conversations map to threads in Naumu, so your history is preserved on both sides. In a channel it is each reply chain that gets its own Naumu thread rather than the channel as a whole, so one busy channel produces many threads; group chats and one-to-one chats map per conversation. Visibility follows where you were talking:

Where you talk to NaumuWhat appears in Naumu
Channel reply chainA space-visible thread every full member of the space can read
Group chat, or one-to-one chat with the botA private thread

Once a conversation is mapped, it keeps that visibility - it is never re-mapped later.

Teams doesn't give apps access to people's email addresses, so Naumu can't match Teams people to Naumu accounts. Everyone can still ask and get answers; their messages simply appear under their Teams display name rather than as a Naumu member.

The channel messages Naumu reads for context are never stored. When you @mention it, Naumu reads the thread and the recent messages around it purely to understand what you're asking, uses them to compose that one answer, and discards them. Only your question and Naumu's reply become part of the space, as an ordinary thread.

Usage from Teams draws from the space's shared pool rather than any one person's allowance - it is not billed per person. If the space runs out of included usage, the bot says so in Teams instead of answering and points at billing.

Manage and disconnect

You can manage the connection from Settings → Integrations in the connected space - any member of the space can disconnect, not just an owner or admin. Selecting Disconnect stops Naumu from answering in that Teams organization; anyone who messages the bot afterwards is prompted to reconnect, at most once an hour per conversation.

Threads already in Naumu are unaffected by disconnecting, and they keep their original visibility if you reconnect the same organization later.

Disconnecting in Naumu stops the bot from responding, but leaves the app installed. To remove it from Teams entirely, go to the Teams admin center → Teams apps → Manage apps → Naumu.

Removing the app from one team disconnects the whole organization. The connection is tenant-wide, so tidying Naumu away under a single team's Manage team → Apps stops it answering in every team, group chat, and one-to-one chat in your Teams organization - not just that team. Getting it back means claiming again.

  • Slack - the same company-level integration for Slack
  • Spaces - the space a Teams organization binds to
  • Views - what the Open in Naumu link surfaces alongside a chat answer
  • Plans & billing - the shared pool Teams usage draws from
Anything missing?
Tell us what would make these docs better.