❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️

Blog

Welcome to my blog! Here you'll find a collection of my thoughts and experiences about Microsoft 365, Teams, Azure, and web development. I hope you enjoy reading them as much as I enjoy writing them.

Validation Agent — prove results and verify correctness

Validation Agent — prove results and verify correctness

Validation Agent: validate intermediate results, provide proofs-of-correctness, and gate actions in multi-agent orchestrations.

03.12.2025

Agent-to-Agent protocol (A2A) — orchestrating across agents

Agent-to-Agent protocol (A2A) — orchestrating across agents

Agent-to-Agent (A2A) protocol: discovery, message schema, orchestration patterns, and security for orchestrating multiple agents

02.12.2025

Knowledge Agent — unified access to mail, OneDrive and SharePoint

Knowledge Agent — unified access to mail, OneDrive and SharePoint

Ingestion → embedding → vector store → retrieval → response workflow for a Knowledge Agent with mail, OneDrive and SharePoint

01.12.2025

Outlook Agent — Drafts, Meetings & Calendar Blocks

Outlook Agent — Drafts, Meetings & Calendar Blocks

Microsoft Semantic Kernel. Draft emails, propose meetings, and create calendar blockers.

30.11.2025

Semantic Kernel Orchestration

Semantic Kernel Orchestration

How to orchestrate agents in Semantic Kernel: definitions, planning, and multi-step workflows.

29.11.2025

Microsoft Graph Webhook (Shared Mailbox)

Microsoft Graph Webhook (Shared Mailbox)

Create Graph webhooks for shared mailboxes with app perms, validation, renewals, and secure processing.

28.11.2025

Windows Event Log Trigger

Windows Event Log Trigger

Subscribe to Windows Event Log in a Windows Service; handle lifecycle, filtering, and SK processing.

27.11.2025

File System Watcher Trigger

File System Watcher Trigger

Watch directories for changes; debounce events, recover with scans, and process files reliably with SK.

26.11.2025

Timer (Schedule) Trigger

Timer (Schedule) Trigger

Implement scheduled jobs with Worker Service, cron/systemd, or Functions; avoid overlap and handle drift.

25.11.2025

Webhook Trigger

Webhook Trigger

Handle webhooks safely: signature verification, idempotency, retry handling, queuing, and SK invocation.

24.11.2025

HTTP Request Trigger

HTTP Request Trigger

Build HTTP-triggered SK endpoints with ASP.NET Core minimal APIs, auth, DI, resiliency, and hosting.

23.11.2025

Triggers — Overview

Triggers — Overview

Overview of trigger types (HTTP, Webhook, Timer, FS watcher, Windows Event Log) and typical hosting options.

22.11.2025

Memory with SQL (pgvector) and Qdrant — Simple SK patterns

Memory with SQL (pgvector) and Qdrant — Simple SK patterns

You don't need Cosmos DB to add memory. Postgres (pgvector) and Qdrant are great options — here's how in Semantic Kernel.

21.11.2025

Memory in Cosmos DB — Flows and Code

Memory in Cosmos DB — Flows and Code

Designing user, team, and company memory with Azure Cosmos DB vectors, ACL filters, TTL, and C# snippets.

20.11.2025

Memory in RAG apps — Overview

Memory in RAG apps — Overview

What I mean by memory: session, user, team, and company memories — and what developers must consider (permissions, privacy, retention).

19.11.2025

Plugins - Functions in Semantic Kernel

Plugins - Functions in Semantic Kernel

Deep‑dive on SK plugins: structure, manifests, metadata, packaging, and governance best practices.

18.11.2025

Testing Microsoft Graph Sites.Create.All (beta)

Testing Microsoft Graph Sites.Create.All (beta)

using Sites.Create.All to avoid Sites.FullControl.All with Sites.Selected

17.11.2025

MCP - Functions in Semantic Kernel

MCP - Functions in Semantic Kernel

Deep‑dive on MCP functions: exposing capabilities via Microsoft Copilot Protocol, setup, security, and pros/cons.

17.11.2025

OpenAPI - Functions in Semantic Kernel

OpenAPI - Functions in Semantic Kernel

Deep‑dive on SK OpenAPI functions: importing specs, auth wiring, errors/retries, and when to prefer native code.

16.11.2025

Declarative Prompt - Functions in Semantic Kernel

Declarative Prompt - Functions in Semantic Kernel

Deep‑dive on SK prompt functions: design patterns, grounding, inputs, safety guardrails, and evaluation.

15.11.2025

Native (code) - Functions in Semantic Kernel

Native (code) - Functions in Semantic Kernel

When and how to use native SK functions, .NET DI lifetimes, OBO auth, HttpClientFactory, and resiliency with Polly.

14.11.2025

Overview - Functions in Semantic Kernel

Overview - Functions in Semantic Kernel

Overview of SK function types (Native, Prompt, OpenAPI, MCP, Plugins), when to use each, and .NET DI lifetime basics.

13.11.2025

Copilot Retrieval API (Beta): What You Can Do Today

Copilot Retrieval API (Beta): What You Can Do Today

Overview of the Copilot Retrieval API in beta, today’s limits, and how to call it with user-delegated tokens via OBO.

12.11.2025

Semantic Index with SQL Server & Azure SQL

Semantic Index with SQL Server & Azure SQL

SQL Server vector storage and search SQL Server 2025 with DiskANN

11.11.2025

Semantic Index with Azure Cosmos DB

Semantic Index with Azure Cosmos DB

Using Azure Cosmos DB as an integrated vector store (DiskANN) for chat sessions, memory, and retrieval

10.11.2025

Semantic Index with Qdrant

Semantic Index with Qdrant

What Qdrant is, why it’s great for vector search, how to run it with Docker, and how to use it with Semantic Kernel in C#.

09.11.2025

Semantic Index with Azure AI Search

Semantic Index with Azure AI Search

Getting Started with AI Search

08.11.2025

Chunking strategies, metadata filters, and hybrid search (BM25 + vectors)

Chunking strategies, metadata filters, and hybrid search (BM25 + vectors)

How to chunk your data, filter it smartly, and combine BM25 with vectors for reliable retrieval.

07.11.2025

Retrieval‑augmented generation (RAG) patterns and evaluation

Retrieval‑augmented generation (RAG) patterns and evaluation

Practical RAG patterns that work in production and how to evaluate them with recall, groundedness, and latency.

06.11.2025

Vector Search Basics — Cosine Similarity and ANN Indexes (HNSW, IVF, PQ)

Vector Search Basics — Cosine Similarity and ANN Indexes (HNSW, IVF, PQ)

A practical primer on cosine similarity and common ANN indexes: HNSW, IVF, and PQ — with small, concrete examples.

05.11.2025

Semantic Index What Is It?

Semantic Index What Is It?

Getting Started with Vector Search

04.11.2025

Auto-append UTM parameters to Microsoft Learn links with an Astro Remark plugin

Auto-append UTM parameters to Microsoft Learn links with an Astro Remark plugin

What UTM parameters are, why companies use them, and how to add them automatically to Learn links with a tiny Astro Remark plugin.

03.11.2025

Stream chat to your frontend with SSE in ASP.NET Core (.NET 10)

Stream chat to your frontend with SSE in ASP.NET Core (.NET 10)

Build a streaming chat endpoint with Server-Sent Events (SSE) in ASP.NET Core and wire it to Semantic Kernel for token-by-token output.

03.11.2025

Chat with Semantic Kernel and Plugins in SPFx

Chat with Semantic Kernel and Plugins in SPFx

Build an SPFx chat webpart powered by Azure Functions and Semantic Kernel with streaming, Graph plugin calls, and Entra ID auth.

02.11.2025

Chat with DeepSeek locally and on Azure AI Foundry

Chat with DeepSeek locally and on Azure AI Foundry

DeepSeek chat locally and via Azure AI Foundry; setup, SK integration, streaming, and EU/US data residency tips.

02.11.2025

Chat with Localhost

Chat with Localhost

How to chat with localhost

01.11.2025

Chat with OpenAI and Azure OpenAI

Chat with OpenAI and Azure OpenAI

Connect to OpenAI and Azure OpenAI, stream tokens, compare differences, use Managed Identity, and deploy models in Azure.

31.10.2025

Semantic Kernel - An Overview

Semantic Kernel - An Overview

What Semantic Kernel is, how it works, which languages it supports, and where I'm using it.

30.10.2025

SPFx 1.22.0 Beta 3 Devops Pipeline

SPFx 1.22.0 Beta 3 Devops Pipeline

Azure Devops meets spfx 1.22.0.beta3, Heft, npm script and CI/CD

23.10.2025

SPFx 1.22.0 Beta 3 — Key Facts and Impressions

SPFx 1.22.0 Beta 3 — Key Facts and Impressions

Hands‑on notes from SPFx 1.22.0 Beta 3 — stability, Heft‑based builds, npm script strategy, and CI/CD tips.

22.10.2025

Why the On‑Behalf‑Of (OBO) Flow Matters

Why the On‑Behalf‑Of (OBO) Flow Matters

Clean up SharePoint libraries to Azure Blob Storage using SPFx, Azure Functions, and On‑Behalf‑Of (OBO) flow.

20.09.2025

Heft  The Build System You Didn’t Know You Needed

Heft The Build System You Didn’t Know You Needed

A powerful, extensible build system by Microsoft’s RushStack for managing TypeScript, React, and monorepo projects with clean, pluggable ...

13.05.2025

Unlocking Microsoft Teams Extensibility with Microsoft Graph Endpoints

Unlocking Microsoft Teams Extensibility with Microsoft Graph Endpoints

Microsoft Teams Tabs SSO

30.01.2025

Unlocking Microsoft Teams Extensibility with Webhooks and Connectors

Unlocking Microsoft Teams Extensibility with Webhooks and Connectors

Microsoft Teams Tabs SSO

29.01.2025

Provide Real-Time Project Update Notifications with a Microsoft Teams Bot

Provide Real-Time Project Update Notifications with a Microsoft Teams Bot

Microsoft Teams Tabs SSO

28.01.2025

Unlocking Microsoft Teams Extensibility with a Custom Copilot Agent Using the Team AI Library

Unlocking Microsoft Teams Extensibility with a Custom Copilot Agent Using the Team AI Library

Microsoft Teams Tabs SSO

27.01.2025

Provide Real-Time Project Update Notifications with a Microsoft Teams Bot

Provide Real-Time Project Update Notifications with a Microsoft Teams Bot

Microsoft Teams Tabs SSO

26.01.2025

Unlocking Microsoft Teams Extensibility with Messaging Extensions - Bot Framework and Action Cards for Inventory Management (and Copilot Agent)

Unlocking Microsoft Teams Extensibility with Messaging Extensions - Bot Framework and Action Cards for Inventory Management (and Copilot Agent)

Integrate Copilot with Teams Messaging Extensions to enhance collaboration and boost productivity.

24.01.2025

Unlocking Microsoft Teams Extensibility with Messaging Extensions - Bot Framework and Action Cards for Inventory Management

Unlocking Microsoft Teams Extensibility with Messaging Extensions - Bot Framework and Action Cards for Inventory Management

Build interactive inventory management in Teams using Bot Framework, Messaging Extensions, and Action Cards.

23.01.2025

Unlocking Microsoft Teams Extensibility  - A Comprehensive Guide

Unlocking Microsoft Teams Extensibility - A Comprehensive Guide

Extend Teams with tabs, bots, messaging extensions, and Copilot agents to enhance collaboration and productivity.

22.01.2025

Unlocking Microsoft Teams Extensibility with Messaging Extensions - Action-based Extensions

Unlocking Microsoft Teams Extensibility with Messaging Extensions - Action-based Extensions

Automate tasks and integrate third-party services directly from Teams chat with Action-based Messaging Extensions.

22.01.2025

Unlocking Microsoft Teams Extensibility with Messaging Extensions - Command-based Extensions

Unlocking Microsoft Teams Extensibility with Messaging Extensions - Command-based Extensions

Trigger custom actions in Teams with Command-based Messaging Extensions using simple text commands in chat.

21.01.2025

Unlocking Microsoft Teams Extensibility with Messaging Extensions -  Search-based Extensions

Unlocking Microsoft Teams Extensibility with Messaging Extensions - Search-based Extensions

Enhance Teams search by integrating external services with Search-based Messaging Extensions for seamless data retrieval.

21.01.2025

Unlocking Microsoft Teams Extensibility with Messaging Extension

Unlocking Microsoft Teams Extensibility with Messaging Extension

Enhance Teams collaboration by integrating external services directly in chat with Messaging Extensions.

20.01.2025

Unlocking Microsoft Teams Extensibility - Building a Teams Tab with SPFx - Storing Data in SharePoint and Using a Custom API

Unlocking Microsoft Teams Extensibility - Building a Teams Tab with SPFx - Storing Data in SharePoint and Using a Custom API

Microsoft Teams Tabs SSO

19.01.2025

Unlocking Microsoft Teams Extensibility - Enabling Single Sign-On (SSO) in Microsoft Teams Tabs

Unlocking Microsoft Teams Extensibility - Enabling Single Sign-On (SSO) in Microsoft Teams Tabs

Microsoft Teams Tabs SSO

18.01.2025

Unlocking Microsoft Teams Extensibility with Tabs

Unlocking Microsoft Teams Extensibility with Tabs

Microsoft Teams Extensibility with Tabs

17.01.2025

Unlocking Microsoft Teams Extensibility with Bots

Unlocking Microsoft Teams Extensibility with Bots

Microsoft Teams Tabs SSO

06.01.2025

The Christkind's - A Silent Night Reflection

The Christkind's - A Silent Night Reflection

PowerApps Interactive Map Control to streamline delivery planning with geospatial precision | A Christkind story

24.12.2024

The Christkind's - Mapping the Route

The Christkind's - Mapping the Route

PowerApps Interactive Map Control to streamline delivery planning with geospatial precision | A Christkind story

23.12.2024

The Christkind's - Optimization of the Supply Chain

The Christkind's - Optimization of the Supply Chain

Dive into how the Christkind enhances its delivery process with a custom React + SVG control for Power Apps | A Christkind story

22.12.2024

The Christkind's - Optimization of Delivery with a Custom Control

The Christkind's - Optimization of Delivery with a Custom Control

Dive into how the Christkind enhances its delivery process with a custom React + SVG control for Power Apps | A Christkind story

21.12.2024

The Christkind's - Discovering the Magic of Github Copilot

The Christkind's - Discovering the Magic of Github Copilot

The Christkind get in touch with the Copilot in VS Code | A Christkind story

20.12.2024

The Christkind's - A Surprising Discovery Copilot and the Bot

The Christkind's - A Surprising Discovery Copilot and the Bot

The Challenge of the Letters | A Christkind story

19.12.2024

The Christkind's - Building a Custom Bot for MS Teams with VSCode

The Christkind's - Building a Custom Bot for MS Teams with VSCode

The Challenge of the Letters | A Christkind story

18.12.2024

The Christkind's - Building a Custom Agent with Copilot Studio

The Christkind's - Building a Custom Agent with Copilot Studio

As the Christkind Gets in Touch with M365 and Copilot

17.12.2024

The Christkind's - Fine-Tuning the Graph Connector for Better Copilot Answers

The Christkind's - Fine-Tuning the Graph Connector for Better Copilot Answers

As the Christkind Gets in Touch with M365 and Copilot

16.12.2024

The Christkind's - Enhancing Knowledge Access with Graph Connectors

The Christkind's - Enhancing Knowledge Access with Graph Connectors

As the Christkind Gets in Touch with M365 and Copilot

15.12.2024

The Christkind's - The Meeting with Santa

The Christkind's - The Meeting with Santa

The Meeting with Santa | A Christkind story

14.12.2024

The Christkind's - The preparation for the call with Santa

The Christkind's - The preparation for the call with Santa

The Presentation to Santa | A Christkind story

13.12.2024

The Christkind's - Documenting the Christkind's Journey

The Christkind's - Documenting the Christkind's Journey

Documenting the Christkind's Journey| A Christkind story

12.12.2024

The Christkind's - Upgrading the Production Line Excel

The Christkind's - Upgrading the Production Line Excel

Upgrading the Production Line | A Christkind story

11.12.2024

The Christkind's - Upgrading the Production Line PowerApps

The Christkind's - Upgrading the Production Line PowerApps

Upgrading the Production Line | A Christkind story.

10.12.2024

Spreading the Christmas Spirit

Spreading the Christmas Spirit

Spreading the Christmas Spirit | A Christkind story

09.12.2024

The Christkind's - Deployment Dilemma

The Christkind's - Deployment Dilemma

The Challenge of the Letters - A Christkind story

08.12.2024

The Christkind's Ingenious Snail Mail Solution - To the next level

The Christkind's Ingenious Snail Mail Solution - To the next level

The Challenge of the Letters- A Christkind story

07.12.2024

The Christkind's Ingenious Snail Mail Solution - Embracing the Flow

The Christkind's Ingenious Snail Mail Solution - Embracing the Flow

The Christkind's Ingenious Snail Mail Solution - Embracing the Flow | A Christkind story

06.12.2024

The Christkind's Ingenious Snail Mail Solution - Bringing Letters to Life

The Christkind's Ingenious Snail Mail Solution - Bringing Letters to Life

The Christkind's Ingenious Snail Mail Solution - Bringing Letters to Life | A Christkind story

05.12.2024

The Christkind's Magical PWA - Transforming Children's Letters into Digital Art

The Christkind's Magical PWA - Transforming Children's Letters into Digital Art

The Christkind's Magical PWA - Transforming Children's Letters into Digital Art | A Christkind story

04.12.2024

The Christkind's Magical Email Solution

The Christkind's Magical Email Solution

The Christkind's Magical Email Solution | A Christkind story

03.12.2024

The Christkind's Data Transformation - From Letters to Forms

The Christkind's Data Transformation - From Letters to Forms

The Christkind's Data Transformation - From Letters to Dataverse | A Christkind story

02.12.2024

The Challenge of the Letters

The Challenge of the Letters

The Challenge of the Letters | A Christkind story

01.12.2024

As the Christkind Gets in Touch with M365 and Copilot

As the Christkind Gets in Touch with M365 and Copilot

As the Christkind Gets in Touch with M365 and Copilot

30.11.2024

Not registered as a safe control Error after SharePoint On-Premise update

Not registered as a safe control Error after SharePoint On-Premise update

Resolving the Control Is Not a Safe Control error after SharePoint on-premise update by adjusting web.config settings.

27.09.2024

Azure Durable Functions - Summary of Key Patterns

Azure Durable Functions - Summary of Key Patterns

Summarize key patterns in Azure Durable Functions, including Sequence, Parallel Fade In/Fade Out, Human Interaction, Async HTTP APIs, Mon...

21.09.2024

Azure Durable Functions - Fan-out/Fan-in Parallel Processing with .NET 8 Isolated

Azure Durable Functions - Fan-out/Fan-in Parallel Processing with .NET 8 Isolated

Learn how to process large CSV files in chunks using the Fan-out/Fan-in pattern for parallel task execution with Azure Durable Functions ...

20.09.2024

Azure Durable Functions - Human Interaction Pattern with .NET 8 Isolated

Azure Durable Functions - Human Interaction Pattern with .NET 8 Isolated

Discover how to implement the Human Interaction pattern in Azure Durable Functions with .NET 8 Isolated, enabling workflows that require ...

19.09.2024

Azure Durable Functions - Function Chaining and Delays with .NET 8 Isolated

Azure Durable Functions - Function Chaining and Delays with .NET 8 Isolated

Learn how to implement function chaining and introduce delays in Azure Durable Functions using .NET 8 Isolated process mode.

18.09.2024

Azure Durable Functions with .NET 8 Isolated

Azure Durable Functions with .NET 8 Isolated

Learn how to build scalable workflows using Azure Durable Functions with .NET 8 Isolated process mode.

17.09.2024

How to Integrate Azure Application Insights with Azure Functions Using .NET 8 in C#

How to Integrate Azure Application Insights with Azure Functions Using .NET 8 in C#

Learn how to integrate Azure Application Insights with Azure Functions using .NET 8 in C# for enhanced monitoring and diagnostics of your...

17.07.2024

How to Deploy a React PWA to Azure Static Web Apps

How to Deploy a React PWA to Azure Static Web Apps

Learn how to set up and integrate Azure Application Insights into your React PWA using TypeScript for enhanced monitoring and performance...

12.07.2024

Azure Application Insights for React PWA Apps

Azure Application Insights for React PWA Apps

Learn how to set up and integrate Azure Application Insights into your React PWA using TypeScript for enhanced monitoring and performance...

07.07.2024

Why Use Application Insights for Your Applications

Why Use Application Insights for Your Applications

Application Insights What .

01.07.2024

Workload Identity for Azure Kubernetes Service

Workload Identity for Azure Kubernetes Service

Workload Identity for Azure Kubernetes Service (AKS) securely integrates Azure Active Directory (Azure AD) with Kubernetes, simplifying a...

29.05.2024

Getting Started with Azure Kubernetes Service (AKS) using Bicep

Getting Started with Azure Kubernetes Service (AKS) using Bicep

AKS introduction.

18.05.2024

Exploring the Benefits of Infrastructure as Code in Azure with Terraform and Bicep

Exploring the Benefits of Infrastructure as Code in Azure with Terraform and Bicep

Discover the advantages of Infrastructure as Code in Azure with Terraform and Bicep. Learn how leveraging these tools can streamline depl...

03.05.2024

Securing Your DevOps Pipeline - Implementing NuGet Vulnerability Checks

Securing Your DevOps Pipeline - Implementing NuGet Vulnerability Checks

Learn how to bolster your DevOps pipeline security by seamlessly integrating NuGet vulnerability checks, from identifying potential risks...

30.04.2024

SPFx run serve config - Mastering SPFx Serve Configurations for Multiple Extensions

Explore mastering serve configurations in SPFx to efficiently manage multiple extensions for streamlined development and enhanced collabo...

02.07.2023

SPFx CommandSet - How to Determine If a Selected Row Is a Folder or File

Learn how to distinguish between folders and files in a list view using a simple JavaScript code snippet.

30.06.2023

Demystifying Azure DevOps Predefined Variables on MacOS Build Agents

Unlock the power of Azure DevOps predefined variables on MacOS Build Agents for streamlined build processes.

14.11.2020

Navigating Image Manipulation in dotnet core and Azure App Service (Linux)

Explore the challenges and solutions of image manipulation in dotnet core on Azure App Service (Linux), highlighting the importance of pl...

02.06.2020

Simplifying Entity Framework Core Usage of JSON ColumnType for Dynamic Data

Efficiently manage dynamic data in Entity Framework Core using JSON columns.

31.05.2020