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: 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 (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
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
Microsoft Semantic Kernel. Draft emails, propose meetings, and create calendar blockers.
30.11.2025
Semantic Kernel Orchestration
How to orchestrate agents in Semantic Kernel: definitions, planning, and multi-step workflows.
29.11.2025
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
Subscribe to Windows Event Log in a Windows Service; handle lifecycle, filtering, and SK processing.
27.11.2025
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
Implement scheduled jobs with Worker Service, cron/systemd, or Functions; avoid overlap and handle drift.
25.11.2025
Webhook Trigger
Handle webhooks safely: signature verification, idempotency, retry handling, queuing, and SK invocation.
24.11.2025
HTTP Request Trigger
Build HTTP-triggered SK endpoints with ASP.NET Core minimal APIs, auth, DI, resiliency, and hosting.
23.11.2025
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
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
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
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
Deep‑dive on SK plugins: structure, manifests, metadata, packaging, and governance best practices.
18.11.2025
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
Deep‑dive on MCP functions: exposing capabilities via Microsoft Copilot Protocol, setup, security, and pros/cons.
17.11.2025
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
Deep‑dive on SK prompt functions: design patterns, grounding, inputs, safety guardrails, and evaluation.
15.11.2025
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 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
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
SQL Server vector storage and search SQL Server 2025 with DiskANN
11.11.2025
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
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
Getting Started with AI Search
08.11.2025
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
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)
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?
Getting Started with Vector Search
04.11.2025
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)
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
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
DeepSeek chat locally and via Azure AI Foundry; setup, SK integration, streaming, and EU/US data residency tips.
02.11.2025
Chat with Localhost
How to chat with localhost
01.11.2025
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
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
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
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
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
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
Microsoft Teams Tabs SSO
30.01.2025
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
Microsoft Teams Tabs SSO
28.01.2025
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
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)
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
Build interactive inventory management in Teams using Bot Framework, Messaging Extensions, and Action Cards.
23.01.2025
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
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
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
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
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
Microsoft Teams Tabs SSO
19.01.2025
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
Microsoft Teams Extensibility with Tabs
17.01.2025
Unlocking Microsoft Teams Extensibility with Bots
Microsoft Teams Tabs SSO
06.01.2025
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
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
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
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 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 Challenge of the Letters | A Christkind story
19.12.2024
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
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
As the Christkind Gets in Touch with M365 and Copilot
16.12.2024
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 Meeting with Santa | A Christkind story
14.12.2024
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
Documenting the Christkind's Journey| A Christkind story
12.12.2024
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
Upgrading the Production Line | A Christkind story.
10.12.2024
Spreading the Christmas Spirit
Spreading the Christmas Spirit | A Christkind story
09.12.2024
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 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 | 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 | 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 | A Christkind story
04.12.2024
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 Dataverse | A Christkind story
02.12.2024
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
30.11.2024
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
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
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
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
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
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#
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
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
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
Application Insights What .
01.07.2024
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
AKS introduction.
18.05.2024
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
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