Skip to main content

Making a SharePoint Knowledge Base Part One: Getting Our Ducks in a Row

Howdy everyone, it's great to be back again for another post! As a matter of fact, this is our very first post on this blog. Amazing! For this post, I am going to help you create an intuitive Knowledge Base in SharePoint that your department or company can use as a whole. We'll also use Power Automate to notify us when our team adds to our Knowledge Base. So with this in mind, let's get started!


Why a Knowledge Base?

This idea comes from a recent SharePoint migration I did in my own workplace. I wanted to create a centralized resource for our team to find knowledge articles, troubleshooting steps, and guides. This helps us share knowledge across our team as well as with our end-users. For those of you who do not know what a Knowledge Base is, it is as simple as this:

A centralized resource to share knowledge and provide self-help to users. 

Now that you're privy to what it is, we can begin to build ourselves a Knowledge Base! We'll start with our foundational assets first, then work on the Knowledge Base itself. In this scenario, we'll build a Knowledge Base that encompasses self-help information for our IT department. Depending on who you are building a Knowledge Base for, the layout may vary. However, the main goal of this article is to draw up some inspiration and give you some best practices to help you get the most out of your new Knowledge Base. You'll need the following:
  1. A dedicated Communications Site that our IT department will reside on (if your IT department is a subsite, then that is fine as well, but you should consider a flat approach to your site mapping).
  2. A Knowledge Base page (which you can customize to fit your needs, but can really be any generic page that already exists in your site).
  3. A document library.

Building our Knowledge Base landing page

When it comes to your landing page, you typically want to add key topics or areas that your users or department normally ask or query about. Engaging stakeholders in your department or organization can be a great help in determining what should be primary on your Knowledge Base landing page. For example, we have the following key topics we would like for our users to have access to:
  • Microsoft 365-related queries
  • Networking and VPN issues and resolutions
  • Printer queries and issues
  • Software-related issues, queries and resolutions
When building a Knowledge Base, prioritize topics that are frequently asked about or take up the majority of your department's time. Topics on the fringe should be secondary on our page.


As you can see from the image above, we have an introduction to our Knowledge Base explaining the purpose of the page itself, some key topics in a Quick Links - Filmstrip view, as well as a document library below containing the Knowledge Base as a whole. This will act as our primary landing point for all users looking to find self-help resources and information.

Creating the Document Library

First, go into your "Site contents" and then press "New." From here, create a new document library. For mine, I called it "Knowledge Base," but you can name it how you like. Once completed, create a new view; click the "All Documents" view in the top right-hand corner then "Create new view." I'll name this one "Knowledge Base View" and ensure that it is shown as a List, and publicly visible on our site. Once done, we should be left with a brand-new view that we can then customize. Let's add some folders for each topic that we have included on our landing page.


Customizing the View


To hide the folder icons (optional), click the cogwheel in the top right corner > Library settings > More library settings > Views > then find the Knowledge Base view. Edit the view and uncheck the checkbox "Type (icon linked to document)" and click "OK." This will give you a cleaner look.


Now when I click into edit the view, I can un-check the checkbox "Type (icon linked to document)"  and then click on "OK":

So now when I return back to the document library, I will be greeted with this:



Now that we have the icons tucked away, let's talk about creating columns. These columns will assist the user in finding resolutions and self-help resources much faster as we can associate each self-help resource with metadata (columns) that will help narrow-down search queries. In my case, I am including the following columns in my new view:

Column Name

Column Type

Column Description

Error or Issue Name

Text

Insert descriptive name of self-help resource that pertains to the error or issue.

Error or Issue Application

Text

Insert the application that the resource is applicable for.

Associated Error Code(s)

Text

Insert error codes if applicable.

Associated Error Message(s)

Multiple lines of text

Insert error messages if applicable.

Resource Type

Choice:

Troubleshooting Guide

Technical Documentation

Select if the resource provided is a troubleshooting guide or documentation.



With these columns, we can help users to filter what they need without having to jump through multiple hoops to get it. For example, if I get a Teams issue that has an error code, I can find help based on the error code. The only onus is that the content owner(s) are responsible for entering in this information (which we can make that happen). Let's populate our library with these columns and then we can proceed from there:


Conclusion

Now that we have our columns and the items we need to start adding content to our Knowledge Base, we're ready to go! In our next blog post, I will show you how to make this even better by creating document templates that administrators can use, as well as modify permissions to limit uploads to certain users. So stay tuned!


test

Using Power Automate to Update Contact Information

 We've all been there- you have a large organization who has out-of-date contact information. What do you do? You could go around to each department and ask them nicely to update their information, or send out an org-wide email prompting people to do so. However, this is tedious and oftentimes a pointless task. By the time you update one department, you're running to fix another. What if you could put the power back in the department's hands to do so? This is a struggle I faced recently as I was trying to find was I could conjure up some updated contact information for each department. As I did my research, I found that I was not alone in this endeavour as it seems that many IT professionals would love to make this process a little bit less painful. With this in mind, I introduce to you my latest flow! This flow will allow you to encourage users to update their contact information, without the overhead that comes with manual effort. In addition to this, this flow utilizes t...

Using Custom Connectors and Microsoft Graph API's to Manage Licenses in Power Automate - Part Two

Hello again! Didn't I promise you that I'd be back to wrap this up? Well, here I am to give you the second tidbit of information that you need to get this started. If you haven't already, take a look at my previous post where I go into depth about creating a custom connector in Power Automate to retrieve the latest sign-in and also gather the user's licenses. Now that we have the custom connector ready, we can now get into the meat n' potatoes of this series. In this post, I will show you the flow that makes this possible and how you can use the custom connector you have created to tie it all together! Hope you enjoy. Understanding the Logic Before we can begin creating the flow, we should first understand how the flow will work. I designed this to flow to be triggered manually, but you may want to schedule it or use another trigger. The trigger will depend on your organization's policies, so please adjust accordingly. Once triggered, the flow will use the Entra...

Using Custom Connectors and Microsoft Graph API's to Manage Licenses in Power Automate - Part One

Happy June folks! I come to you with another post, but this time I wanted to change it up and show you something else I have just finished working on. As a SysAdmin, one of the most common issues we run into is managing licenses. Working at a post-secondary institution makes this an even greater challenge, as you have both students, staff and faculty constantly coming as well as going. Managing to keep up with this constant change can introduce great administrative overhead which takes away time from important upkeep of other systems and initiatives. You may also notice this same issue in large corporations or in other government organizations. To help combat this, I wanted to create a flow that can do the following: Get the user and their licenses Determine their last sign-in and the date Conditional to determine if the user is past the "cutoff" date Remove the user from a group where the license is assigned The only problem with doing this is that Power Automate does not ha...