Working 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 ArticleBuilding a Microsoft Teams bot: Sending custom data from an adaptive card...
This is the third article in my "Building a Microsoft Teams Bot" series. In this series, I have written down some interesting things I came across while creating a Microsoft Teams Bot app which is now...
View ArticleWorking with Apps for Microsoft Teams meetings
Microsoft Teams meetings extensions or "Apps for Teams meetings" are the newest entry in the Microsoft Teams extensibility story. They can be used to build custom experiences right into the meeting...
View ArticleWorking with the Microsoft Graph communications API in a Microsoft Teams...
Following up on my previous post about Microsoft Teams meeting apps, let's now have a look at how we can invoke the Microsoft Graph in our meeting app.Ā Specifically, we will be using the Microsoft...
View ArticlePartially update documents in Azure Cosmos DB
I have been working with Cosmos DB for a while now and until recently, there was one thing which always annoyed me: When updating a JSON document stored in a container, there was no way to only modify...
View ArticleBuilding a custom Microsoft Teams tab: Show a native loading indicator
When building a custom Microsoft Teams tab with Teams manifest v1.7+, there is an option to natively show a loading indicator in Teams before our app loads. This can be helpful if your app needs to...
View ArticleBuilding a Microsoft Teams app: Posting a message to Teams on behalf of the...
If you are building a Teams app and want to integrate with Teams channel messages, this post will be helpful to you. Specifically, we will be looking at posting a Teams channel message, from the app,...
View ArticleChat with your user directory using OpenAI functions and Microsoft Graph
Ever since OpenAI function calling was released, I have been incredibly fascinated by it. To me, it is as big a game changer as ChatGPT itself.Ā With function calling, we are no longer limited by the...
View ArticleConnect an OpenAI chat bot to the internet using Bing Search API
In the previous post, we saw what is OpenAI function calling and how to use it to chat with your organization's user directory using Microsoft Graph. Please have a look at the article here:Ā Chat with...
View ArticleTeams tab fails to load in the new Microsoft Teams Desktop client
The new Microsoft Teams Desktop client was made generally available for Windows and Mac recently. The good news is that the new client provides feature parity for 3rd party apps like Focusworks AI...
View ArticleManage Azure OpenAI Service using the Azure CLI
I was working on a project recently where we were using the Azure OpenAI service quite heavily. As part of creating the DevOps pipelines for the project, we had to look into automating the management...
View ArticleUsing Microsoft Tokenizer to count Azure OpenAI model tokens
If you have been working with OpenAI APIs, you will have come across the term "tokens". Tokens are a way in which these APIs process and output text. Various versions of the OpenAI APIs have different...
View ArticleGet structured JSON data back from GPT-4-Turbo
With the latest gpt-4-turbo model out recently, there is one very helpful feature which came with it: The JSON mode option. Using JSON mode, we are able to predictably get responses back from OpenAI...
View ArticleGenerate images using Azure OpenAI DALLĀ·E 3 in SPFx
Dall E 3 is the latest AI image generation model coming out of OpenAI. It is leaps and bounds ahead of the previous model Dall E 2. Having explored both, the image quality as well as the adherence to...
View ArticleCreate a Microsoft 365 Copilot plugin: Extend Microsoft 365 Copilot's knowledge
Microsoft 365 Copilot is an enterprise AI tool that is already trained on your Microsoft 365 data. If you want to "talk" to data such as your emails, Teams chats or SharePoint documents, then all of...
View ArticleUsing gpt-4o vision to understand images
OpenAI released gpt-4o recently, which is the new flagship model that can reason across audio, vision, and text in real time. It's a single model which can be provided with multiple types of input...
View ArticleWorking with OpenAI Assistants: Create a simple assistant
With OpenAI's recently released Assistants API, building AI bots becomes a lot easier. Using the API, an assistant can leverage custom instructions, files and tools (previously called functions) and...
View ArticleWorking with OpenAI Assistants: Using file search
This is the second post in the series where we explore the OpenAI Assistants API. In this post, we will be looking at the file search capabilities which allows us to upload files to the Assistants API...
View ArticleWorking with OpenAI Assistants: Chat with Excel files using Code interpreter
This is the third post in the series where we explore the OpenAI Assistants API. In this post, we will be looking at the code interpreter tool which allows us to upload files to the Assistants API and...
View ArticleWorking with OpenAI Assistants: Using code interpreter to generate charts
This is the fourth post in the series where we explore the OpenAI Assistants API. In this post, we will be looking at the code interpreter tool which allows us to generate charts based on some data....
View ArticleSearch SharePoint and OneDrive files in natural language with OpenAI function...
By now, we have seen "Chat with your documents" functionality being introduced in many Microsoft 365 applications. It is typically built by combining Large Language Models (LLMs) and vector databases....
View ArticleBuilding an Agent for Microsoft 365 Copilot
Microsoft 365 Copilot is a powerful, general-purpose assistant that greatly improves personal productivity, helping users manage tasks like emails, calendars, document searches, and more. However, the...
View ArticleBuilding an Agent for Microsoft 365 Copilot: Adding an API plugin
In the previous post, we saw how to get started building agents for Microsoft 365 Copilot. We saw the different agent manifest files and how to configure them. There are some great out of the box...
View Article