Two weeks ago, I had the privilege of presenting two sessions at Microsoft Build 2026 in San Francisco! I’ve always enjoyed speaking at previous editions of Build, so it was great to be back again. This year, the event moved from Seattle to the beautiful Fort Mason Center in San Francisco. The waterfront location provided an incredible backdrop for a fantastic week of learning, networking, and sharing ideas.
My first session explored a simple but powerful question:
What happens if we treat Bicep not just as an Azure deployment language, but as a declarative control plane for any system with an API?
To demonstrate the concept, I built a custom Bicep Local Deploy extension that controls a physical Zigbee light through Home Assistant. While the light bulb itself was intentionally simple, the goal was much broader: showing how the same Infrastructure as Code principles we use for Azure can be extended to third-party APIs, edge environments, and virtually any platform that exposes a REST API.
The session, “Deploying Infrastructure and Turning on the Light: Bicep Beyond Azure,” was packed with live demos and practical examples. It generated some great discussions afterward and sparked a lot of ideas about what Bicep extensions can enable.
The abstract of the session was as follows:
“Take your Infrastructure as Code workflows to the next level with Bicep Local Deploy. In this demo-driven session, you’ll learn how to extend Bicep beyond Azure resources and treat external systems as declarative infrastructure. We walk through a custom Bicep extension in .NET that exposes new resource types and integrates with external REST APIs. A memorable live demo with practical insights! Leave with both the knowledge and the code needed to start building your own Bicep extensions.” https://build.microsoft.com/en-US/sessions/LTG454
I really enjoyed presenting the session and demonstrating it. The session sparked a lot of ideas in the audience, and I received great feedback afterward.
I also gave away a few copies of my book, as well as some Bicep stickers and pins, which were a great hit!
The demo was structured in three logical steps that demonstrate how Bicep can be extended beyond Azure. In the first step, we built a custom Bicep local-deploy extension by defining a resource model, implementing convergence logic, and creating a client that communicates with Home Assistant to control a Zigbee light.
In the second step, we compiled, published, and packaged the extension so it could be consumed by Bicep as a local extension.
Finally, in the third step, we used the extension from a standard Bicep deployment, where Bicep passed the desired state to the extension, the extension performed the required API calls, and the deployment returned outputs just like any native Azure deployment.
Together, these three steps demonstrate how Bicep can act as a declarative control plane for virtually any platform or system that exposes an API.
To help others get started with Bicep Local Deploy and custom extensions, I’ve published all source code and materials from the session here:https://github.com/fberson/Slidedecks/tree/main/2026/Microsoft%20Build%202026
Here is a quick video of the end result:
Thank you, Chloe Mandell, Melanie McKenna , and the entire team, for making the MVP experience at Microsoft Build such a success!