Part 4 of a series on building agents with the Microsoft Work IQ API. Part 1 introduced Work IQ, Part 2 built a conversational A2A client, and Part 3 gave a custom agent Microsoft 365 capabilities through MCP. The first three agents in this series were useful only while they were running. Part 2 remembered a conversation through contextId. Part 3 could read and change Microsoft 365 data through MCP. Stop either process, however, and…
After three months running Model Router in production, I wanted to write up what actually works versus what the documentation promises. Part 1 covered the architecture and the decision framework. This post is the implementation: deployment, code, monitoring, and the edge cases that don’t show up until you hit them in production. Fair warning: this gets technical. I’m showing the .NET code we use, the telemetry that matters, and the gotchas that cost us a…
When building AI agents for enterprise applications, standard web search often returns irrelevant results that compromise the quality of your solution. During a recent client project, our team needed an AI assistant capable of providing developers with specific documentation and code samples. While Bing Search returned results from various sources including outdated forum posts and unofficial tutorials, we required focused, authoritative content from trusted developer resources. This challenge led us to implement Bing Custom Search,…


