In one of my recent business endeavors, an organization needed to add company-branded templates to the Microsoft Office suite (Microsoft 365 Apps). One of the requirements was to keep these templates in revision and easy for the branding team to add, delete or update if needed.
Luckily Microsoft added a feature back in 2019 to their Microsoft 365 portfolio allowing just that. In this article, we are going to explore how we can configure the feature in just a few minutes.
Requirements
Before we can proceed, please read the requirements:
- If the templates need to appear to users user in PowerPoint on the web, then the user must be assigned a license to Office 365 E3 or E5
- Microsoft Office (Microsoft 365 Apps) version 2002 or higher
- Office templates in the following file formats .xltx, .dotx or .potx
- You as an admin must have the permission of SharePoint admin or Global administrator in Azure AD
- You as an admin must have access (owner/full control) to a SharePoint site using a communication site, team site, or a modern team site template where the templates will be stored
- Know the Azure AD tenant id, for more information see this guide
Goal and technology
As I mentioned at the start the end goal is to make Microsoft Office automatically pull templates from Microsoft 365 without any application packages (Intune/Endpoint Manager/SCCM) and policies. Here is a visual overview of the solution:
The solution is going to leverage a feature (built-in SharePoint app) in SharePoint Online called "Asset Library". SharePoint's built-in Asset Library app is pre-configured to manage rich media assets, such as images, audio, video, and template files.
SharePoint leverages the Office 365 CDN (Content Delivery Network) capabilities. A CDN is a mechanism that aims to improve considerably websites performances by providing assets the website requires (such as scripts or images) closer to the browsers requesting it.
Installation and configuration
Let's start configuring the asset library for our templates, before following this tutorial, please make sure that the requirements are fulfilled.
Installing the SharePoint Online PowerShell module
We are going to use the SharePoint Online PowerShell module for some parts of the configuration. If you haven't installed this, please make sure to follow the steps below.
-
Open a PowerShell terminal and run the following:
1Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Scope CurrentUser -Confirm:$false -Force;IMPORTANT: If you are prompted to update PowerShellGet, please do so.
-
Now let's connect to the SharePoint Online administration site.
1Connect-SPOService -Url "https://<tenant_name>-admin.sharepoint.com";IMPORTANT: Replace
with your Microsoft 365 tenant name in the above example. -
In the (modern) authentication prompt add your admin username and password.
-
Verify that you are connected by running the following command.
1Get-SPOTenant; -
You should get a similar output as shown below.
Adding the appropriate permissions to the SharePoint Online site
When the Microsoft Office application(s) fetches the templates from SharePoint it will do so in a user context. Because of that, we need to make sure that the users can read the assets on the SharePoint site. In this example, we will be using the built-in SharePoint Online group "everyone except external users".
Please make sure that you are connected to SharePoint through PowerShell shown in the section above.
-
Open a PowerShell terminal and executed the following.
123456789# Variables.$AzureAdTenantId = '<Azure AD Tenant ID>';$SharePointSiteUrl = 'https://<tenant>.sharepoint.com/<sites/teams>/<site>';# Get all groups in the SharePoint site.$SpoGroupVisitor = Get-SPOSiteGroup -Site $SharePointSiteUrl | Where-Object {$_.LoginName -like "*Visitors*"};# Add the "everyone, except external" group to the visitor group.Add-SPOUser -Site $SharePointSiteUrl -LoginName ('c:0-.f|rolemanager|spo-grid-all-users/{0}' -f $AzureAdTenantId) -Group $SpoGroupVisitor.LoginName;IMPORTANT: Remember to change the Azure AD tenant ID and SharePoint site URL in the above example.
Creating a library in the SharePoint Online site
Before we can add the asset library, we need to create it. The following will create a normal document library, which we will "convert" in the next section. We are not going to use PowerShell here for demonstration purposes. But if you are interested to create the document library with PowerShell you could use the New-PnPList from the PnP PowerShell SharePoint module.
-
Open a browser and navigate to "https://contoso.sharepoint.com/sites/somesite/_layouts/15/viewlsts.aspx".
IMPORTANT: Remember to change the SharePoint site URL.
-
Click "New" and then "Document Library".
-
Specify the new library name and then click "Create".
-
Now copy the path to the document library (without the /Forms/AllItems.aspx), we are going to use it later.
Convert document library to an asset library
In the previous section, we created a document library on the SharePoint Online site. Now we need to convert it to an asset library.
-
Open a PowerShell terminal and run the following.
12345# Variables.$SharePointSiteLibraryUrl = 'https://contoso.sharepoint.com/sites/somesite/documentlibrary';# Add the asset library.Add-SPOOrgAssetsLibrary -LibraryUrl $SharePointSiteLibraryUrl -OrgAssetType OfficeTemplateLibrary -CdnType Private -Confirm:$false;IMPORTANT: Remember to change the library URL in the above example. Adding an organization assets library will enable a content delivery network (CDN) for your organization to provide fast and reliable performance for shared assets. You'll be prompted to enable a CDN for each organization asset library you add.
Uploading the templates to the document library
Now the hard part is over, the remaining task is to upload the Microsoft Office templates to the asset library.
-
Open a browser and navigate to "https://contoso.sharepoint.com/sites/somesite/documentlibrary".
IMPORTANT: Remember to change the SharePoint site URL.
-
Click on "Upload" and then "Files".
-
Now browse to the location with your .xltx, .dotx, or .potx Microsoft Office templates and upload them.
-
When the file is uploaded it will appear in the library.
The results
When all the configuration is done, it's now time to view the result. Please notice it may take up to 24 hours before the templates are visible in the Microsoft Office applications (Excel, Word, and PowerPoint).
-
Open one of the applications, in this example, we are using Microsoft Word.
-
Now click on "New".
-
Click on your organization name (in this case System Admins).
-
It also supports a hierarchy structure, meaning that you can organize the templates into folders. The templates you uploaded in the previous section are now visible.
Wrapping it up
That's it! Pretty easy right?
One thing to mention is that it could take up to 24 hours before changes are propagated on devices. This is because it's using the CDN which only updates the cache a few times a day. So be patient.
If you have any problems or issues, please make sure to leave a comment.
Abbreviations
Abbreviation | Meaning |
---|---|
App | Application |
CDN | Content Delivery Network |
URL | Uniform Ressource Locator |
Thanks for the Article! Is it also possible to add folders inside the “Asset Library”. We for example have multiple brands and it would help to create folders for brands like “Brand A” and “Brand B” and then find the specified templates for each brand in the specified folder.
Yes that it possible 🙂
Hey Alex, very helpful article, the templates from the second asset library I configured in the same site wouldn’t show up, is there any reason you know of? Thank you.
Hi Mark,
Have you converted the document library?
Are there any permissions applied to the second library?
It shows now, took a bit more than 24 hrs to reflect. Thanks Alex!
Excellent article, thank you. That made it a breeze to set up. Not that it turns out to be very difficult, but this is the first thing I found!
Is it possible to also “Pin” the template in ex. PowerPoint, so that users don’t need to select “System Admins”?
Hi Jan,
Not really sure, I have never come across the option.
Let me know if know a solution for it.
But what you could do, is to disable Microsoft (Office) provided templates, this resulting in Word/PowerPoint etc. starting directly into your organization template tab.
See this documentation for more information.
Is it normal that its already more than 24 hours but I still cannot find the template?
No, should appear fairly quick within 24 hours.
when creating library do I need to follow your instruction to name it as Assets or can I use different name?
You can name whatever you like 🙂
Thanks Alex! It’s working. But just noticed that the template can be used if I am using O365 apps but in office 2016 is not working. Is that part of limitations?
Hi Jodie,
Yes, you need to be using Office apps, or 2019+
Thanks for the guide!
Is it poasible to add multiple tabs for different companies under our groups, or change the name where it says “System Admins”.
It looks weird to have folders in a different company name under our main company tab.
Thanks!
You can add multiple tabs, with multiple folders. But only from one tenant.
Thanks for the quick response.
We are trying to add another tab next to where it says “System Admins” in your example.
How can we do that ? We only managed to add folders under that tab.
Thank you,
Jan
Hi Alex,
Apologies for asking over again, but we’re still trying to figure this out.
Is it really possible to add another section next to “System Admins” in your example ?
We have three companies under one tenant but all comes up under one company name.
Many thanks in advance,
Jan
Hi Alex, do you know of a way to deploy custom office themes via Intune?
Hey Moe 🙂
1. Save the theme you want to push to the users.
2. Deploy the theme using the following path for each user (through Intune, GPO or similar).
“C:\Users\myUsername\AppData\Roaming\Microsoft\Templates\Document Themes\Default Theme.thmx”
Hi Alex, great article. Suppose I don’t everyone in my tenant to see all the templates. Can I change the permissions on the individual files and folders, so that they will “disappear” for some people while they would show as normal for other people?
Yes 🙂
Very Good