← Al Davies, 250 High Street

Post to Teams when a SharePoint list item changes

Short answer: build an automated cloud flow in Power Automate with the SharePoint trigger "When an item is created", then add the Teams action "Post message in a chat or channel" with the item title and a link in the message. To hear about changes too, use "When an item is created or modified" and add a Condition, for example Status equals Blocked, so only the changes you care about post. Test with one fake item before you tell the team. This page is a how-to. Exact names may differ on your screen.

What this flow does

Your team keeps work in a SharePoint list. People open the list only when they remember to. A flow can do the remembering. When an item is added, or a field such as Status changes, the flow posts a short message in a Teams chat or channel. The team sees it where they already work.

This is a "push" flow. It reacts to an event. It is different from a scheduled flow that looks for late items once a day. For that, see "Late tasks nobody notices: setting up late alerts". For a general view of keeping a team informed, see "One place for team updates".

Before you start

Make these choices first. They are easier now than after the flow is live.

Step 1. Start an automated cloud flow

  1. Sign in to Power Automate.
  2. Choose to create a new flow. Pick the type called automated cloud flow.
  3. Give the flow a clear name, such as "Teams message when Incident log changes".
  4. Search for the SharePoint trigger you want, then create the flow.

Microsoft describes a trigger as an event that starts a cloud flow. An automated flow runs after an event happens, such as a new item in a list. The exact menu names may differ in your tenant.

Step 2. Pick the SharePoint trigger

The SharePoint connector has more than one trigger for list items. Microsoft's connector page describes these:

Each of these asks for the same main settings:

One way to start: use "When an item is created" for a first test. Move to "created or modified" once the first version works.

A note on list names. Microsoft's page says that if you use a list name as a dynamic value and the name has a period in it, it can cause an error. Pick the list from the dropdown instead.

Step 3. Add a Condition (optional, but worth it)

"Created or modified" fires on every change. That includes a small edit, such as fixing a typo. If you post on every edit, your team will learn to ignore the channel. A Condition lets the flow check a field and post only when it matches.

Microsoft's page on conditions gives these steps:

  1. Under the last action, choose to add a step, and pick Condition.
  2. Click the box on the left. The dynamic content list opens. Pick the field, for example Status.
  3. In the middle box, pick a comparison, such as "is equal to".
  4. In the box on the right, enter the value, for example Blocked.
  5. Put the Teams action on the "If yes" side. Leave "If no" empty.

The Microsoft page also says you can build more complex conditions with the Add button on the Condition card.

Two things to know about this check:

Step 4. Add the Teams action and choose who it posts as

  1. Under the Condition's "If yes" side (or under the trigger if you skipped the Condition), choose Add an action.
  2. Search for Teams, then pick "Post message in a chat or channel".
  3. Fill in the settings.

Microsoft's Teams connector page lists these settings for the action:

Who it posts as matters:

Other limits from the same Microsoft page:

Chat, channel or group chat

Our advice, not a Microsoft rule: use a channel when the whole team should see the alert, and a chat when only the owner needs it.

Step 5. Write a message people will act on

A good alert answers three questions fast: what changed, how bad is it, and where do I click. Use dynamic content from the SharePoint trigger to fill in the pieces. One way to start:

Example of the finished text: "Pallet fell from rack in aisle 4. Status: Blocked. Owner: shift lead. Due: 2026-10-21. Open the item."

Tips for the text:

Step 6. Save and test

  1. Save the flow.
  2. Add one fake item to the list. Mark the Title as a test, for example "TEST - ignore".
  3. Wait for the flow to run. SharePoint triggers do not always fire the same second you save an item. Give it a few minutes.
  4. Open the flow's run history in Power Automate. Check that the run shows as succeeded.
  5. Check the Teams channel or chat. Read the message as if you did not know the list.
  6. Change the Status on the fake item to match your Condition. Check that a second message appears.
  7. Change a field that should not matter, such as a note. Check that no message appears. If one does, tighten the Condition.
  8. Delete the fake item when you are done.

If the run failed, open it and read the error on the step that failed. Three causes to check first are a missing permission on the list, a Teams connection that needs to be signed in again, or a chat or channel that no longer exists.

Step 7. Keep the noise down

The biggest risk with this flow is not a failure. It is too many messages. When a channel gets a message for every small edit, people mute it, and then the real alerts are lost. Ways to stay quiet:

Microsoft's page on flow limits also says a cloud flow that fails again and again can be turned off after a set time, and that a flow with no trigger activity for a long period might be turned off. If your alert flow goes quiet, check that it is still on. Microsoft also says the owner is notified before a suspension. Make sure the flow has a second owner so a notice does not go to someone who has left.

Honest limits

A message in Teams does not make anyone act. It makes the change visible. Someone still needs to own the item and finish it. If the list has no owner and no due date, a Teams alert only tells people about a problem nobody is handling. Fix the list first, then add the alert.

Also, a flow like this depends on a Teams connection and a SharePoint connection that belong to a person. Those can expire, or stop working when a person leaves. Name a backup owner and look at the run history on a schedule, for example once a month.

When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.

Tell me what's still manual

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: Tools I built

FAQ

Which trigger should I use, "created" or "created or modified"?

Use "When an item is created" for new items only. Use "When an item is created or modified" for changes too, with a Condition so small edits do not post.

How do I post a Teams message to a channel from a SharePoint list?

Add the Teams action "Post message in a chat or channel" and choose the channel in Post in. Posting to a private channel is not currently supported, so use a standard channel.

How do I @mention a person in the Teams message?

Add the Teams action "Get an @mention token for a user" before the post action and put its token in the message. A single message can @mention only up to 20 users and 20 tags.

How do I add a hyperlink to the item in the Teams message?

Microsoft says a Teams message can hold HTML elements such as links, up to about 28 KB. Put the Link to item dynamic content from the SharePoint trigger in the message text.

How do I post a message to a Teams group chat?

Microsoft's "Create a chat" action creates a one on one or group chat, up to 20 users and no guests. Then post with "Post message in a chat or channel" and choose the chat.

Sources