# Post to Teams when a SharePoint list item changes

> For the full documentation index, see https://250highstreet.com/llms.txt

> Build a Power Automate flow that posts a Teams message when a SharePoint list item is added or changed, with a field condition and ways to avoid message floods.

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](/guides/late-tasks-nobody-notices/)". For a general view of keeping a team informed, see "[One place for team updates](/guides/one-place-for-team-updates/)".

## Before you start

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

- Which list. You need the site address and the list name.
- Which event. A new item only? Or any change? Or only one kind of change, such as Status moving to "Blocked"?
- Where the message goes. A team channel, or a chat with one person or a small group.
- Who the message appears from. Step 4 covers this.
- Check with your admin. Your organization may limit which connectors you can use, or limit the Teams app that flows depend on. If a step below is missing on your screen, ask your admin before you spend time on it.

## 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:

- "When an item is created". It triggers when an item is created. Use it when you only want to hear about new items.
- "When an item is created or modified". It triggers when an item is created, and also each time it is modified. Use it when you want to hear about changes too.
- "When an item or a file is modified". It triggers when an item is modified, but not when it is created.

Each of these asks for the same main settings:

- Site Address. Pick your site from the list, or paste the address. An example on the Microsoft page looks like [https://contoso.sharepoint.com/sites/sitename](https://contoso.sharepoint.com/sites/sitename).
- List Name. Pick your list.
- Limit Columns by View (optional). Microsoft says this helps avoid column threshold issues by only using columns defined in a view.

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:

- It looks at the value the item has now. It does not tell you the value was different before. If someone edits another field on a Blocked item, the condition is still true and a message may go out again.
- Choice fields work best here, because the values are fixed. Free text is easy to mistype.

## 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:

- Post as. This is required. The page names two choices: "Flow bot" and "User".
- Post in. This is required. You pick where the message goes, such as a chat or a channel.
- The message itself. Fill in the message in the card that opens after you choose where to post.

Who it posts as matters:

- "Flow bot" posts as a bot. People see that the message came from the flow, not from a person. One way to start is Flow bot for alerts, because it is clear that the message is automatic.
- "User" posts as the person who owns the flow's Teams connection. People may read the message as coming from that person, and if that person leaves, the connection can stop working. Use this only when you want it to look personal.
- Microsoft's page notes that in government cloud tenants the Flow bot option can fail, and suggests the User option there. Check with your admin if this applies to you.

Other limits from the same Microsoft page:

- Posting a message or card to a private channel is not currently supported. Use a standard channel or a chat.
- A message can be about 28 KB in size, including HTML. Larger messages fail. A short alert never gets near this.
- A single message can @mention up to 20 users and 20 tags.
- The action needs the Workflows app (formerly Power Automate) to be available and allowed in the Teams admin center. If it is blocked, ask your admin.

## Chat, channel or group chat

- Channel. The whole team sees the post. Use a standard channel, because of the private channel limit above.
- Chat. A direct message to one person.
- Group chat. A small set of people in one conversation. Microsoft's "Create a chat" action "Creates a one on one or group chat", handles a maximum of 20 users per chat, and has no support for guest users.

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:

- Line 1: the Title of the item, in bold.
- Line 2: the Status, and the person it is assigned to.
- Line 3: the due date, if the list has one.
- Line 4: a link to the item.
- To @mention a person, Microsoft lists the Teams action "Get an @mention token for a user", which "Creates a token that can be inserted into a message or adaptive card to @mention a user." Add it before the post action and put its token in the message.
- For a link, Microsoft says the 28 KB message size limit "includes all HTML elements", and the page lists links among them, so a message can carry a link to the item.

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:

- Keep it to four lines or fewer.
- Put the item name first so people can scan.
- Use a plain word for the event, such as "New" or "Updated", so people know why they got it.
- Include a link. Look in the dynamic content list for Link to item. If you cannot find one, paste in your list address and add the item ID.
- Do not put private details in the message. A channel can have many readers. Send a short alert and let people open the item, where list permissions apply.

## 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:

- Use a Condition. Post only for the values that need attention, such as "Blocked" or "High".
- Pick the right trigger. If you only need new items, use "When an item is created".
- Post to one place. Do not send the same alert to a channel and to five people.
- Edit in batches with care. If someone changes 50 rows at once, the flow can run 50 times and post 50 messages. Tell people before they do a bulk edit, or turn the flow off for that time.
- Be careful about flows that change the list. If another flow, or this one, updates the same list item, that update counts as a change and can trigger the flow again. Keep any list update in this flow out of the fields your Condition watches.
- Review after two weeks. Ask the team: too many, too few, or right? Change the Condition to match.

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](/guides/what-a-sharepoint-tracker-costs/)". Bring one example of the problem to a free call.

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](/portfolio/)

## 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

- [Microsoft Learn, SharePoint connector (triggers "When an item is created", "When an item is created or modified", "When an item or a file is modified")](https://learn.microsoft.com/en-us/connectors/sharepointonline/)
- [Microsoft Learn, Microsoft Teams connector ("Post message in a chat or channel")](https://learn.microsoft.com/en-us/connectors/teams/)
- [Microsoft Learn, Get started with triggers in Power Automate](https://learn.microsoft.com/en-us/power-automate/triggers-introduction)
- [Microsoft Learn, Add a condition to a cloud flow in Power Automate](https://learn.microsoft.com/en-us/power-automate/add-condition)
- [Microsoft Learn, Limits of automated, scheduled, and instant flows](https://learn.microsoft.com/en-us/power-automate/limits-and-config)

## Related guides

- [Run a flow only when one column changes](/guides/power-automate-trigger-when-specific-column-changes/)
- [Recurring task reminders for a team](/guides/recurring-task-reminders/)
- [See who changed a row: SharePoint version history](/guides/who-changed-this-row/)

Source: https://250highstreet.com/guides/teams-message-from-sharepoint-list/
