How to create an automated, chat-based team availability system using Power Automate and Microsoft Teams

Efficiently managing and communicating team availability in a hybrid world is crucial for smooth operations in any organization. This guide will show you how to create an automated yet interactive system for tracking and communicating the availability of general staff members using Power Automate, Microsoft Teams, and SharePoint.

Step 1: Understanding the Business Process

  • Weekly Availability Surveys: Each Friday, staff members receive a personalized survey through a Teams chat message to submit their availability for the following week.
  • Confirmation and Preview: Upon submission, staff members get a confirmation message and a preview showing the team’s availability as of the time they submitted their own.
  • Comprehensive Monday Update: On Monday, everyone receives a complete overview of the team’s availability for that week, helping them make the most of everyone’s availability.

Video demonstration

The following video will demonstrate steps 2-3 (building the SharePoint list, and walking you through the Power Automate flow).

Step 2: Setting Up SharePoint

  • Create a SharePoint List: Establish a SharePoint list for logging staff availability. Ensure it’s accessible to all staff members who will be participating and/or reviewing availability of teammates. It needs:
    • A person column type for Employee
    • 5 single line of text columns – one for each weekday. In my demo, I’ve repurposed and renamed the default Title column for Monday.
The supporting SharePoint list upon creation | Click to enlarge
  • Manage Permissions (optional): Assign appropriate permissions to staff members to view and edit the availability list. In order for someone to submit their availability via the chat request, they’ll need Contribute or Edit access at least. If you added the list to a site accessible to all relevant team members, they already have access to edit the list by default.

Step 3: Automating with Power Automate

  • In-Office Status Survey Flow:
    • Trigger: Schedule to run every Friday at 10:00 AM.
    • It should first gather data from the SharePoint list (Get items) to know whom to ask for their availability
    • Before asking an employee for their availability, I use the following in my Update item step’s Monday, Tuesday, Wednesday, Thursday, and Friday fields to reset them each week:
⏳ Requested
  • Post an Adaptive Card : The chat message to each employee uses the ‘Post an adaptive card and wait for a response’ action. For the Message of the adaptive card step, utilize the provided JSON below. The only thing you’d want to update is the company logo URL to include your own. You could also adjust things like ‘Telework’ to ‘Work from home’ or any other verbiage you choose.
{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.3",
    "msTeams": {
        "width": "full"
    },
    "body": [
        {
            "type": "ColumnSet",
            "columns": [
                {
                    "type": "Column",
                    "width": 5,
                    "items": [
                        {
                            "type": "TextBlock",
                            "text": "Good morning!",
                            "weight": "Bolder",
                            "size": "Medium",
                            "style": "heading"
                        },
                        {
                            "type": "TextBlock",
                            "text": "Let us know where you'll be working next week so we know how best to collaborate with you.",
                            "isSubtle": true,
                            "wrap": true
                        }
                    ]
                },
                {
                    "type": "Column",
                    "width": 1,
                    "items": [
                        {
                            "type": "Image",
                            "url": "https://i0.wp.com/natechamberlain.com/wp-content/uploads/2022/08/cropped-Nate-Chamberlain-logo-icon-e1661192398264.png",
                            "altText": "Company Logo",
                            "size": "auto"
                        }
                    ]
                }
            ]
        },
        {
            "type": "Container",
            "items": [
                {
                    "type": "ColumnSet",
                    "columns": [
                        {
                            "type": "Column",
                            "width": 33,
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "text": "Monday",
                                    "wrap": true,
                                    "weight": "Bolder",
                                    "horizontalAlignment": "Center"
                                },
                                {
                                    "type": "Input.ChoiceSet",
                                    "choices": [
                                        {
                                            "title": "In office",
                                            "value": "🏢 In office"
                                        },
                                        {
                                            "title": "Telework",
                                            "value": "🏠 Telework"
                                        },
                                        {
                                            "title": "Leave",
                                            "value": "🌴 Out of office"
                                        }
                                    ],
                                    "placeholder": "Select",
                                    "style": "expanded",
                                    "id": "Monday",
                                    "isRequired": true,
                                    "errorMessage": "Please make a selection"
                                }
                            ]
                        },
                        {
                            "type": "Column",
                            "width": 33,
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "text": "Tuesday",
                                    "wrap": true,
                                    "weight": "Bolder",
                                    "horizontalAlignment": "Center"
                                },
                                {
                                    "type": "Input.ChoiceSet",
                                    "choices": [
                                        {
                                            "title": "In office",
                                            "value": "🏢 In office"
                                        },
                                        {
                                            "title": "Telework",
                                            "value": "🏠 Telework"
                                        },
                                        {
                                            "title": "Leave",
                                            "value": "🌴 Out of office"
                                        }
                                    ],
                                    "placeholder": "Select",
                                    "style": "expanded",
                                    "id": "Tuesday",
                                    "isRequired": true,
                                    "errorMessage": "Please make a selection"
                                }
                            ]
                        },
                        {
                            "type": "Column",
                            "width": 33,
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "text": "Wednesday",
                                    "wrap": true,
                                    "weight": "Bolder",
                                    "horizontalAlignment": "Center"
                                },
                                {
                                    "type": "Input.ChoiceSet",
                                    "choices": [
                                        {
                                            "title": "In office",
                                            "value": "🏢 In office"
                                        },
                                        {
                                            "title": "Telework",
                                            "value": "🏠 Telework"
                                        },
                                        {
                                            "title": "Leave",
                                            "value": "🌴 Out of office"
                                        }
                                    ],
                                    "placeholder": "Select",
                                    "style": "expanded",
                                    "id": "Wednesday",
                                    "isRequired": true,
                                    "errorMessage": "Please make a selection"
                                }
                            ]
                        }
                    ],
                    "bleed": true
                }
            ]
        },
        {
            "type": "Container",
            "items": [
                {
                    "type": "ColumnSet",
                    "columns": [
                        {
                            "type": "Column",
                            "width": 33,
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "text": "Thursday",
                                    "wrap": true,
                                    "weight": "Bolder",
                                    "horizontalAlignment": "Center"
                                },
                                {
                                    "type": "Input.ChoiceSet",
                                    "choices": [
                                        {
                                            "title": "In office",
                                            "value": "🏢 In office"
                                        },
                                        {
                                            "title": "Telework",
                                            "value": "🏠 Telework"
                                        },
                                        {
                                            "title": "Leave",
                                            "value": "🌴 Out of office"
                                        }
                                    ],
                                    "placeholder": "Select",
                                    "style": "expanded",
                                    "id": "Thursday",
                                    "isRequired": true,
                                    "errorMessage": "Please make a selection"
                                }
                            ]
                        },
                        {
                            "type": "Column",
                            "width": 33,
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "text": "Friday",
                                    "wrap": true,
                                    "weight": "Bolder",
                                    "horizontalAlignment": "Center"
                                },
                                {
                                    "type": "Input.ChoiceSet",
                                    "choices": [
                                        {
                                            "title": "In office",
                                            "value": "🏢 In office"
                                        },
                                        {
                                            "title": "Telework",
                                            "value": "🏠 Telework"
                                        },
                                        {
                                            "title": "Leave",
                                            "value": "🌴 Out of office"
                                        }
                                    ],
                                    "placeholder": "Select",
                                    "style": "expanded",
                                    "id": "Friday",
                                    "isRequired": true,
                                    "errorMessage": "Please make a selection"
                                }
                            ]
                        },
                        {
                            "type": "Column",
                            "width": 33
                        }
                    ]
                }
            ]
        }
    ],
    "actions": [
        {
            "type": "Action.Submit",
            "title": "Submit"
        }
    ]
}
  • Get the updated list of availability (Get items 2) including the new response, making sure to use the following filter query to only get rows where people have responded for the coming week:
Title ne '⏳ Requested' and Title ne null
  • After someone responds, they’ll get a chat preview of the whole team’s availability for the week.
  • In-Office Status Results Flow:
    • Trigger: Schedule to run every Monday at 9:00 AM.
    • This flow compiles survey responses into an HTML table (similar to how we did the first flow) and distributes it to the team via a Teams group chat message where they can ask follow-up questions, provide additional context, coordinate meetings, etc.
    • Important – Exclude the Sender: The sender/owner of the flow should not be included in the Monday communication to recipients (assuming they’re using their credential to connect for that step in the flow). Since they’re the one connecting to Teams via Power Automate, they’re already included in the eventual group chat. Attempting to include them will result in an error.

Conclusion

By following these steps, you can set up a streamlined and automated process to manage the availability of your team. This system not only saves time but also ensures clear and consistent communication among all staff members.

Use Power Automate to create a Planner task whenever an item is added to a SharePoint list

My newest video demonstrates how you can create a task in Planner whenever an item is added to a SharePoint list. In my example, I’m assigning Planner tasks whenever a new IT Support Request comes in.

For this to work, you’ll need:

  • A SharePoint list
  • A Planner plan for your team to share

How to automate Planner task creation based on SharePoint list additions

  1. Prepare your SharePoint list (any columns you’re tracking)
  2. Prepare your Planner plan (set up buckets, labels, etc. as you wish)
  3. Create the Power Automate flow following steps in my video.
    • Type and trigger: Automated when an item is created (SharePoint)
    • Second/last step: Create a task (Planner)
      • Expression used to set due date a week after creation: addDays(triggerOutputs()?[‘body/Created’],7)
The flow I build in the video | Click to enlarge

How to delete and restore a list in SharePoint Online

When you’re finished using a list in SharePoint Online, you may wish to delete it. Sometimes you’re at the end of a project and have no need to keep the list’s information, and other times you may have just been testing out capabilities and are ready to clean up.

Note
You must be a site owner or site member to delete a list by default. List permissions can be changed, however, so that even as a member you may not have the ability. Check with your site’s owner if you’re running into an issue when following these steps.

Delete a SharePoint list

To delete a list in SharePoint Online, follow these steps:

  1. Go to the list you wish to delete
  2. Select the settings wheel in the upper right corner, then List settings.
  3. Select Delete this list and click OK when prompted in your browser.
Location of Delete this list option | Click to enlarge

Restore a previously deleted SharePoint list

Items, including lists, remain in your site’s recycle bin for 93 days once deleted. Site owners have access to a second-stage recycle bin from which they can restore “double deleted” items (when someone empties the main recycle bin, or deletes a specific item from it).

As long as you’re within the 93-day window, follow these steps to restore a SharePoint list:

  1. Go to your site’s Recycle bin (may be on the navigation menu, or in your Site contents (settings wheel in upper right > Site contents).
  2. Select the deleted list
  3. Choose Restore
Steps to restore a deleted SharePoint list | Click to enlarge

Here’s a video demonstration of the deletion and restoration process for SharePoint lists:

How to Alternate Request Assignment to Responsible Persons for various categories

animals birds feathers flamingos

I had a unique challenge recently to alternate assignment of requests (tracked in a SharePoint list) to individuals as they were created. User #1 would get requests 1, 3, 5, etc. and User #2 would get requests 2, 4, 6, etc. To make it more interesting, different pairs of experts might be assigned to different request topics, and sometimes a single individual would be responsible for a particular topic. The overall idea, though, was a somewhat evenly dispersed workload given quickly and efficiently to those who were responsible for those request areas.

One (less than ideal) option to accomplish this is to use a Get Items (SharePoint) step on the requests list with a Top Count of 1 and Order By OData query (Created desc) for the most recently created request, see who the assignee is, and then assign to the other person in that category’s assignee field (when applicable). But I needed something that was better-performing, sophisticated, simpler in design, and not dependent on any historical items in case they were deleted, re-assigned, etc.

So, to determine the assignment as requests randomly trickle in over time, I decided to have Power Automate determine whether a new request’s ID number (auto-generated by SharePoint) is odd or even. Odd requests would go to the first assignee of a subcategory, and even would go to the last. If there was only one assignee in a category, they’re both the first and the last so it still works.

A general good practice when building flows is to make sure you don’t put a particular assignee’s identity explicitly in a variable, task, or email step. For example, you wouldn’t want to put user #1’s email directly in an Outlook email step’s To line. This makes sure that if an employee leaves the company, that the flow won’t need a revision. Instead, I created a list in the team’s SharePoint site with request categories, sub-categories, and responsible persons. My flow refers to this list each time it needs to make an assignment, making sure it has up-to-date contacts for each subcategory.

Example of a request categories list | Click to enlarge

The managers of the process keep this updated with no more than two assignees per subcategory. This way, when new employees join, the list gets an update for what subcategories they’ll be handling, and the flow continues without a hiccup.

What you’ll need to build this solution

Overall, for this process to work, you’ll need:

  • A list of request categories with these columns:
    • Category (choice)
    • Subcategory (text or choice)
    • Assignees/Responsible (person with multi-select enabled)
  • A list of requests (submitted via a SharePoint form, Microsoft Forms form via Power Automate, or Power Apps app via Power Automate)
    • I’d recommend Power Apps if you have the time and resources – this way your choices (categories and subcategories) in the form can be dynamic (only have to be managed in one place) and reference your categories list without granting access to the main request list, or even the SharePoint site, itself
    • Consider adding additional fields for your assignees like Notes, Status, Priority, etc. for them to add additional context, reminders, and status updates as they work the requests
  • The Power Automate flow for assignment determination

How to build a flow that assigns tasks evenly and by category

The following video will walk you through the necessary components to build this flow in Power Automate. The result will dynamically assign tasks to responsible persons based on categories they’re responsible for, as well as alternating tasks to help distribute workloads more evenly within each category.

Ideas to enhance your categories list with additional fields for different assignment scenarios

Consider taking this concept further by adding additional columns to your categories list. Things like:

  • Sequential assignment (Yes/No) – Assign to the first person in the multi-select person field and if they don’t mark it complete within 2-3 days, add the second person as an assignee.
  • Assign to all (Yes/No) – Maybe some subcategories should have all assignees involved in the resolution. A simple checkbox would have the flow assign to both (when applicable).
  • Request specific assignment (Yes/No) – Not everything can be randomly or evenly assigned. You may wish to choose on a case-by-case basis. Set your flow up to send an adaptive card to the process manager(s) asking for selection of an individual for each request that comes in with this Yes/No checked.

How to rename the Attachments column in SharePoint lists

photo of purple paper clip on green background

Lists in Microsoft Lists (your own or those in SharePoint) offer a great way to store and manage data. One useful feature is the ability to add attachments to list items – think photos in maintenance requests, or screenshots in IT Support requests. The Attachments column is built into every list automatically (though it can be disabled if you’d like). However, you might want to rename this column to something more descriptive or relevant to a particular business process such as Supporting Documentation or Content for Review. Or maybe you’d just like to match the naming conventions or style guide recommendations already used in your organization.

Unlike other columns, the attachments column cannot be deleted or renamed using the list settings page, or by using the column header menu when viewing the list. However, you can rename the attachments column by modifying the URL of the generic column settings page, as described in the following section.

How to rename the attachments column in SharePoint lists

  1. Go to the SharePoint list for which you’d like to rename the Attachments column.
  2. Click on the settings (gear) icon and select List settings.
  3. Scroll down to the Columns section on the List settings page and click on any column name listed.
  4. In your browser’s address bar, replace the selected column’s name in the URL with Attachments after &Field= and press Enter to navigate to the column settings for the attachments column. Here, you’ll rename the column in the Column name box.

https://yoursite.sharepoint.com/_layouts/15/FldEditEx.aspx?List=%7BYourListID%7D&Field=Attachments

Demonstration of step 4 | Click to enlarge
  1. Click OK to save your changes.

Please note that some of the new list templates (Employee onboarding, Issue tracker, Content scheduler, etc.) come with the Attachment column already renamed to something else, but you can still get to its settings page by using Attachments for its field name in Step 4’s URL.

See a video demonstration of this process here:

In this blog post, I have shown you how to rename the attachments column in SharePoint lists. I hope you found this helpful. If you have any questions or comments, please feel free to leave them below.

How to move the Attachments field on a SharePoint new item form without using Power Apps

SharePoint enables us to collect information in ways beyond paper forms or even digitized Word or PDF forms. As we use it for more processes, you’re likely to run into situations where you wish for a higher level of customization but don’t want to go so far as using Power Apps for a simple need. One such need, as suggested by Jacqueline Vo on LinkedIn, was for moving the Attachments field on the default SharePoint form. And in this post, we’ll do just that.

Want to remove it altogether? Check out How to remove the attachments field from a SharePoint list’s new item form.

Introduction

By default, the attachments field is always at the bottom of the SharePoint new item form. However, there may be cases where you want to move the attachments field up to improve the flow of data entry or consumption. For example, if you are creating a reimbursement request, you may want to enter the request title and description, upload receipts, and then describe the receipts and amounts after.

How to rearrange fields on the SharePoint new item form using JSON

  1. Click the New button in the SharePoint list where you want to move the attachments field up.
  2. Click the Edit form button in the upper right corner of the form.
  3. Click Configure layout.
Location of the new form’s Configure layout option | Click to enlarge
  1. Select Body from the dropdown menu and paste the JSON code (see below) into the JSON editor
The Configure layout panel for the form body section | Click to enlarge
  1. Replace the sample column names in the JSON code below with your own columns’ display names.
  2. Click Save.

Important: Copy + Paste, then update for your own column names

Replace the sample column names in the JSON code below with your own column names. Be sure to use the column’s display names (how they appear as column headers and field names on the form), not their internal names. If the display name of the column changes at some point, your JSON will need updated as well or mismatched columns will be placed at the bottom.

The following two sections will give you two examples of ways you can use this method to customize your form:

  • One basic, three-section form layout
  • One four-section form layout with section headers

Without Section Headers

Here is an example of the JSON code you might use to simply rearrange the fields on the form into three sections – particularly, in our example, the Attachments column into a middle section:

{
    "sections": [
        {
            "displayname": "",
            "fields": [
                "Title",
                "Description"
            ]
        },
        {
            "displayname": "",
            "fields": [
                "Attachments"
            ]
        },
        {
            "displayname": "",
            "fields": [
                "Category",
                "Priority",
                "Due Date"
            ]
        }
    ]
}

Here’s an example of how this code, with a few additional columns, might look. Notice I added an Images column in the same section so all “attachment-like” content is done in one spot on the form.

JSON-formatted SharePoint form with Attachments in a middle section | Click to enlarge

With Section Headers

Here is an example of the JSON code you might use to customize a SharePoint new item form that includes section headers to help break the form into four logical groupings. The main difference is the inclusion of a value (the heading) between the double quotes that follow "displayname":

{
    "sections": [
        {
            "displayname": "Trip description",
            "fields": [
                "Reason for travel",
                "Requester",
                "Destination",
                "Travel start date",
                "Travel end date"
            ]
        },
        {
            "displayname": "Documentation",
            "fields": [
                "Attachments"
            ]
        },
        {
            "displayname": "Airfare",
            "fields": [
                "Airline",
                "Estimated airfare"
            ]
        },
        {
            "displayname": "Hotel",
            "fields": [
                "Hotel",
                "Estimated hotel cost"
            ]
        }
    ]
}

Here’s a visual example of how this form might look. Notice the attachments field is now below the Trip description section, but above Airfare.

A customized form and its JSON formatting | Click to enlarge

Working with additional columns and sections

The examples provided above will get you started – but you may want more than three or four sections, or have fewer or more columns in your list. Here are some general tips for adjusting this code to suit your needs:

Basically, each additional column must:

  • Be inside double quotes
  • Be separated from the next column by a comma
  • The last column listed in a section doesn’t need a comma after its quotes

And each section must:

  • Start with "sections": [ { "displayname": "Optional section name", "fields": [
  • And end with ] }
  • Have a comma between each section’s code (except after the last one)

Also keep in mind that columns added later, or left out of the code, will be added to the bottom of your form automatically. Don’t forget to update your code to place it in the section you’d like.

Why do I need sections if I just want all fields in one?

If you’re not working with the Attachments column specifically, you can bypass the JSON code altogether and simply use the Edit columns feature to rearrange, show, and hide columns as you please. The attachments column will always appear last in this case.

But moving the Attachments field within the form requires that you place it in a section strategically. Simply listing it in a specific order all in one section will still place it at the bottom of your form as seen here. On the right, it’s listed in the code in the middle, but since it’s in the same section as all other fields, it still gets placed at the bottom due to the column ordering (Edit columns settings) taking precedence.

A single-section form demonstrating column order taking precedence over formatting | Click to enlarge

This is a good thing, really, because your want your JSON formatting to cooperate with the column ordering functionality for easier updates later. In other words, you and your colleagues can reorder, show, and hide columns as you normally would using the Edit columns option on the form and your JSON sections will still be respected. You’d simply be rearranging the fields within each respective section you set up in the code.

Edit columns option for adjusting column order and visibility | Click to enlarge

So, if you only want to move the Attachments column, consider an approach like the first example in this post: Section 1 is a few general fields, Section 2 is only Attachments, and Section 3 is the rest of the fields. Don’t use any headers, and your form will still feel like a single-sectioned form.

Conclusion

In conclusion, I have shown you how to move the attachments field up on a SharePoint new item form using JSON. This technique can be used to rearrange all of the columns on the form into as many, or as few, sections as you want. Just remember that you need at least three sections if you intend for Attachments to be somewhere in the middle. If you want to learn more about customizing SharePoint forms, check out Configure the list form | Microsoft Learn.

How to remove the attachments field from a SharePoint list’s new item form

If you’ve ever tried to create a new item on a SharePoint list, you may have noticed that the form always includes an Attachments field that can’t be hidden like other columns. If your process doesn’t require attachments or you’d like to prevent users from uploading documents to the list, you’re likely wondering how to get past this obstacle.

End of a SharePoint form with the Attachments field | Click to enlarge

Note
Be aware that if users previously utilized the Attachments field, this action would delete all attachments they’ve already uploaded on all list items.

In this post, I’ll highlight the 5 simple steps involved in removing the attachments field for a list’s new item form.

How to remove the attachments field from a list’s new item form

  1. Click Settings | List Settings
Location of List settings | Click to enlarge
  1. Select Advanced settings
Location of Advanced settings in List Settings | Click to enlarge
  1. Set the Attachments radio button to Disabled
Advanced list settings showing the Attachments setting as Disabled | Click to enlarge
  1. Click OK
  1. You’ll receive a warning making sure you’re aware that this action deletes all attachments (if there are any). Click OK.
Warning when saving Attachments setting as Disabled | Click to enlarge

And that’s it! Now your forms will only show fields you’ve created and configured.

End of a SharePoint form without the Attachments field | Click to enlarge

If you’re not able to access or modify List settings, you may not have high enough permissions to modify the list. Check with your site owner to see if they can assist.

Here’s a video demonstration of the steps in this post:

When should I use attachments in lists?

Attachments are secondary to the list/form data itself and should be used for specific business processes, such as attaching receipts for reimbursement requests or perhaps photos or screenshots for facility or issue trackers. If the document is independently important, it should be stored in a document library.

Also keep in mind that attachments don’t have version history, cannot be renamed or reorganized without downloading/re-uploading, and they are not searchable in Microsoft 365. If you need to search for attachments, you should store them in a document library instead of a list – and you can always use a lookup column or hyperlink column to connect the list and library.

References and further reading

Supercharge your SharePoint pages and news with these 10 popular web parts

SharePoint is the leading digital workplace platform that lets you create, manage, and share content with your team and your audience (among many other abilities). One of the best features for everyday users when creating content in SharePoint is the ability to easily add web parts to your pages and news. Web parts are like building blocks that let you add different features and functions in a single context alongside other building blocks – for example, Documents next to instructional text or policy reminders for using the library.

But how do you choose the right web parts for your pages and news? Well, it depends on what you want to do and who you want to reach. You should pick web parts that help you achieve your goals and communicate your message clearly and effectively. You should also keep your page design simple and neat, using only the web parts that you really need.

The add web part dialog | Click to enlarge

Here are some of the best web parts to use when creating SharePoint pages and news:

Web PartWhat it does

Highlighted content
Shows content that matches certain criteria or attributes, such as content type, location, custom metdata, or search term. I like this web part a lot because it gives me plenty of flexibility and helps me surface the right content when I need it.

News
Displays the latest news on your SharePoint page, and can include news from multiple sites as well.

Hero
Shows up to five items with images, text, and links to make them stand out. You can use it to add some flair and visual interest to your SharePoint page.

Events
Creates and shows events on your page. You can use it to share important dates, deadlines, meetings, or celebrations with your audience.

Quick links
Adds links to your page for easy access. You can use it to direct your audience to other pages, sites, or external resources that are relevant to your content.

People
Shows information about people on your page. You can use it to introduce your team members, collaborators, or contacts to your audience. You can also display their profile pictures, names, roles, and contact information.

Document library
Shows documents on your page. You can use it to upload or link to files that you want to share with your audience. You can set it to only show a specific view of a library to manage your space better (perhaps a view with minimal columns shown).

List
Displays a list from your site. This surfaces a view of a particular list as a web part. Consider using views that filter a person field to [Me] (the signed in user). This is a great way to personalize pages (your requests, your tasks, etc.) and surface relevant information alongside related resources (countdowns, calendars, files, policies, etc.).

File viewer
Shows files on your page. You can use it to display files such as videos, images, PDFs, or Microsoft 365 app files like Word, Excel, or PowerPoint files. You can also adjust the size and position of the file viewer on the page.

Embed
Shows content from other sites that allow embedding. You can use it to add content from sites like YouTube, Twitter, or Spotify to your page. You can also customize the appearance and behavior of the embedded content on the page.
Table of 10 SharePoint Online web parts to consider for your pages and news

These are just some of the many web parts that you can use in SharePoint. Want a fuller list? Check out my other post: SharePoint team vs communication site web part options.

Each web part can be customized to suit your needs and preferences. Ready to start building better pages? Check out this video, Create pages in SharePoint Online sites, to see the process:

References

How to schedule SharePoint pages and news posts to publish on a specific date and time

Sometimes you may have SharePoint news posts edited and ready to go, but have to wait for an official announcement or date to arrive before you can share the news. Rather than wait for that date and manually publish, we can schedule news posts to go live at a date and time we specify.

In order for this to work, we have to turn on a setting for the Site Pages library in which we’re creating the news.

Note

Only site owners can enable page and news publishing for their site. If you’re a site member, ask your site owner to follow the steps in the first section.

How to enable scheduling for your site’s SharePoint pages and news

  1. Go to your Site Contents (settings wheel | Site Contents) and select your Site Pages library (this is where your site’s pages and news are created and stored).
Site Pages library location in SharePoint | Click to enlarge
  1. Select Scheduling at the top
Scheduling option at the top of the Site Pages library | Click to enlarge
  1. Toggle on the Enable scheduling option

Now your site’s members can use the scheduling feature for their pages and news. The next section shares user steps to do so.

How to schedule SharePoint pages and news

  1. Create your page or news post as you normally would (Site’s home page | New | Page or News post)
Location of new page and news post options on a site | Click to enlarge
  1. When you’re ready to schedule the post, click Page details | Enable Scheduling and add the Publish Start Date/time | Schedule (this button changes from Post/Publish to Schedule after you’ve entered the publish start date)
Scheduling steps for SharePoint pages and news | Click to enlarge

How to reset a SharePoint column value to blank using Power Automate

In Power Automate, setting an already-populated SharePoint list or library field to blank isn’t as simple as leaving the field blank in your flow. Luckily, it’s just a couple extra steps to make it possible.

In this post I’ll cover multiple column types as they’re a bit different.

  • How to set text, date, number, and yes/no column values to blank
  • How to set single choice column values to blank
  • How to reset multi-choice column values to blank
  • How to reset person column values to blank

How to set SharePoint text, date, number, and yes/no column values to blank

The steps in this section will work for these column types:

  • Single line of text
  • Multiline text
  • Date
  • Number
  • Yes/No
  1. Click into the field you want to reset to blank
  2. Select Expression
  3. Type Null in the expression box (not case-sensitive)
  4. Click OK
Adding a Null expression in Power Automate | Click to enlarge

Test your flow and it should reset the field value(s) to blank wherever you used the Null expression.

Showing the fields that were reset using Power Automate | Click to enlarge

How to set SharePoint single choice field values to blank

To set a choice field back to blank (no selection) follow these steps:

  1. Add a step before updating the item that initializes a variable. The step is called Initialize Variable.
  2. Set the variable name to Blank, and the type to String. Do not set a value.
  3. In your update action, set the choice field value to the new variable from dynamic content.
Creating a blank variable in Power Automate | Click to enlarge

Test your flow, and you should see your single choice field reset to no choice.

Result of a Power Automate flow resetting a choice field | Click to enlarge

How to reset SharePoint multi-choice column values to blank

A normal choice column in SharePoint has more options that allow it to be set to multiple choice.

Multiple selection option for a choice field in SharePoint | Click to enlarge

Changing a single-select choice column to a multi-choice field alters how Power Automate resets the field, but it’s still similar to the steps involved for a single choice field.

To set a multiple-choice field back to blank (no selections) follow these steps:

  1. Add a step before updating the item that initializes a variable. The step is called Initialize Variable.
  2. Set the variable name to BlankArray, and the type to Array. Do not set a value.
  3. In your update action, select the T icon next to your multiple-choice field.
  1. Set the multi-choice field value to the new variable from dynamic content.
Power Automate actions resetting a multiple-choice field to blank | Click to enlarge

Test your flow and your multi-choice fields should now reset to blank.

Result of a Power Automate flow resetting multiple-choice fields to blank | Click to enlarge

How to reset SharePoint person column values to blank

Perhaps one of the more complicated column types to reset, a person field takes a bit more work to reset. To accomplish this, we can use an HTTP request. Follow these steps to empty a SharePoint person column’s value.

  1. Add the Send an HTTP request to SharePoint step
  2. Following the screenshot below, set the fields as follows (you must replace all red items with your own values):
    • Site Address (select your site)
    • Method: POST
    • Uri: _api/web/lists/getbytitle(‘YOUR LIST TITLE‘)/items(YOUR ITEM ID FROM DYNAMIC CONTENT)
    • Headers
      • IF-MATCH | *
      • X-HTTP-Method | MERGE
      • Content-Type | application/json;odata=verbose
      • Accept | application/json;odata=verbose
    • Body:
      {
      “__metadata”:{
      “type”:”SP.Data.YOUR_x0020_LIST_x0020_TITLEListItem”
      },
      YOURPERSONFIELDId”:”-1″
      }

Important notes for the Body field

If your list name has a space, replace it with _x0020_ such as Null_x0020_demo.

Field names are different than display names. Even if your field displays with a space (Person field) it is likely Personfield on the backend. You can verify your column’s actual name by going to List settings (gear icon) and selecting your column from the Columns section. Your field’s actual name will be displayed in your browser’s URL.

How your HTTP request should look when finished | Click to enlarge

Test your flow and you’ll find that your person column has been reset.