How to manage Microsoft 365 evergreen change with Power Automate

Using Power Automate manage Microsoft 365 evergreen change

Are you effectively managing your Microsoft 365 evergreen change?

The pace of change in Microsoft 365 is rapid as Microsoft constantly delivers new features, updates to enhance customer value and ways to secure the environment better. We all know it is essential to keep on top of this constant flow of changes, but keeping track of the evergreen changes across the multiple different Microsoft 365 services can be challenging.

Microsoft post all change messages in the Microsoft 365 Message Center. However, the Message Center is not a workflow tool, so triaging and tracking the changes is difficult. In addition, people spend too much time manually copying content from Message Center to other applications and notifying stakeholders rather than assessing the change itself!

So how do you remove this manual overhead and automate your Microsoft 365 evergreen change process?

Read on for top tips and guidance on how to sync your Microsoft 365 messages to a Planner board, and then use Power Automate to automate and customise your process. My Power Automate Flow removes those repetitive tasks, giving you more time to focus on the triaging.

Viewing your Microsoft 365 impending changes in the Message Center

Microsoft 365 details all impending changes in the Microsoft 365 and Center under Health > Message Center. Only people with specific admin roles can access the Message Center.

The Message Center messages provide a high-level overview of planned changes and the impact of the change on users and administrators.

Microsoft usually publishes the changes about a month before they are released. So early notification allows you time to review and, if necessary, make changes. In addition, it is common for Microsoft to update the messages to reflect changes in timescales and information. So you must keep checking back regularly.

The Message Center lists all the changes across all solutions. In addition, you can apply filters and searches to view the messages of interest to you.

Message Center functionality

  • Search and filter options
  • Customise view
  • Share Messages via email or link
  • Subscribe to the weekly email digest
  • Use the Microsoft 365 Admin app on your mobile

For more information, view Message center in the Microsoft 365 admin center – Microsoft 365 admin | Microsoft Learn


  • Regular users cannot access the Message Center, so they can’t see the changes.
  • The Message Center is not a workflow solution.
  • Reliant on IT Admins having time to share information with other stakeholders
  • Difficult to hold people accountable for tasks
  • No ability to triage and track the changes

You can address these limitations by using the standard Sync to Planner functionality and adding another Power Automate flow to update the Tasks with additional information. The following sections walk you through how to set it up.

Create a Team to manage your evergreen changes

It is good practice to create a Team to manage Microsoft 365 evergreen changes centrally and to create channels to manage the different workstreams, e.g. User adoption, Security, Microsoft 365 admin etc.

Add a Planner Board to a tab in one of the channels. The message Center sync process will automatically add the changes to this Planner board, so everyone in the Team has access. In addition, this allows regular users to view the impending changes.

💡 Top Tip. Be sure to add all your IT and business stakeholders to the Team so your stakeholders can keep up to date with decisions.

In this scenario, I created a Team called Message Center and separate channels for the different stakeholders.

Add Planner Board

In one of your channels, add a Tab as a Planner Board. New Message Center changes will create a new Planner task. Likewise, update message changes will update the existing Planner task.

In this example, I add a Planner Board called Message Center in the General Channel of the Message Center Team.

Add label names

There are 25 labels you can apply to your tasks. By default, these tasks as labelled as colours. It is essential to update the labels, so you know what they stand for. Otherwise, you just see coloured labels without any context. See the example below of unnamed labels.

Labels showing default text

💡I recommend adding Task labels based on the Services and Tags so you can filter tasks rather than having one long list of tasks. In addition, you can use these labels as conditions in the flow if you have different teams managing different services.

Add a new task.

Select the task to view the detail.

  • Select the label icon
  • Then select the Edit icon next to each label
  • Update the label text

After you have updated the labels delete this dummy task.

I am using the following labels in this example flow.

Pink = New feature
Red = User impact
Yellow = Admin impact
Green = Feature update
Blue = Data privacy
Purple = Major update
Bronze = Retirement
Lime = Updated message
Aqua =
Gray =
Silver =
Brown = Microsoft Teams
Cranberry = Microsoft 365 suite
Orange = Office for the web
Peach = Microsoft 365 Apps
Marigold = Microsoft Viva
Light green = Planner
Dark green = OneDrive/SharePoint
Teal = Exchange Online
Light blue = Yammer
Dark blue = Privileged Access
Lavender = Information Protection
Plum = Identity Services
Light gray = Microsoft Defender
Dark gray = Mobility & Security

Configuring the Message Center sync to Planner

The Planner sync is configured in the Message Center. The Planner sync will automatically create a Power Automate flow to regularly synchronise the changes to your Planner board.

⚠️Important. The account setting up the sync owns the Power Automate Flow. If the admin leaves the organisation, the flow will stop. I recommend setting up the Message Center sync using a service account so it is not dependent on personnel changes.

From the Message Center, Select Planner syncing.

Select the Planner board you are creating in your evergreen change Team and select the bucket for the tasks.

In this example, I select the Message Center board in the Message Center team and add the changes to the default To Do bucket.

💡 Top Tip: If you have just created the Planner Board, it may not appear in the list. Wait an hour and try again.

Choose which changes to sync. ⚠️Important. You can only set up one sync process for your organisation, so select all relevant messages, even if your department is only responsible for a subset of the functionality.

Don’t worry if you have already created the sync for a sub-set of changes such as Teams, and now the other Microsoft 365 service owners also want to use the sync. You can edit the details and add in the other services.

Next, choose which current messages to import. Again, I recommend importing the messages from the last 28 days into your Planner board.

Select Review and then Finish.

The last step of the sync is to define the Flow frequency. 💡I recommend setting a daily frequency, so that flow throttling does not occur.

For detailed instructions, see Track message center tasks in Planner – Microsoft 365 – Microsoft Planner | Microsoft Learn

View the Message Center changes in your Planner Board

The Power Automate runs at the frequency you set, e.g. daily. The flow creates a new Planner task each time there is a new change in the Message Center. Furthermore, the sync will update the existing Planner task when a change is updated.

The example below shows how a new change and an updated change look.

  • The top task is an example of an updated task. The task title shows (Updated) in the text, and the task description includes both a published and last updated date.
  • The bottom task is a new change as the new task description only has a Published date.

Once your changes are in Planner, you can use the workflow functionality to triage the changes. Planner allows you to:

  • Assign the tasks to users
  • Set priorities and due dates
  • Use buckets to structure your tasks, for example, the different assessment stages.
  • Categorise your tasks by adding labels
  • Track progress of the tasks
  • Add notes
  • Attach files and links


The benefits of syncing to a Planner Board are:

  • Easy to set up
  • You can sync all or a subset of the changes.
  • You decide how often you want to sync the changes.
  • The initial sync can import the last 28 days of changes to the Planner.
  • Message Center changes in the Planner Board are accessible by regular users.
  • A planner is a workflow tool that allows you to triage the changes quickly.
  • You can assign tasks to people to provide accountability.
  • The Planner boards have built-in reporting capabilities so that you can keep track of changes.


  • You can only sync to one Planner board. So you cannot send Teams-related changes to one Planner board and Exchange-related messages to a second Planner board. So all stakeholders must work with a single Planner Board.
  • Unlike the Message Center, there is no categorisation of the tasks making filtering and grouping difficult without manual updates. You can only filter or search using keywords.
  • You need to add labels, assign tasks, add checklists etc., manually. This process is time-consuming when you have multiple Message Center changes each day.
  • When the Flow owner’s account is deleted, the flow will stop. So use a service account when setting up the sync.

I address these limitations in the next step by creating a Power Automate flow to automate those manual processes such as adding labels, adding standard checklists, assigning owners and moving tasks to other buckets.

Customise your Planner tasks using Power Automate

This Power Automate process will automate and customise the workflow to meet your business processes. It will remove those repetitive tasks giving you more time to focus on assessing the evergreen changes.

⚠️Important. The account that creates the Power Automate Flow owns the flow. 💡Top tip. Use a service account to create the flow so it is not dependent on personnel changes.

Create an automated cloud flow triggered every time the sync adds a Message Center change to the Planner board.

The flow will apply the following actions automatically:

  • Add labels for the different services and tags
  • Add a standard checklist
  • Assign the task to a user(s) or members of a Team
  • Move a task to another bucket
  • even have different actions depending on the type of change.

The steps below show how the Message Center tasks can up automatically updated. You can adapt this flow to suit your specific business processes.

Create a cloud flow with the trigger when a new task is created

Create a new flow from the Power Automate portal.

Select Automated cloud flow and give your flow a meaningful name.

Trigger = When a new Task is created

  • Group id = Team where the Planner board is located.
  • Plan id = Plan name that you listed in the sync process

Create variables for the Team Id and Channel id

How to find your Team Id and Channel id

This flow sends a summary of changes to a specific Team channel and uses the Team id and Channel id rather than the display names. Use the Ids which as unique, whereas the display names may not be.

This flow also assigns the tasks to all team members of varTeamId Team.

In this scenario, I will send a summary of the changes to the General channel of the Message Center Team. In addition, I am also assigning tasks to the members of the Message Center Team.

You can easily find your Team id and Channel id by selecting the three dots next to the channel and selecting Get link to channel.

Then copy the link to the channel. This link contains both the Channel Id and the Team Id.

Your Team Id is the information shown after groupid=.

Your channel id is the information between channel/ and /Your channel name.

Create variables for the Team Id and Channel id

Add two string variables for the Team Id and Channel id.

Add action = Initialize variable

  • Name = varTeamId
  • Type = string
  • Value = paste in the Team id

Add action = Initialize variable

  • Name = varChannelId
  • Type = string
  • Value = paste in the channel id

Create variable for your domain

Add string variable to store your domain. This is used to form the Task URL which is used in the Teams message.

Add action = Initialize variable

  • Name = varYourDomain
  • Type = string
  • Value = add in your domain e.g.

Create variable for the Planner task URL

Add string variable for the Planner task URL. The task id is appended to the end later. The URL is used in the Teams message.

Add action = Initialize variable

  • Name = varPlannerTaskLink
  • Type = string
  • Value = value below{variables('varYourDomain')}/Home/Task/

Assigning tasks by email address – Create variables for the assignees using email addresses

This flow will assign a task to one or more people using their email addresses. This variable holds the list of one or more email addresses separated by semi-colons. If you assign tasks to different groups of users, create a variable for each group of users.

If you add the email addresses into the flow, you must remember to update the flow as people change roles. ⚠️Important. Ensure the people you assign the task are Team members, so they have complete visibility of the Planner Board and Team activities.

Add action = Initialize variable

  • Name = varEmailaddresses
  • Type = string
  • Value = semi-colon separated list of email addresses

Assigning tasks by the membership of a Team – Create a blank string variable for the Team members

The benefit of assigning Team members to a task is that the membership is managed outside the flow. Therefore the flow does not need to be updated as personnel change.

Create a variable but leave the value blank as it will populate in the following steps.

Add action = Initialize variable

  • Name = varTeamMembers
  • Type = string
  • Value = blank

Get a list of Team members

We need the Team membership for the Team stored in variable varTeamId.

Action = List group members

Group Id = varTeamId

Append each member to the variable varTeamMembers

For each Team member, append their email address followed by a semi-colon to the variable varTeammembers.

Action = Append to String variable

  • Name = varTeamMembers
  • Value = Mail (from get group members step) followed by a semi-colon.

Note. To append each Team member to the variable, an Apply to each step is automatically added.

Get task details

Get the task details so the following steps can search the description.

Action = Get task details

  • Task Id = ID (from When a task is created)

Add a standard checklist to the task

If your triaging process involves common steps, you can add a checklist. In this example, I add a checklist with two steps for an IT assessment and a Business assessment.

Action = Update task details

  • ID = ID (from create a new task)
  • Add first checklist item
    • Checklist id – 1 = 1
    • Checklist Title – 1 = IT Assessment
    • Checklist Is Checked – 1 = No
  • Select +Add new item to add the second item to the checklist
    • Checklist id – 2 = 2
    • Checklist Title – 2 = Business Assessment
    • Checklist Is Checked – 2 = No

If you require more than two steps, select +Add new item.

Add labels to the task

⚠️ Important: Each label condition must align with the label names you added to your Planner. Otherwise, a change related to Teams may end up labelled as Viva.

You can add up to 25 labels to a task. The labels are set using True or false expressions.

I use the Contains expression in this example to check for text strings in the task title or description. The label is set when there is a match.

Action = Update task (V2) preview

  • Task Id = ID (from When a task is created)

For each label, you need to set add a specific Contains expression.

If you want to add labels for the Services, then the Contains expression looks at the task title.

  • Brown label = task title contains the string ‘Microsoft Teams’
                     contains(triggerOutputs()?['body/title'],'Microsoft Teams’)

If you want to add labels for the Tags, then the Contains expression looks at the task description.

  • Pink label = task description contains the string ‘New feature’
               contains(outputs('Get_task_details')?['body/description'],'New feature’)

As there are only 25 tags, you may need to combine some of the services into a single label. n this example, I add a label that looks to see if the task title contains OneDrive or SharePoint.


This is a more comprehensive list of Condition expressions I use for for the labels.

Pink = contains(outputs('Get_task_details')?['body/description'],'New feature')
Red = contains(outputs('Get_task_details')?['body/description'],'User impact')
Yellow = contains(outputs('Get_task_details')?['body/description'],'Admin impact')
Green = contains(outputs('Get_task_details')?['body/description'],'Feature update')
Blue = contains(outputs('Get_task_details')?['body/description'],'Data privacy')
Purple = contains(outputs('Get_task_details')?['body/description'],'Major update')
Bronze = contains(outputs('Get_task_details')?['body/description'],'Retirement')
Lime = contains(outputs('Get_task_details')?['body/description'],'Updated message')
Aqua =
Gray = 
Silver = 
Brown = contains(triggerOutputs()?['body/title'],'Microsoft Teams')
Cranberry = contains(triggerOutputs()?['body/title'],'Microsoft 365 suite')
Orange = contains(triggerOutputs()?['body/title'],'Office for the web')
Peach = contains(triggerOutputs()?['body/title'],'Microsoft 365 Apps')
Marigold = contains(triggerOutputs()?['body/title'],'Microsoft Viva')
Light green = contains(triggerOutputs()?['body/title'],'Planner')
Dark green = or(contains(triggerOutputs()?['body/title'],'OneDrive'),contains(triggerOutputs()?['body/title'],'SharePoint'))
Teal = contains(triggerOutputs()?['body/title'],'Exchange Online')
Light blue = contains(triggerOutputs()?['body/title'],'Yammer')
Dark blue = contains(triggerOutputs()?['body/title'],'Privileged Access')
Lavender = contains(triggerOutputs()?['body/title'],'Information Protection')
Plum = contains(triggerOutputs()?['body/title'],'Identity Services')
Light gray = contains(triggerOutputs()?['body/title'],'Microsoft Defender')
Dark gray = contains(triggerOutputs()?['body/title'],'Mobility & Security')

 Create a Condition step Apply different flows depending on the label

A Condition step allows you to create different actions depending on whether the outcome of a condition is true or false.💡Top Tip: This is useful if you have different teams owning the services so you need to assign the tasks to different users.

💡 Top Tip: Use labels to define the condition. You can also have multiple condition statements. n this example, I am checking to see if the Brown label (Teams) or the Dark green label (OneDrive/SharePoint) = True.

Action = Condition

  • Value = Brown label (⚠️Important. Make sure you select the dynamic content from the Update a task action).
  • Is equal to
  • Expression = true

Add a second row by selecting +Add and Add row

Change the setting from AND to OR. e want the condition to be true if the label is Brown or Dark green.

Add the second condition

Value = Dark green label (⚠️Important. Make sure you select the dynamic content from the Update a task action).
Is equal to
Expression = true

There are two outcomes for the Condition.

  • If the Brown or Dark green labels on the task indicate the condition is true so the outcome is Yes.
  • Otherwise, the outcome is No.

If Yes – Assign a task list of users stored in varEmailAddresses

When the Yes flow is triggered.

In this example, I am assigning the task to specific users stored in the variable varEmailAddresses. ⚠️ Important: if the assigned user is NOT a Team member, then the user will only see tasks allocated to them, they can not see the Planner Board or any activity in the associated Team.

Action = Add assignees to a task

  • Task id = ID
  • Assigned User Ids = varEmailAddresses

If No – Assign a task to Team members stored in varTeamMembers

When the No flow is triggered.

In this example, I am assigning the task to the member Assign the task to the Team members stored in varTeamMembers.

Action = Add assignees to a task

  • Task id = ID
  • Assigned User Ids = varTeamMembers

Send message as User to Team channel

Post a message into a Team channel where the members do not have access to the Planner. Therefore I include the title and the description.

Action = Post message in chat or channel

  • Post as = User
  • Post in = Channel
  • Teams = select a Team from the list
  • Channel = Select a channel from the list
  • Message = Description
  • Subject Add a title for your message and include the Title dynamic content

Example message. Sent as the user

Send message as Flow BoT to Team channel

Post a message into the Team with the Planner . I include the title & link to the task.

Action = Post message in chat or channel

  • Post as = Flow bot
  • Post in = Channel
  • Teams = select a Team from the list
  • Channel = Select a channel from the list
  • Message = HTML is used to format the link with dynamic content. See below
<p><strong>New Message center task</strong><br>
<a href="@{variables('varPlannerTaskLink')}@{triggerOutputs()?['body/id']}">@{triggerOutputs()?['body/title']}</a></p>

Example message showing just the title.

Create a new task in a separate Planner board (not recommended)

⚠️ It is not a good idea to copy tasks to another Planner board as part of the flow, for example, copying a Teams-related task to a separate Teams Planner board, because when a message is updated, the Planner sync updates the existing task rather than creating a new task. However, Power Automate can only be triggered by When a new task is created but not When a task is updated. Therefore you can copy a new change to another Planner board, but tasks can never be updated.


It is essential to keep on top of your Microsoft 365 changes to understand both the admin and user impact; however, this is no simple matter. I have shown you how you can sync your Microsoft 365 change to Planner, a workflow tool that will support your triage processes.

The recommended steps are:

  1. Create a centralised Team that contains all your stakeholders. Then, sync the changes to a Planner board.
  2. Create a Power Automate flow that is triggered when a new Planner task is created.
  3. Customise the flow, so it suits your business needs.

Microsoft Reference

Message center in the Microsoft 365 admin center – Microsoft 365 admin | Microsoft Learn

Track message center tasks in Planner – Microsoft 365 – Microsoft Planner | Microsoft Learn


The rate of change in Microsoft is ever increasing, so it becomes ever more complex to keep up to date with. Watch my Empowering Cloud video on Keeping up with Microsoft Teams Evergreen Change to understand the different options for keeping up to date with the constant flow of changes.

View my Speaking Engagements page to watch recordings of How to manage Microsoft 365 evergreen change with Power Automate.

Download my Power Automate flow Message Center Sync Updates Planner from Github. You can then import my Flow into Power Automate as an Import Package.

Keep Reading