Work IQ as MCP Tools

Work IQ as MCP Tools: Ten Verbs, Every Path, and an Agent That Discovers Its Own Schema

Part 3 of a series on building agents with the Microsoft Work IQ API. For two parts now, our agent has been doing something very specific: delegating. Over A2A, my code hands a whole question to Work IQ — “what meetings do I have today?” — and Work IQ does everything: retrieval, reasoning, synthesis, citations. My agent is essentially a well-authenticated messenger. That’s the right model when you want Copilot-quality answers with zero orchestration on…

Building a Conversational Work IQ Agent in C#: The A2A SDK, Multi-Turn, and Streaming

Building a Conversational Work IQ Agent in C#: The A2A SDK, Multi-Turn, and Streaming

In Part 1 we proved the concept: register an Entra app, POST a JSON-RPC envelope to the Work IQ gateway, and get back a grounded, permission-trimmed answer with citations. About forty lines of code, no RAG pipeline, no permission logic. It worked — but it isn’t an agent. It was one synchronous question, with me hand-building the JSON-RPC envelope and hand-parsing the response, and the user staring at nothing until the whole answer was computed…

work-iq-part1

Meet Work IQ: The Intelligence Behind Copilot, Now an API You Can Build On

If you’ve built an enterprise agent that needs to understand what’s actually happening inside an organization — who’s working on what, what was decided in last week’s meeting, which document is the latest version of the proposal — you already know the hard part isn’t the model. It’s the context. I’ve spent a good chunk of the last year on exactly this problem. In my SharePoint agents series I grounded an agent in SharePoint content,…

Building a SharePoint Agent That Remembers: Combining Memory + SharePoint Grounding

Building a SharePoint Agent That Remembers: Combining Memory + SharePoint Grounding

In Part 1, we built a Foundry agent with long-term memory that could remember user preferences, roles, and context across sessions without any custom embedding pipelines. If you haven’t read that post yet, I’d recommend starting there, as this one builds directly on top of that code. But here’s the thing: memory on its own is useful, but it’s not transformative. Knowing that a user prefers bullet-point summaries or works in the finance department is…

Beyond Stateless Conversations: Adding Long-Term Memory to Your Foundry Agents

Beyond Stateless Conversations: Adding Long-Term Memory to Your Foundry Agents

If you’ve worked with AI agents in production, you’ve almost certainly run into this problem: a user tells your agent something important in one session, and the next time they come back, the agent has completely forgotten about it. The user has to repeat themselves. Context is lost. The experience feels disjointed. I ran into this exact issue while working on a project where users were interacting with an enterprise agent multiple times throughout the…