Msteams

Communication Webhook URL, or a bot registration Windmill docs

Post to a Microsoft Teams channel from any Windmill script, flow or app — and run flows from a /windmill command typed in Teams.

Set up in 3 steps

1

Create an incoming webhook

In Teams, open the channel's connectors and add an incoming webhook. Copy the URL it gives you — it posts to that channel and no other.

2

Add the resource in Windmill

Open Resources, add a resource of type ms_teams_webhook, and paste the URL.

3

Run your first script

Fork a script below, or set one as a flow's failure step to get alerts in the channel.

Scripts

Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.

Trigger flows from Msteams

Msteams is not only a destination. These inbound paths are supported today.

Teams commands

Type /windmill in Teams and it runs a script, with what you typed as its inputs. A workspace admin connects Teams once from Workspace settings, under the Slack / Teams tab.

All resource types

Questions

Webhook or bot?

A webhook only posts to the one channel it was created for, and needs no admin. The azure_bot resource — app id, password and tenant — is for a registered bot that acts across the tenant.

Who can set up the /windmill command?

A workspace admin, from Workspace settings, Slack / Teams tab. Several Windmill workspaces can share one Teams bot, but a given Team sends its commands to only one of them.

Is my webhook URL stored on the hub?

Never. It lives only in your own Windmill workspace, encrypted at rest — and anyone holding that URL can post to the channel.