Articles

Bulk cancel Azure Logic App runs with PowerShell

Bulk cancel Azure Logic App runs with PowerShell

Azure Portal doesn’t allow you to cancel multiple logic app runs at once, so let’s do that with a PowerShell script instead. In addition to filtering the runs by the status Running, we also filter them based on when they have been started.

Overcoming challenges when migrating SharePoint Online user profile properties

Overcoming challenges when migrating SharePoint Online user profile properties

When migrating SharePoint user profile properties, I encountered two issues. This blog post will detail those issues and how I overcame them.

How to use Security & Compliance PowerShell with application permissions on Azure Functions

How to use Security & Compliance PowerShell with application permissions on Azure Functions

In this article, we’ll connect to Security & Compliance PowerShell on a script run by an Azure Function using certificate authentication.

How to implement Azure DevOps pipelines for SPFx solutions that use library components

How to implement Azure DevOps pipelines for SPFx solutions that use library components

Let’s deploy a SharePoint Framework solution that uses a library component from another repository in the same Azure DevOps organization.

How to use Exchange Online PowerShell on Azure Functions with Managed Identity

How to use Exchange Online PowerShell on Azure Functions with Managed Identity

In this article, we’ll connect to Exchange Online in a PowerShell script run by an Azure Function using the Function App’s managed identity.

How to securely trigger Azure Functions from Azure Logic Apps

How to securely trigger Azure Functions from Azure Logic Apps

In this article, I’ll give you step-by-step instructions on securely triggering an Azure Function from an Azure Logic App. First, we’ll create the Azure Function app and then integrate it with an existing Logic App while following security best practices.

How to use PnP PowerShell on Azure Functions with application permissions

How to use PnP PowerShell on Azure Functions with application permissions

Let’s authenticate to SharePoint Online from an Azure Function via PnP PowerShell using the managed identity or a self-signed certificate.

How to add custom code via private Azure DevOps Artifact Feeds to your projects and build pipelines

How to add custom code via private Azure DevOps Artifact Feeds to your projects and build pipelines

Easily take advantage of reusable code (that you are not allowed to share publicly) across all of your work projects.

The Ultimate Beginner’s Guide to Microsoft Graph

The Ultimate Beginner’s Guide to Microsoft Graph

This blog post offers a well-structured and “chronologically proceeding” beginner’s guide, including much hands-on experience on even the most minor quirks of the API.

How to create your first Teams bot and deploy it to Azure

How to create your first Teams bot and deploy it to Azure

Creating a Teams bot is not a complex process, but figuring out all the different things that are required for the first time can seem like a challenging feat to accomplish.

Azure AD Access Reviews — Built-in Features and Custom Solutions

Azure AD Access Reviews — Built-in Features and Custom Solutions

Managing user access does not need to be tedious and constant work. Let’s take a look at the built-in features of Azure AD Access Reviews, whether they are enough for real-life purposes, and how we can improve things via custom solutions.

Stopping and starting Azure Application Gateway on-demand and on a schedule

Stopping and starting Azure Application Gateway on-demand and on a schedule

There’s no button in Azure Portal that allows us to stop and start the application gateway on-demand. Luckily, we can do it with PowerShell!

Forcing an Azure Function to process Queue Storage messages one at a time

Forcing an Azure Function to process Queue Storage messages one at a time

By default, Azure Functions process queue messages in parallel. Usually, parallelism is great but there are some occasions that might require you to process the messages one by one.

How to set up a Kali Linux virtual machine on Azure to serve as a TryHackMe attack box

How to set up a Kali Linux virtual machine on Azure to serve as a TryHackMe attack box

Do you want to set up your own separate Kali Linux VM in Azure for practicing hacking, which retains all the tools you decide to install?

Authenticate to Entra ID Protected APIs with Managed Identity—No Key Vault Required

Authenticate to Entra ID Protected APIs with Managed Identity—No Key Vault Required

Did you know there is a way for us to securely authenticate to Entra ID protected APIs while simultaneously avoiding storing any credentials?

How we can extend Microsoft Teams with custom apps — the non-technical explanation

How we can extend Microsoft Teams with custom apps — the non-technical explanation

The reason why we aren’t seeing more Teams app development for real customer scenarios today is that people don’t know enough about it.

How to use the complimentary Azure credits in a Microsoft 365 developer tenant — step by step

How to use the complimentary Azure credits in a Microsoft 365 developer tenant — step by step

“But I wanted to use them in my developer tenant that I got through the Microsoft 365 Developer Program because it also has 25 free E5 licenses!”

30+ questions you should ask your customer about Teams provisioning

30+ questions you should ask your customer about Teams provisioning

As the number of things we can include in our Teams provisioning solutions has grown, it has become harder to remember to ask all the important questions.

The Ultimate Guide to Microsoft Teams based approvals

The Ultimate Guide to Microsoft Teams based approvals

Organizations have a lot of processes that include an approval step. Let’s dig into all the available Teams-based approval implementation options, what problems we might face, and how to counter them.

Bring your Teams provisioning order form and approvals where they matter the most — Part 2

Bring your Teams provisioning order form and approvals where they matter the most — Part 2

This blog post is about showing you how we can have as effortless Teams provisioning approvals as possible right where they matter the most.

Deleting the treacherous Wiki tab as a part of your Teams provisioning process

Deleting the treacherous Wiki tab as a part of your Teams provisioning process

Using the Wiki tab in Teams can easily lead to a permanent loss of information. Let me show you how to delete the tab during your provisioning process.

Bring your Teams provisioning order form and approvals where they matter the most — Part 1

Bring your Teams provisioning order form and approvals where they matter the most — Part 1

Wouldn’t it be great if we didn’t have to leave Microsoft Teams whenever we want to use a custom team provisioning solution? Good news: we can!

Localization in SPFx solutions when a user can speak several languages

Localization in SPFx solutions when a user can speak several languages

In this blog post, I’ll tell you a story about one unusual situation in which we had to get texts for a single user from different localization files depending on something else than the user’s chosen language.

How to use the service locator pattern in SPFx React solutions

How to use the service locator pattern in SPFx React solutions

In this blog post, I’ll show you how you can implement the service locator pattern the right way, so you don’t need to pass down any objects to your child components to be able to use the resources from the SPFx context.

How to get started with React for building advanced SPFx solutions

How to get started with React for building advanced SPFx solutions

After I started using React, my solutions have become so much tidier. In this blog post, I’ll teach you the most important things you need to grasp when implementing your very first SPFx React project.

Teams and SharePoint provisioning: What, why and how?

Teams and SharePoint provisioning: What, why and how?

This blog post aims to clarify the meaning and benefits of workspace provisioning solutions to those who are not yet that familiar with the topic, and explain why there is no one-size-fits-all solution to the problem.

What is Microsoft Teams Shifts and how you can customize it – Part 2

What is Microsoft Teams Shifts and how you can customize it – Part 2

The long awaited continuation to my Shifts blog post mini-series is finally here! This time we dig deep into how you can customize Shifts, what kind of business processes you can automate (with a real-life customer use case), and what pitfalls you need to be aware of.

What is Microsoft Teams Shifts and how you can customize it – Part 1

What is Microsoft Teams Shifts and how you can customize it – Part 1

Even though Shifts has been a part of Teams for a while now, not that many have actually used it or know much about it. In this first part of the series, I’ll tell you the things you need to know about Shifts as a developer to be able to implement meaningful customizations for your customers.

Does it spark joy? PowerShell scripts for keeping your development environment tidy and spotless

Does it spark joy? PowerShell scripts for keeping your development environment tidy and spotless

Implementing workspace provisioning solutions results to your dev tenant looking like a massive mess. Let’s clean it up!

How to authenticate to Entra ID protected APIs with a certificate—step-by-step

How to authenticate to Entra ID protected APIs with a certificate—step-by-step

This blog post is meant to be the one place to get all of the information you need for setting up certificate authentication. This scenario is important when you, for example, want to use the SharePoint Online REST API with application permissions.

Calling Microsoft Graph from Power Automate and other daemon apps with delegated permissions

Calling Microsoft Graph from Power Automate and other daemon apps with delegated permissions

Last week I realized that I have never actually shared how you can authenticate to Microsoft Graph from Microsoft Flow using delegated permissions. So, without further ado, let me show you how you can do that with a REST request. You can also use this method in other daemon apps such as Azure Functions or WebJobs.

Cloning Teams and Configuring Tabs via Microsoft Graph: Configuring the SharePoint and Files tabs

Cloning Teams and Configuring Tabs via Microsoft Graph: Configuring the SharePoint and Files tabs

Our blog post series is closing to the end. In this final blog post of the series, I will show you how you can automatically configure two SharePoint related tabs: the SharePoint tab itself and the Files tab.

Cloning Teams and Configuring Tabs via Microsoft Graph: Configuring the Planner tab

Cloning Teams and Configuring Tabs via Microsoft Graph: Configuring the Planner tab

We’ve already come quite far in this blog post series! We’ve got our team cloned and have already started configuring the tabs. The Planner tab is probably the easiest one to configure out of the tabs I’m covering in this blog post series. Still, there are some small things you should keep in mind and be aware of to get the most out of this process.

Cloning Teams and Configuring Tabs via Microsoft Graph: Configuring the OneNote tab

Cloning Teams and Configuring Tabs via Microsoft Graph: Configuring the OneNote tab

People can have different opinions on how Teams tabs should be configured and that is most likely the reason why they aren’t automatically configured when you clone a team. The configuration can be automated, but each different kind of tab needs to be set up in a slightly different way. In this blog post, I’ll show you how you can configure the OneNote tab.

Cloning Teams and Configuring Tabs via Microsoft Graph: Configuring Tabs – The Fundamentals

Cloning Teams and Configuring Tabs via Microsoft Graph: Configuring Tabs – The Fundamentals

At this point, we have our brand new team set up with its cloned tabs. However, none of those tabs are yet configured to show any content. All of the tab types are a bit different from one another, but what I am about to show to you in this blog post is so fundamental that it should be very useful to you no matter which tabs you eventually decide to configure.

Cloning Teams and Configuring Tabs via Microsoft Graph: Cloning a Team

Cloning Teams and Configuring Tabs via Microsoft Graph: Cloning a Team

In the prelude, I told you a little bit about the reasons why configuring tabs automatically is important. In this one, I will show you a couple of ways on how you can clone a team programmatically via Microsoft Graph. I also talk a little bit about what quirks the whole clone team process contains, and what we can expect from Teams templates in the future.

Cloning Teams and Configuring Tabs via Microsoft Graph: Prelude

Cloning Teams and Configuring Tabs via Microsoft Graph: Prelude

With the clone team operation, you can clone the team settings, channels, apps, tabs, and even members. What doesn’t automatically happen with cloning though is the configuration of tabs. Searching for the right resource to display can be difficult at times, so I’m happy to tell you that it is possible for us to automate the configuration of the cloned tabs via Microsoft Graph. And that is the bread and butter of this blog post series.

How to Securely Call a Logic App from an Azure Function + Benefits

How to Securely Call a Logic App from an Azure Function + Benefits

Probably the most predominant reason to choose to implement something with Azure Logic Apps or Microsoft Flow is how fast and easy it is to automate processes with them, and how that can lead to reduced implementation costs. However, there is one thing that can really rack up the costs, and that is polling.

Provisioning Teams with a SharePoint Site Template, Power Automate and Microsoft Graph

Provisioning Teams with a SharePoint Site Template, Power Automate and Microsoft Graph

Soon you will be able to create a team for an Office 365 group via its modern team site. There will be a button that allows you to create a Team with a single click. But could things be made even easier? In this blog post, I’ll show you how you can have an option to create a team automatically when creating a new modern, Office 365 group connected team site.

How to set up an Entra ID application registration for calling Microsoft Graph

How to set up an Entra ID application registration for calling Microsoft Graph

Whenever you want to call Microsoft Graph from your custom solutions, you need to have an application registration in your Azure Active Directory first. In this blog post, I show you three ways to create an app registration in the Azure AD, and how you can choose the right way depending on your situation.

How to Expose a Firewall-Protected Web Service to the Cloud with Azure Relay

How to Expose a Firewall-Protected Web Service to the Cloud with Azure Relay

Cloud solutions can’t communicate directly with on-premises hosted web services because of the firewall. Luckily we can get past that using Azure Relay. In this blog post, I’ll show you, how you can, e.g., expose a SharePoint-hosted web service to Office 365.

SharePoint Online Guest User Troubles and How to Get Past Them

SharePoint Online Guest User Troubles and How to Get Past Them

What would be nicer than to invite some users from other organizations to collaborate with us on the beautiful, modern SharePoint Online sites? I’ve recently been working with guest users in SharePoint Online environments, and in this blog post, I take you through, what problems we encountered and how you too can get past them.

My Most Used PowerShell Scripts for Managing SharePoint Online

My Most Used PowerShell Scripts for Managing SharePoint Online

Working with Office 365, you too might have already started building up a collection of useful PowerShell scripts; the ones you always keep on going back to when you need to perform certain operations for a tenant. This month I’m sharing with you some of my toolkit; a collection of PowerShell scripts I currently find myself using the most while working with SharePoint.

How to Sort Planner Tasks Using Order Hint and Microsoft Graph

How to Sort Planner Tasks Using Order Hint and Microsoft Graph

Copying an existing Planner plan programmatically is totally doable thanks to Microsoft Graph. But how to sort the tasks and buckets of the new plan in the exact same order as in the original plan? Let me show you how you can achieve that by using the Planner order hint property and Microsoft Graph.

The Ultimate Guide to SharePoint Site Templates and Site Scripts

The Ultimate Guide to SharePoint Site Templates and Site Scripts

In this blog post, I’m going to take you through what SharePoint site designs and site scripts are, how you can create, deploy, maintain and use them for provisioning sites from many different places, and give you new ideas on how you can and should be taking advantage of them.

Useful Things to Do with Microsoft Graph Teams Operations

Useful Things to Do with Microsoft Graph Teams Operations

Microsoft Graph Teams operations can be used for all kinds of cool stuff related to Teams. Because I’ve had so much fun playing around with those, I figured I’d show you a couple of examples of how you can utilize those operations in a SPFx web part, and provision a Team for an existing Office 365 Group.

How to Create a Multicolored Theme for a Modern SharePoint Online Site

How to Create a Multicolored Theme for a Modern SharePoint Online Site

You can create your own themes for Modern SharePoint Online sites by using the Office UI Fabric Theme Generator. Using the theme generator is really easy if you just want to use one color. But what if your organization has multiple brand colors and you would like to create a multicolored theme?