Integration guide

Connect noombat to Microsoft Teams

noombat posts its alerts — Snout's Daily Catch, accounts turning hot, meetings booked — straight into a Teams channel of your choice. No app install, no admin rights, no cost: one workflow link, about five minutes.

Before you start

  • Any team member can do this — no Microsoft 365 admin, no app registration, no consent flow. (Some organisations restrict who may add apps to a team; if that's you, bring whoever manages the team.)
  • It's free — the Workflows app ships with Teams on every business plan and the webhook uses no premium license and no user seat.
  • The alerts channel must be a standard channel. Your team being private is completely fine — it's specifically private channels (the ones with a lock icon) that Microsoft's posting bot can't write to.
  • GCC / GCC High / DoD tenants: Microsoft doesn't provide the posting bot in US Government clouds — contact us for the alternative setup instead of following this guide.
1

Pick (or create) the channel

~1 min

Alerts read best in a channel of their own — most customers create one called noombat in the team where the go-to-market people live. An existing standard channel works just as well.

the team > ⋯ > Add channel
  • Name: noombat
  • Channel type: Standard — “Everyone on the team has access”
  • Layout: Posts (alerts are a feed, not a conversation)
  • Tick “Recommend that people show this channel in their channel lists” so it doesn't start out hidden for your team.
Teams' Create a channel dialog with the name noombat, channel type Standard and the Posts layout selected
Standard type, Posts layout — the team itself can stay private.
2

Add the webhook workflow

~2 min

Teams ships a built-in automation template that receives noombat's alerts and posts them as cards. Adding it takes two clicks and creates the link we'll connect to.

the channel > ⋯ > Workflows — type webhook in “Find templates” and pick “Send webhook alerts to a channel”. Your team and channel are pre-selected on the next screen — click Save.
The channel's ⋯ menu opened, with the Workflows entry highlighted
Workflows lives in the channel's ⋯ menu.
The Workflows dialog with webhook typed into Find templates and the Send webhook alerts to a channel template in the results
Type “webhook” and the template is the top channel result — by Microsoft, using only standard connectors.

The workflow's page opens (it's also where its delivery run history lives — worth remembering). Click Copy webhook link: that link is what you'll send us in step 3. It's never shown on screen — treat it like a password from here on.

The created workflow's page showing the Active status, the Copy webhook link button and the run history section
Copy webhook link puts the link on your clipboard. This page is also where the run history lives.
3

One quick check, then send us the link

~2 min

One thing to verify before the link leaves your hands — Microsoft's setup occasionally saves a broken channel selection (the fields show a lone @ instead of your team and channel), and when it does, every post fails while everything looks fine from the outside. Thirty seconds now saves a support round-trip later:

the workflow's page > Edit

Look at the Team and Channel fields. If they show your team and channel by name — you're done, click Back without saving. If either shows @ or is empty: re-select your team and channel from the dropdowns, then Save.

The workflow's Edit view showing the Team and Channel dropdowns filled with real names
Correct: Team and Channel show real names. A lone “@” here is the one thing to fix.

Share the link securely — never in a plain email

The link is the whole credential (post-only, and only into this channel — but still). Best: a share from your password manager (1Password, Bitwarden, Keeper…) to integrations@noombat.ai. Also good: a self-destructing link (e.g. onetimesecret.com). If it ever leaks, delete the workflow — the link dies with it — then re-add and send us the new one.

Once the link arrives we send a test card the same day and confirm back to you — then you choose which alerts the channel gets, and they simply start arriving.

What lands in the channel

Cards, not walls of text — each one led by the noombat mark, with the facts that matter and a button back into your workspace. Here's Snout's Daily Catch, the morning digest of accounts worth a call:

Snout's Daily Catch rendered as a card in a Teams channel: ranked accounts with why-now reasons, contacts, and an Open the GTM Explorer button
Posted by the Workflows app — the noombat mark leads every card, and every account links back into your workspace.

Troubleshooting

Real failure modes we've hit while building this — with the exact fix. If yours isn't here, send it over.

What you seeWhyFix
Cards never arrive, but noombat reports alerts as sentMicrosoft's webhook accepts every request the moment it arrives and only then tries to post — so delivery failures are invisible to the sender. Every failed attempt IS recorded on your side, in the workflow's run history.In Teams: the channel's ⋯ → Workflows → your workflow — its page shows the run history. Click a failed run and the red step names the cause; the rows below cover the ones we've seen. (The same history is at make.powerautomate.com, environment picker on Default.)
Run history says: “The sender … is not a member or an owner of the team or channel”Misleadingly worded — the real cause we've verified is a broken saved Team/Channel selection (a literal “@” instead of your choices), so posts are addressed to a team that doesn't exist.Do step 3 of this guide: the workflow's page → Edit → re-select the Team and Channel from the dropdowns → Save. If the simple Edit view doesn't clear it, fix both posting actions in the advanced editor — full walkthrough with screenshots below this table. Delivery starts on the next alert.
Run history says the bot “is not part of the conversation roster”The target is a private (or shared) channel — Microsoft's Workflows bot can only post to standard channels. A private team is fine; a private channel is not.Point the workflow at a standard channel (create one for noombat if needed — step 1). If a private channel is a hard requirement, talk to us about the service-account setup.
It worked, then stopped after someone opened the workflow in the full Power Automate editorThe advanced editor at make.powerautomate.com can corrupt the workflow's internals when an edit session is abandoned midway — it keeps accepting requests while every post fails. (The simple Edit view in Teams is safe.)Fastest fix: delete the workflow, re-add it from the channel (two minutes), and send us the new link. The old link dies with the deleted workflow.
Teams' own Power Automate tab says “You don't have any flows”That tab often opens a different Power Platform environment than the one Teams-created workflows live in. The workflow exists and runs — you're just looking in the wrong place.Manage it at make.powerautomate.com with the environment picker on the Default environment. Nothing needs fixing — delivery is unaffected.
Your organisation is on GCC / GCC High / DoDMicrosoft doesn't provide the Workflows posting bot in US Government clouds.Tell us — there's a fallback setup (posting via a dedicated account) that works there.

Fixing a broken channel selection, step by step

For the “sender is not a member or an owner” failure: the workflow is addressed to a broken target (a lone @ where your team and channel should be), and re-selecting them is the whole fix. The workflow posts from two places internally — both need the fix.

  1. Open the workflow in the advanced editor: make.powerautomate.com > My flows > the workflow > Edit (keep the environment picker, top right, on your Default environment). Expand everything — the flow ends in a fork with a posting action on each side:
    The workflow in the advanced editor: a condition forks into True with Post card in a chat or channel 1, and False with a For each loop containing Post card in a chat or channel
    The two posting actions to check: “Post card in a chat or channel 1” under True, and “Post card in a chat or channel” inside the For each under False.
  2. Click “Post card in a chat or channel 1” (under True). In its Parameters, the Team and Channel fields should name your team and channel. If either shows @ or is empty, open the dropdown and pick them. Don't touch the Adaptive Card field — the pink token in it is correct.
    Parameters of Post card in a chat or channel 1: Post as Flow bot, Post in Channel, Team and Channel filled with real names, Adaptive Card holding an expression token
    How it should look after the fix: Team and Channel carry real names, everything else untouched.
  3. Do the same for “Post card in a chat or channel” — inside the For each under False. Same two fields, same fix.
    Parameters of the second posting action inside the For each loop, with Team and Channel filled with real names
    The second posting action, inside the For each — this one is easy to miss.
  4. Click Save (top right) and wait for the confirmation before closing the tab — an abandoned edit session in this editor is itself a known way to break the workflow. The next alert delivers; no new link is needed.

Security & data questions

The questions IT and security people ask us about this setup, answered the way we answer them.

What exactly can this link do?

Post cards into that one channel — nothing else. It cannot read messages, files, or members; it grants noombat no access to your tenant, and nothing is ever read back. It is also the only credential in this setup, and it is post-only: the worst anyone holding it could do is post a message into that channel. That's why we still treat it like a password.

Why do the posts come from “Workflows” and not from noombat?

Microsoft fixes the sender identity of webhook workflows — every one posts as the Workflows app, and that name can't be changed. The noombat mark and name lead every card instead, so there's never a doubt who it's from. (A full Teams app would change the sender name, but it needs an app install and admin consent in your tenant — we deliberately keep this integration lighter than that.)

What does noombat post?

Whatever you subscribe the channel to: Snout's Daily Catch (the morning digest of accounts worth a call), an account turning hot, a meeting getting booked, a lead being routed to someone, a scheduled automation finishing, or a data sync failing. Each is a card with a link back into your noombat workspace — the same alerts Slack customers get.

How do we revoke it?

Delete the workflow (in the channel's Workflows list, or at make.powerautomate.com) — the link dies with it, instantly and permanently. Nothing on our side can restore it. Re-adding the workflow creates a fresh link, which is also the rotation procedure: delete, re-add, send us the new one.

Can we use a private channel?

Not directly — Microsoft's Workflows bot can only post to standard channels (this is a platform limitation, not ours). The pattern that works: a standard channel inside your team — the team itself being private is completely fine, and that already limits the audience to team members. If a private channel is a hard requirement, ask us about the service-account setup.

What does this cost on the Microsoft side?

Nothing. The Workflows app ships with Teams on every Microsoft 365 business plan, the webhook template uses only standard connectors (no premium Power Automate license), and no user seat is consumed.

Can alerts go to several channels, or several teams?

Yes — each channel gets its own workflow and its own link, and each link is bound to exactly one noombat workspace on our side, so one client's alerts are structurally incapable of landing in another's channel. Repeat this guide per channel and send us each link, telling us what should go where.

Anything unclear, or an IT policy in the way? integrations@noombat.ai — or we'll do the whole thing together on a call, it's a five-minute screen share.