Ask Copilot to show your team’s open approvals and it hands you a paragraph. No buttons, nothing to click. You still have to leave the chat and open SharePoint to act on any of it. SharePoint Copilot Apps exist to close that gap, and once I understood what that actually meant, I wanted to build one rather than just read the announcement. Public preview shipped July 9, 2026. I picked a scenario nobody in the…
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…
Part 3 of a series on building agents with the Microsoft Work IQ API. Part 1 introduced Work IQ, and Part 2 built a conversational A2A client with multi-turn context and streaming. Over the last year, one problem has followed nearly every capability we added to our private AI application: tools multiply quickly. The first connector is manageable. So are the first few functions. Then the agent needs email, calendar, people, Teams, SharePoint and OneDrive.…
Part 2 of a series on building agents with the Microsoft Work IQ API. Part 1 explained the Work IQ model and made a first grounded call with raw HttpClient. The raw A2A call in Part 1 was useful for one reason: it showed exactly what crossed the wire. I could see the Work IQ token audience, the JSON-RPC method, the A2A version header and the response shape. That removed a lot of guesswork. It…
Over the last year, our team has been building a private AI application for clients. The use cases changed from project to project, but the infrastructure underneath them started to look uncomfortably familiar. We needed agents. Then tools for those agents. Then connectors to Microsoft 365 and other systems. Then indexing, retrieval, conversation state, monitoring and permission checks. Every new capability solved a user problem while quietly giving us another component to operate. I saw…




