Event Recap: Who is the Main Pilot? Copilot Studio and .NET at .NET North East

Introduction: The Developer’s New Blueprint

A massive thank you to the vibrant community at .NET Meetup North East for hosting me on Wednesday, October 29, 2025. It was a fantastic evening of tech talks, and I was thrilled to present my session: “Who Is Really the Main Pilot? Building Smarter Apps with Microsoft Copilot Studio and .NET.”

The central question of the talk was this: in an era where AI is becoming a core part of the development process, how do we as developers stay in control and steer the intelligence?

Title slide of the presentation

Here’s a recap of the key themes we explored.

The AI-First Vision: Copilot Everywhere

Microsoft’s vision is clear: AI is being woven into the fabric of its entire technology stack. This “Copilot Everywhere” strategy extends far beyond a simple chatbot.

  • GitHub Copilot accelerates our coding workflow.
  • M365 Copilot integrates AI into our daily productivity tools.
  • Copilot Studio is the developer’s gateway to building and customizing these AI experiences, connecting them to our own backend services and data.

This shift means AI is no longer just an external API call; it’s an integrated partner. The challenge for us is to architect systems where we remain the “Main Pilot.”

Copilot Everywhere diagram

The .NET 9 Foundation: A Standard for AI

To build enterprise-grade AI applications, we need a solid foundation. .NET 9 delivers this with its core themes of Cloud Native & AI. The introduction of the Microsoft.Extensions.AI library provides a standardized, reliable, and dependency-injected way to consume Large Language Models (LLMs).

This new abstraction layer future-proofs our code, making it easier to switch between different AI models (from OpenAI, Azure AI, and others) without rewriting our application logic.

GitHub Copilot in action

Semantic Kernel: Your AI Orchestration Engine

If Microsoft.Extensions.AI is the plumbing, Semantic Kernel (SK) is the flight controller. It’s the crucial layer that allows us, the developers, to control the LLM’s behavior and its access to our application’s world.

SK acts as a bridge, connecting the LLM’s reasoning power with our reliable C# code. We define the boundaries and the tools the AI can use, ensuring that we are always in command.

Me presenting at .NET North East

SK Capability 1: Plugins (Giving the AI Superpowers)

Plugins are standard C# methods that we expose to the LLM as tools. This is how we allow the AI to perform actions on the user’s behalf, such as retrieving data from a database or calling a backend API. This is the core mechanism for extending Copilot Studio.

Me presenting at .NET North East

SK Capability 2: Memory (Grounding the AI)

LLMs don’t know about your private business data. Semantic Kernel’s memory feature, which implements the Retrieval-Augmented Generation (RAG) pattern, solves this. We can provide the AI with our own data, ensuring its responses are grounded in facts and preventing it from hallucinating.

Me presenting at .NET North East

SK Capability 3: The Planner (Automating the Workflow)

The Planner allows the LLM to break down a complex goal into a series of steps that it can execute using the available plugins. We write the C# functions; the AI orchestrates them. This dramatically reduces the amount of complex, hand-coded workflow logic we need to write.

The Modern .NET AI Stack: The Hierarchy of Control

As the “Main Pilot,” it’s crucial to understand where our control lies. The modern .NET AI stack gives us clear points of influence, primarily in the orchestration and foundation layers.

Layer Component Developer’s Control Point
Application Interface Copilot Studio / UI Defines the User Goal
Orchestration Semantic Kernel Defines the Tools (Plugins) and the Execution Logic
Foundation Microsoft.Extensions.AI Defines the Model Endpoint and Connection
Core Intelligence LLM (GPT, etc.) Provides the Base Reasoning and Language
Me presenting at .NET North East

A Practical Demo: Console App with Gemini

To make these concepts concrete, I demonstrated a simple .NET 9 console app that uses Semantic Kernel with the Google Gemini connector. Here are the most important parts of the code. For the full, runnable project, see the resources section below.

// 1. Initialize the Semantic Kernel builder
var builder = Kernel.CreateBuilder();

// 2. Configure it with the Gemini Chat Completion service
//    (The API key is securely retrieved from configuration in the full demo)
builder.AddGoogleAIGeminiChatCompletion(
    modelId: "gemini-1.5-flash",
    apiKey: "YOUR_GEMINI_API_KEY" // Replace with your key or load from config
);

// 3. Build the kernel
var kernel = builder.Build();

// 4. Invoke the kernel with a prompt
var result = await kernel.InvokePromptAsync("What is the history of the .NET Meetup North East?");

// 5. Get the result
Console.WriteLine(result.GetValue<string>());

Conclusion: You Are the Main Pilot

So, who is really the main pilot? The developer who designs the system.

AI won’t replace developers, but developers who embrace AI will lead the future. By leveraging tools like Semantic Kernel, we can build smarter, more powerful applications while remaining firmly in control of the logic, security, and overall behavior of our systems.

Resources and Further Reading

  • Event Link: You can find the event details on the .NET Meetup North East page.
  • YouTube Recording: The recording of the talk is available on YouTube.
  • Demo Project: The code for the demo I presented can be found on GitHub.

Thanks again to the fantastic community at .NET North East for a memorable evening!

Me presenting at .NET North East

Related Content