Microsoft 365 training and content for modern digital workplaces
Author: Nate Chamberlain
Nate helps people communicate and collaborate better. He shares solutions and ideas on his blog at http://www.NateChamberlain.com and was awarded Microsoft MVP for Office Apps and Services in recognition of community contributions.
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
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
Select Scheduling at the top
Scheduling option at the top of the Site Pages library | Click to enlarge
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
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
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
Live streaming Teams meetings and webinars to YouTube may expand your audience and allow for more viewers to engage with your event than otherwise might. It’s great for running a virtual conference or event where you need to embed YouTube videos in the platform for a streamlined approach. YouTube also saves your live streams as videos in your channel without the need to do a separate upload after an event. This concept gives users/presenters the ease of just having a normal Teams meeting, but the power of enhanced broadcasting and distribution.
Though I’m focused on YouTube in this blog post, the same setup on the Teams side is required to live stream to social media platforms or otherwise.
Thanks to recent updates to Microsoft Teams, you no longer need OBS Studio or other third-party software installations to live stream your Microsoft Teams events to YouTube. However, this ability launched in disabled state by default, so a Teams Administrator will need to complete the prerequisites prior to someone being able to live stream.
Note
At this time, live streaming only works for meetings and webinars in Microsoft Teams – not live events.
Admin prerequisites to live streaming with Microsoft Teams
Before users can broadcast their live stream from Microsoft Teams, a Teams administrator needs to create or modify a Meeting policy and:
Enable Live Streaming Mode (General section)
Turn on Local Broadcasting (Audio & video section)
You can modify the Global (Org-wide) default Meeting policy which would allow everyone to broadcast and live stream, or you can create/modify a separate Meeting policy and apply it only to specific users who should be allowed to live stream.
Here’s how to modify the Global (Org-wide) default meeting policy to allow everyone in your org to live stream:
Select the name of the policy you wish to modify. In this example, Global (Org-wide) default).
Location of the global/default meeting policy in the Microsoft Teams Admin Center | Click to enlarge
Enable Live streaming mode, and turn on Local broadcasting as seen in the following screenshot.
Live streaming settings in a Meeting policy | Click to enlarge
Technically, you could just enable Live streaming mode for this post. But by also turning on Local broadcasting (NDI), your users will have greater flexibility to produce their Microsoft Teams events with broadcasting software like OBS Studio, XSplit, etc. which gives additional capabilities like setting up scenes and such.
Click Save
Note
The changes may take an hour or so to take effect after saving your policy changes.
Your users will now be able to live stream their Teams events. Now let’s go through those steps.
Producer prerequisites to live streaming with Microsoft Teams
If you are going to be the producer of an upcoming event, you’ll need to make a change to your individual Teams client settings before you’re able to proceed.
Simply open your settings in Teams (ellipsis/three dots by your profile picture | Settings) and then select App permissions. Here you can enable NDI capabilities.
NDI capabilities enabled in the Teams client settings | Click to enlarge
How to live stream a Microsoft Teams meeting or webinar to YouTube
Users assigned the policy created or modified in the admin prerequisite section can follow these steps to live stream directly to YouTube from Microsoft Teams.
First we need to set up the live event on the YouTube side. Go to YouTube Studio (https://studio.youtube.com) and sign in with the account you wish to broadcast to.
Click Create | Go live in the upper right
YouTube steps to Go live | Click to enlarge
Choose whether you’re going live Right now, or whether you’re just setting up for a Later date. Either way, you’ll have additional steps that may vary from this post – follow the prompts to complete setup.
Go live options in YouTube | Click to enlarge
Continue through your YouTube prompts but do not go live yet. When you get out of the wizard, be sure you’re on the Stream tab on the left-hand navigation and locate the Stream key and Stream URL. You’ll need to copy both of these and use them later in step 9.
YouTube stream key and stream URL locations | Click to enlarge
Now we need to switch to Microsoft Teams. Join the meeting or webinar you wish to live stream.
Add the Custom Streaming app to the meeting
Steps to add the Custom Streaming app to a Teams meeting | Click to enlarge
Click Add
Custom Streaming app info and confirmation screen | Click to enlarge
Click Save
Custom Streaming app welcome screen | Click to enlarge
In the right-hand panel that opens, paste the Stream key and Stream URL you copied in step 4.
Copy/paste paths for stream key and URL | Click to enlarge
Click Start streaming in the lower right, then select Allow in the dialog box when it appears.
Streaming meeting confirmation dialog | Click to enlarge
You’re now live streaming! Share your screen and/or use your cameras and microphones to run your event as you would any normal Microsoft Teams meeting.
A screenshare from Microsoft Teams being live streamed to YouTube | Click to enlarge
When you’re finished with the event, you can stop streaming via Teams and YouTube.
Stop streaming button in the Custom Streaming app panel | Click to enlargeEnd stream button in YouTube | Click to enlarge
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
Click into the field you want to reset to blank
Select Expression
Type Null in the expression box (not case-sensitive)
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:
Add a step before updating the item that initializes a variable. The step is called Initialize Variable.
Set the variable name to Blank, and the type to String. Do not set a value.
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:
Add a step before updating the item that initializes a variable. The step is called Initialize Variable.
Set the variable name to BlankArray, and the type to Array. Do not set a value.
In your update action, select the T icon next to your multiple-choice field.
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.
Add the Send an HTTP request to SharePoint step
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)
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.
There are many web tools out there to generate random “lorem ipsum” filler content, but you can do the same thing using Microsoft Word. Simply:
Type =RAND(5) on a line
Hit enter
Instantly, the formula is replaced with five paragraphs of sample content. Replace 5 in the formula with the number of paragraphs you wish you to generate.
In some applications, like Power BI, you can get a distinct count of unique values in a column in just a click or two. But of all the functions in Excel, there isn’t a straightforward “Distinct Count” unfortunately.
There are, however, the following two functions that, when used together, give the desired result:
COUNTA – Counts the number of cells in a range that are not empty
UNIQUE – Returns the unique values from a range or array
So, we’re listing all the unique values we have in a range or column by using UNIQUE and then nesting it within the COUNTA function to count the number of values returned. Here are three examples:
Distinct count of values in Excel for a cell rangeDistinct count of values in Excel for a table column (referenced within the table)Distinct count of values in Excel for a table column (referenced outside the table)
Distinct count goal
Formula example
Distinct count for a range of cells
=COUNTA(UNIQUE(E19:E26))
Distinct count for a table column when referenced within the same table
=COUNTA(UNIQUE([Project]))
Distinct count for a table column when referenced outside the table
=COUNTA(UNIQUE(Table1[Project]))
Be sure to replace the cell range, column name, and/or table and column name in the formulas with your own.
Microsoft presents the MVP award annually to individuals who have regularly made high-quality contributions to the tech community. Sometimes this is forum participation, conference and user group presentations, books, blogs, videos, code and solutions, social media, or any number of other ways a person has evangelized and helped drive adoption and understanding of Microsoft 365.
I focus my contributions on Microsoft 365 productivity and collaboration apps like OneDrive, SharePoint, Teams, Power Automate, Power BI, and more. Specifically:
And all of that’s in addition to my regular, full-time day job.
To become an MVP, start tracking your contributions and reach out to an existing MVP or Microsoft employee that you’ve established a relationship with to secure a nomination. If we’ve crossed paths or worked together, I would be honored to nominate you.
It has been a true pleasure and privilege to be a part of this amazing community for four years now. Here’s to the next year of content, experiences, and connections. 🥳🥂
You may have noticed your Microsoft Teams meeting invites now include meeting IDs and passcodes, and there’s a new Join with an ID button on Calendar. In this blog post I’ll cover several meeting ID-related topics for meeting organizers:
Find your Teams meeting ID and passcode
Find your Teams meeting ID and passcode during a meeting
Add someone to a Teams meeting already in progress
Microsoft Teams meeting IDs vs join links
In a rush? Here’s the quick answer:
Not in a meeting yet? Open the event on your calendar and you’ll find the meeting ID and passcode in the event details
In a meeting already? Go to More | Meeting info
Find your Teams meeting ID and passcode (when not already in the meeting)
Open Microsoft Teams and select Calendar from the left
Double-click or edit the meeting for which you’d like to retrieve the meeting ID
Copy the Meeting ID and Passcode from the meeting details
Note that you can also get the join link from the same section if you prefer. The contents you see here as the meeting organizer (join link, ID, passcode, and call-in info when relevant) is the same contents any invited participants received. They can find this on their calendar by opening the event and viewing its details.
Location of meeting ID and passcode in meeting details (click to enlarge)
Find your Teams meeting ID and passcode during a meeting
To find your Teams meeting join link, meeting ID, and passcode during a meeting, select More | Meeting info.
More | Meeting info in a Teams meeting (click to enlarge)
From here, you can scroll to the bottom for the join link, meeting ID, and passcode.
The location of your meeting’s link, ID, and passcode during a meeting (click to enlarge)
You can select Copy join info at the top of the same panel which resembles the following and includes both entry options as well as call-in info when you’re licensed appropriately. This might be handy to paste in a quick Teams message or email for last-minute requests:
An example of the contents copied to your clipboard when you click Copy join info (click to enlarge)
Add someone to a Teams meeting already in progress
Now let’s imagine you’re in the middle of a Microsoft Teams meeting, and you’d like someone to join you. If they’re in your organization’s directory, you can simply:
Open the People panel
Type in their name and select Request to join next to it when it appears
However, you can’t invite external participants as easily because no matches show up.
No matches found when searching for an external person during a meeting (click to enlarge)
So for external people, use the method described at the beginning of this post (More | Meeting info) and send the join link, meeting ID, and passcode to the individual you’re asking to join. If the link doesn’t work for them and they want to use the ID to join, they’ll go to Calendar in Microsoft Teams, select Join with an ID and enter the info you provided.
A user’s screen when entering a meeting ID and password (click to enlarge)
If they don’t have a Microsoft Teams account to utilize Calendar, there will also be a public join webpage soon where they can enter the meeting ID and passcode and join.
Microsoft Teams meeting IDs vs join links
When it comes to secure meetings, links and IDs are about the same. If someone forwards the meeting invite to a stranger, they can attempt to join the meeting. If you’re concerned about this, perhaps because you’re sharing NDA content in a meeting or just don’t want strangers hopping in, be sure to utilize the “People I Invite” lobby settings so you can decline any unfamiliar or uninvited persons attempting to enter.
Join links specifically are perfectly fine to continue using and they are very difficult for a bad agent (with the intention of crashing your meeting) to guess. Imagine trying to guess something this long and complex, even with bot assistance:
Join links are quick and easy for invitees to use. Click the link and you’re at the pre-join screen making sure your devices are setup properly.
Meeting IDs also take you directly to the pre-join screen, and may be a better option if someone is having difficulty using the link you provided. Perhaps their firewall is preventing the link from working or there are other restrictions on their machine that don’t allow them to utilize links normally. Meeting IDs give them an alternative entry method that isn’t dependent on an https:// url.
Why is there a passcode? Without a passcode, a stranger could simply start guessing meeting IDs (which are much easier to guess than the long, complicated join links) and they could pay you and your colleagues an unwanted visit.
Best practice would be to send people both options so they have a backup method if needed. Your meeting invites automatically include both already, and if you’re in a meeting attempting to add someone who wasn’t originally invited, you can go to More | Meeting info and select Copy join info which will copy both options to your clipboard for those last-minute invites via messages or emails.
When using OneNote (Business) in a Power Automate flow, you may be attempting actions such as Create section in a notebook, Get sections in notebook, or Create page in a section but getting errors when trying to select the relevant notebook and section.
And depending on what you’re using as the Notebook Key and/or Notebook section value(s) you may get any of the following specific errors:
Error; the requested notebook or section may have been deleted or is otherwise inaccessible.
Invalid notebook key
The specified resource ID does not exist.
The section id is invalid. If a custom value was entered, please try selecting from the supplied values.
I’ll show you how you may be able to solve this issue in this blog post by using a custom value for Notebook Key. To insert a custom value for Notebook Key, use the dropdown arrow in the Notebook Key field and select Enter custom value.
Enter custom value option for Notebook Key (click to enlarge)
Now you can type text freely. You’ll need to format your notebook key one of two ways, depending on whether it’s a personal (OneDrive for Business) notebook or a shared (SharePoint/Teams) notebook. Both solutions are below.
Solution #1: OneNote Notebook key API format for your own notebooks (stored in OneDrive for Business)
For OneDrive notebooks, such as the default one you get like Nate @ Contoso, format your notebook key as seen below, replacing highlighted parts with your own notebook name, organization URL, and email address (with underscores instead of the usual symbols).
Still not working? Your organization may have a .com added (even if you don’t see it in your notebook name). Try adding .com to your notebook name in both locations (beginning and end):
Solution #2: OneNote Notebook key API format for shared notebooks (stored in SharePoint and used there or in Microsoft Teams)
For shared notebooks, such as the default one you get with every Microsoft Teams team or SharePoint team site, format the notebook key as follows. Be sure to replace bold components of the key with your own notebook name, organization URL, and notebook location:
Notebook Name|$|https://COMPANY.sharepoint.com/sites/SITENAME/NOTEBOOK LOCATION/NOTEBOOK NAME
For example, all default notebooks are stored in a SharePoint site’s Site Assets folder so a complete Notebook key for a notebook like that may resemble the following (yes, you can leave the spaces in notebook names):
Mark 8 Project Team Notebook|$|https://contoso.sharepoint.com/sites/Mark8ProjectTeam/SiteAssets/Mark 8 Project Team Notebook
Or if it’s not the default notebook, and it was created in a document library a couple folders deep, it might resemble the following. Just replace Shared Documents with the name of the library, and replace the folder structure as appropriate:
Policies and Procedures|$|https://contoso.sharepoint.com/sites/Compliance/Shared Documents/Folder 1/Folder 2/Policies and Procedures
As long as you enter the key correctly using either solution, your flow will connect to the notebook properly and, when relevant, the Notebook section dropdown will refresh and allow you to simply select the section you want rather than entering an API URL.
Notebook section dropdown functioning properly with a correct Notebook Key (click to enlarge)
Additional troubleshooting when sections are still not appearing
If you are certain you followed the instructions above correctly, made no typos, and you used the correct type of key format based on the notebook’s location (OneDrive or SharePoint), and you’re still seeing “Could not retrieve values…” for Notebook section, it might be a simple fix.
Just cut (Ctrl+X) and paste (Ctrl+V) the Notebook Key you entered into the field again and it may refresh and fix the second dropdown.
Sometimes people need to move or copy many files at once from their OneDrive to a shared folder or location. This is sometimes simply for reorganizing and sharing content more efficiently. Other times, it’s because a user learns that OneDrive is tied to individual employees so when they leave, their OneDrive will be gone as well. What files do you currently have in your OneDrive that others would need if you left the company?
Does your team use Microsoft Teams regularly? Every team in Microsoft Teams has a SharePoint site that supports it – so moving files to a site connected to a team makes those files more easily accessible via Teams as well.
If you need to perform a bulk move like this, you can individually select what you want to move or select all files in your OneDrive for Business and move or copy them to a shared location, such as your team’s SharePoint site. The steps are listed below, or a video demonstration is available at the bottom of the post.
How to move all your files from OneDrive to SharePoint
Multi-select the files you intend to move or copy, or “select all”
Select Move to (or Copy to if you wish to keep a version of your own)
Select all files | Move to actions (click to enlarge)
Find the site/team under Quick Access to which you’re moving files (you may need to click More places…)
You can create a new folder (as seen in video at bottom of post) if there’s not a great existing option for keeping them organized
Each site/team may have multiple libraries – use the library switcher next to the site name at the top to choose a different library
Document library switcher when moving or copying files (click to enlarge)
Select Move here and wait for the move to complete before closing your browser
In this video, I’ll show you how to move all OneDrive for Business files to a document library on a team-connected SharePoint site.
I was honored to be a judge again this year for one of my favorite community initiatives: Imagine Cup Junior. Imagine Cup Junior is a technology-centered competition hosted by Microsoft for teams of 1-6 students ages 13-18. Judges this year were asked to evaluate teams’ contest submissions using a standardized rubric for the theme, AI for Good. I am so very inspired by the ingenuity and heart behind the solutions presented.
Check out the top 10 winning teams for Imagine Cup Junior 2022 and their innovative, AI for Good solutions that earned them a top acknowledgement.