Microsoft Teams messaging extensions: User authentication, OAuth and...
Microsoft Teams messaging extensions allow us to enhance teams messages with business data. We are able to fetch information (e.g. from Microsoft Graph or 3rd party APIs) based on various factors like...
View ArticleGetting anonymous thumbnails of SharePoint Online files with Microsoft Graph
If you are developing an application based on the Microsoft 365 platform which also uses files stored in SharePoint Online, chances are that you might want to make the file thumbnails available on a...
View ArticleBuilding a Microsoft Teams Bot: Get Team context details including Office 365...
The Microsoft Bot Framework v4.6 was released this week at Ignite and it's got some really great additions:https://github.com/microsoft/botframework/blob/master/whats-new.md#november-2019-igniteOne...
View ArticleSharePoint Framework Web Part and Property Pane Lifecycles
I was working on a SharePoint Framework webpart, especially on the property pane, and needed to understand when the SPFx WebPart lifecycle methods are executed. Specifically, the order in which they...
View ArticleCreate Microsoft Teams manifest manually for Personal app powered by SPFx
SPFx 1.10 was released recently which now includes support for Teams personal apps. Catch the announcement here:...
View ArticleSPFx: Using React hooks to globally share service scope between components
In my previous posts, I have written quite a few times about SharePoint Framework service scopes (I will add links at the end of the article). In short, Service Scopes are the SPFx implementation of...
View ArticleMicrosoft Bot Framework v4: Send proactive messages to Teams channels and users
What is a Bot Framework Proactive message?Usually, for starting a conversation with a Microsoft Teams bot, the user has to initiate the conversation either by sending a personal message to the bot, or...
View ArticleOffice 365 CLI: Grant admin consent to specific scopes using Microsoft...
The Office 365 CLI is great tool for a variety of scenarios. Specifically, I find it super useful for CI/CD and automation. Since there is no official Microsoft Graph Azure DevOps task yet, the Office...
View ArticleSPFx Teams tab: Use react hooks to dynamically handle theme changes
When developing a custom Teams tab with the SharePoint Framework, we want to make sure that the SPFx custom tab (web part) is styled according to the current selected theme.Also, if the user switches...
View ArticleCreate a custom React hook to mimic class component's setState behaviour
I have been playing around with react hooks recently, and slowly wrapping my head around how they work. Hooks are a great way to create reusable functionality, but there are some instances where I...
View ArticleUsing the Microsoft Search API (preview) to query SharePoint content
The new Microsoft Search API (preview) has been available in the Graph beta endpoint for a while now. If you haven't had a chance to look at the API yet, the docs explain it quite nicely: "The...
View ArticleUsing .NET Standard CSOM and MSAL.NET for App-Only auth in SharePoint Online
So after long last, the .NET Standard version of SharePoint Online CSOM was released yesterday! The official announcement can be found here:...
View ArticleMicrosoft Teams Bot Framework: Mention a user in an Adaptive Card
Microsoft Teams announced support for Adaptive Cards 1.2 recently. With that, a nifty feature to allow mentioning users in Adaptive Cards posted in Teams was also introduced. This allows us the ability...
View ArticleMicrosoft Teams messaging extensions using SPFx: Getting the message data...
With SPFx 1.11, one of the things possible now is that SharePoint Framework web parts can be exposed as Microsoft Teams messaging extensions. So what are messaging extensions exactly? According to the...
View ArticleMicrosoft 365 multi-tenant apps: Working with application permissions in...
Creating multi-tenant (SaaS) apps in Microsoft 365 has been possible for a while now. Azure AD multi tenant apps allow us to host our custom applications in an Azure AD/M365 "home" tenant while...
View ArticleBuilding a Microsoft Teams bot for AppSource: Posting an Adaptive Card...
In November 2020, I was happy to release my side project "Snooze Bot" as a free app on the Microsoft Teams store: https://appsource.microsoft.com/en-us/product/office/WA200002297 I had been working...
View ArticleWorking with Adaptive Card Universal Actions in a Microsoft Teams Bot
Universal Actions for Adaptive cards are a mechanism to handle user interactions uniformly no matter where the user is accessing the Adaptive Card from. It allows Bot developers to send the same...
View ArticleWorking with MSAL and multiple Azure AD accounts in a React SPA
I came across an interesting scenario recently: I was working with a React SPA which used Azure AD for authenticating users, and it needed to work with multiple accounts logged in simultaneously....
View ArticleBuilding a Microsoft Teams Bot: Deep linking to a Teams message from an...
This is the second article in my "Building a Microsoft Teams Bot" series. In this series, I am planning to write down some interesting things I came across while creating a Microsoft Teams Bot app...
View ArticleInteractively authenticate Microsoft Graph .NET SDK with Azure Identity library
In this post, we will have a look at the new recommended way of using the Azure Identity library to authenticate to the Microsoft Graph .NET SDK. Specifically, we will have a look at Interactive...
View Article