SharePoint Alerts Replacement: Digest Flow

Microsoft retired SharePoint alerts. That little Alert me option your users leaned on for years? Gone. So now everybody wants to know the same thing: how do I let people subscribe to changes in a list or library without it?

There’s a brand-new SharePoint trigger in Power Automate that sends a daily digest of everything that was added or changed. It’s still in preview, and out of the box it only covers one site and one list. However, with a few extra flows, you can turn it into a full SharePoint alerts replacement that lets people sign up for exactly what they care about.

I built the whole thing live on Power Hour, and I promised I’d write down the syntax. So let’s dig in. Here are the step by step instructions and full video at the end.

🔔 What the new digest trigger actually does

The trigger is called Recurring digest of updates. You point it at a site and a list or library, and it emails you a table of what changed. Each row includes a link, the modified date, who modified it, and who created it.

Outlook email from Laura Rogers listing Health and Safety, HR Welcome document, and Project Request Form.

That’s genuinely useful. But one flow per list gets old fast, and there’s no way for your users to subscribe themselves. That’s the gap that this SharePoint alerts replacement fills.

📬 Start your SharePoint alerts replacement with the template

Go to Templates in Power Automate and search for digest. Look for the one with the SharePoint icon: Digest of SharePoint activity. Give it a generic name like Digest of SharePoint Activity.

Power Automate templates filtered for “digest,” with “Digest of SharePoint activity” highlighted

Why does the template matter so much? Because it already does a pile of work for you:

  1. It gets your profile (so that it knows your email address)
  2. It grabs your time zone and converts for you.
  3. It builds a Select action with the five columns that show up in the email.
  4. It runs Create HTML table on that output.
  5. It composes a full CSS style sheet for the table.
  6. It sends the email to you, styled and ready.

For my Recurring digest of updates, my trigger contains an accounting site, and a library called Documents, which are both important to remember in later steps.

Power Automate workflow: recurring digest, profile retrieval, timezone initialization, data selection, HTML table creation, composition, and email sending.

🎨 If you know CSS, that Compose action is where you’d tweak the look.

Checkpoint: Create the template flow once, on one site, pointed at one library. This flow becomes the master copy for your whole SharePoint alerts replacement. Mine used a Documents library, and I reused the word documents everywhere on purpose. You’ll see why.

🧩 The four pieces of my SharePoint alerts replacement

My full SharePoint alerts replacement has two SharePoint lists and three flows:

  • All Lists and Libraries (list) — every list and library on the site, with its GUID
  • Subscribe to Alerts (list) — the sign-up form your users fill out
  • Get all lists and libraries (flow) — keeps that first list current
  • Digest of SharePoint activity (flow) — the perfected template, used as a master copy
  • Create Flows (flow) — the complex one that clones the master for every list and library

Let’s take them one at a time.

📋 Piece 1: The list of all lists and libraries

A SharePoint alerts replacement is only as good as its sign-up form. Users can’t subscribe to a library if they can’t pick it from a dropdown. So I created a list called All Lists and Libraries with two columns: Title and GUID.

Then I built a simple flow on a weekly recurrence. It uses the SharePoint action that returns every list and library on a site. Next, it loops through them and creates an item for each one. Title gets the display name, and GUID gets that long cryptic Name value.

Here’s my favorite little trick. On the GUID column in the list, turn on the setting Enforce unique values. After that, SharePoint itself blocks duplicates. Then set the Create item action to continue on failure, so existing entries just error quietly and the flow moves on. Only new lists get added.

Power Automate workflow showing SharePoint list retrieval, item creation, and compose steps

The only reason for the Compose action, is that I used it as a placeholder for the run after setting:

Compose Settings screen showing Run after options for a SharePoint Create item action

✍️ Piece 2: The sign-up list

Next comes Subscribe to Alerts. It’s just a list with two columns:

  • Alert Type — a choice column with new items, modified items, or both
  • ListorLibrary — a lookup column pointed at the All Lists and Libraries list – It’s important that you give it a simple name like this with no spaces, it’s going to be used in the third piece next.

Your users click New, choose what they want, and they’re done. You could keep it simple and not ask them if they want new or modified, and just give them both by default. I didn’t build two different flows, but potentially for each list and library you could create two different flows, one for only new and one for only modified. That adds a lot of complexity that is NOT in this solution I built.

🛠️ Piece 3: Teach the master flow who to email

Now go back into that template flow (“Digest of SharePoint Activity”), because this is the heart of the SharePoint alerts replacement. By default it only emails the person who created it. We want it to email everyone who subscribed.

I removed the Office 365 users (orange) action that gets the user’s profile.

I added three things:

1. Initialize variable — a string called varEmails.

2. Get items — pointed at the Subscribe to Alerts list, with an OData filter like ListorLibrary/Title eq 'Documents'. This will retrieve only the items in the subscribe list where people subscribed to the list or library that the flow is iterating through.

Power Automate SharePoint workflow showing Get items configured for the Subscribe to Alerts list with a highlighted filter query

3. Append to string variable — inside an Apply to each, appending the Created By email with a semicolon after.

Then in Send an email, for the TO, I added the varEmails variable. Semicolon-delimited strings work fine there.

One more detail matters enormously. In the email subject, I wrote:

ThisCoolSite digest of changes from Documents.

Checkpoint: The word Documents now appears in three places: the trigger, the Get items filter, and the email subject. One find and replace will update all three at once. That consistency is what makes the whole SharePoint alerts replacement copyable.

🤖 Piece 4: The Create Flows flow

This is the complicated part of the SharePoint alerts replacement, and it’s also the payoff. This flow takes your master flow and clones it for every list and library on a site.

I named my flow Create flows. Start with a manually triggered flow and two text inputs: Site URL and Site Name.

Power Automate flow showing SharePoint list and library retrieval steps

Then

1. Initialize variable — an Object variable to hold the new flow definition. Name it varJSON

2. Get Flow — pick your environment and your master Digest of SharePoint activity flow.

3. Compose — wrap the flow definition in single quotes to convert it to a string. You can’t run find and replace on JSON, so it has to be text first. I renamed mine Flow definition JSON to string

Flow definition JSON to string interface showing Parameters tab and Flow Definition input

4. Get all lists and libraries — pointed at the Site URL from your trigger.

5. Four compose actions with find and replace expressions— site URL, site name, then in the loop there are the list GUID, and list name. The URL in here that you see in the screenshot that I’m replacing is that original accounting site that I used when creating the flow from the template. The triggerbody reference is to the Site url input in the Manually trigger a flow.

Find and replace site interface displaying a Power Automate expression with SharePoint workflow code

6. Set variable — Set that varJSON variable. Since the action right above it is called Find and replace list name, that’s what I use when converting back to JSON.
json(substring(outputs(‘Find_and_replace_list_name’),1,sub(length(outputs(‘Find_and_replace_list_name’)),2)))

7. Create Flow — name it, pass the definition, set the state to Started. This is the part that gave me the most trouble. The Connection References was the hardest to get functioning properly. As you can see in the video, I ran the flow, got the raw data from the “get flow” action, copied the connection reference section to the clipboard. Then you’ll still get an error, so you have to clear out the “logical name of the connection reference” for each of your connections.

Microsoft Power Automate flow editor showing a Create Flow action inside a For each loop

8. Reset variable — clear it out at the end of each loop, just to be safe.

The Loop

Steps 5 through 9 live inside an Apply to each over your lists and libraries.

Workflow showing Find and replace site name, For each, find and replace list guid, Find and replace list name, Set variable JSON, Create Flow, and Set variable to null.

Now, about those find and replace actions. Technically you could nest them all into one giant expression. However, I broke them into separate actions so you can actually troubleshoot them. Each one has to reference the previous one, not the original string. In other words, they stack: replace the site, then feed that output into the site name replace, then feed that into the GUID replace, and so on. Miss that chain and your last replacement silently wipes out the earlier ones. Get it right, and the rest of the SharePoint alerts replacement just works.

When you run this flow, give it the URL and name of a site, it iterates through all lists and libraries on that site, and creates a flow for a digest of each one!

⚠️ SharePoint alerts replacement quirks to expect

Remember, the trigger behind this SharePoint alerts replacement is still in preview. So a few things are still rough:

  • The When to run field shows an asterisk, and the dropdown throws an error. Leave the asterisk alone.
  • There’s no run button on these digest flows. You can’t test on demand, so you wait for them to run.
  • The best practice is always to create your flows in a solution. A SharePoint alerts replacement generates a lot of flows, and mine got messy fast.

Wrap Up

There’s the video down below, to watch every step and all of the little nuances. Also, here are a couple of resource links:

Resources

Microsoft: SharePoint Alerts retirement | Microsoft Support

My related post: Run Power Automate as Part of a SharePoint Site Design – WonderLaura @iwmentor – Laura Rogers

❓ FAQs

What happens if someone doesn’t have permission to the list?

They’ll still receive the digest email with item names and editors. However, the links won’t open for them.

How do people unsubscribe?

I didn’t automate that. For now, delete their item from the Subscribe to Alerts list.

Can I send separate emails for new items versus edits?

Yes. Build two master flows for each list and library, one with Include edits set to No, and filter on the Alert Type column.

🎯 Go build it

Alerts aren’t coming back. Still, this SharePoint alerts replacement gives your users something better: a clean, styled daily digest they choose for themselves. Pretty cool, right?

Want to go deeper? My Power Automate Advanced course at IW Mentor is about nine hours of exactly this kind of thing.

And if you want to watch these builds live, join me at Power Hour every Wednesday at 11am Central. Vote on the topic through the newsletter the day before.

Here's my walkthrough video:

Leave a Reply