Microsoft Teams Alerts - edmozley/freeitsm GitHub Wiki
Microsoft Teams alerts
A ticket comes in at your most urgent priority. A card appears in the major-incidents channel in Teams - the ticket number, the subject, who raised it - with an Open in FreeITSM button that goes straight to it. Your L2 channel sees every ticket that lands with the L2 team. Nobody built a workflow by hand.
Set up under System โ Integrations โ Microsoft Teams. Contributed by Carl Steynvaard of Open Resilience, who built and ran it in production before offering it to the project.
Developers: how it works, the file map and the traps are in the Microsoft Teams alerts โ Developer Guide.
Not the Teams chat bot. For people to chat to the service desk in Teams, with each conversation becoming a ticket, see Microsoft Teams channel (Tickets โ Settings โ Messaging). The two work side by side.
What a channel can hear about
| Alert | When |
|---|---|
| New urgent ticket | A new ticket is at or above the priority you choose for the channel |
| Raised to urgent | A ticket's priority is raised into that band (moving between two urgent priorities is not announced again) |
| New ticket for its teams | A new ticket arrives with one of the teams you tick - from a routing rule or the New ticket form |
| Handed to its teams | A ticket is handed to one of those teams later |
| SLA warning / SLA breached | The SLA timers say so |
| Status page incident | An incident is opened on the status page |
| Approval waiting | A catalogue request is waiting for its approver |
| Every new ticket | Any ticket at all - best for a quiet install, or a channel just for the desk |
"At or above" follows the order of your priorities (Tickets โ Settings), not their names - choose High, and anything more urgent than High is included too.
Every card has an Open in FreeITSM button: the ticket when there is one, otherwise FreeITSM's front page.
A confidential ticket's card shows its number - never its subject or requester. On a multi-company install, a channel hears about tickets from every company.
Setting it up
1. Get the channel's address from Teams
- In Teams, go to the channel and click โฆ next to its name.
- Choose Workflows, then Post to a channel when a webhook request is received.
- Name it (for example FreeITSM), check the team and channel, and click Add workflow.
- Copy the address Teams shows - a long one starting
https://.
Treat it like a password: anyone who has it can post in that channel. FreeITSM keeps it encrypted and never shows it again.
The older Incoming Webhook connector no longer works - Microsoft switched Office 365 connectors off in May 2026. A Workflows address is the one to use.
2. Add the channel in FreeITSM
On System โ Integrations โ Microsoft Teams, click Add, name the channel, paste the address, tick its alerts and Save. Then click Test: a card saying FreeITSM is connected to this channel should appear in Teams within seconds.
Add as many channels as you like - one for major incidents, one per support line (L1, L2, L3), one for approvals.
Where the alerts live
Every alert you tick is an ordinary workflow, named Teams: โฆ โ your channel. That means:
- Workflows shows when each one last ran.
- Workflows โ Webhook deliveries shows every card sent and Teams' answer, and a card Teams could not take is retried automatically.
- You can switch one off there for a while.
Make changes on the Teams page, not in Workflows - saving the channel puts its workflows back the way the page says. Untick an alert, or delete the channel, and its workflow is removed; its history stays.
Want a card for something the page does not offer? Build your own workflow with Send webhook, choose the Microsoft Teams (Workflows card) format and paste the same address. {{link}} is the ticket's address, and it is already the card's button. See Workflows โ merge codes.
If something is wrong
| What you see | Why |
|---|---|
| Test says Teams did not accept it | The address is wrong or cut short - copy it again from the channel's workflow in Teams |
| The test arrives, but alerts do not | Check the workflow on the Workflows page: if it ran, Webhook deliveries shows Teams' answer; if not, nothing matching has happened yet |
| Team alerts never come | Tick at least one team, and check the ticket really arrives with (or is handed to) one of them |
| Cards stopped arriving | Somebody turned the workflow off in Teams, so its address stopped working. Make a new one and paste it in |
| An edit made in Workflows disappeared | Saving the channel on the Teams page rebuilds its workflows - make the change there, or copy the workflow and change the copy |
Related: Microsoft Teams alerts โ Developer Guide ยท Microsoft Teams channel (the bot) ยท Workflows ยท Webhooks