This blog post got a bit delayed with circumstances that were a little out of my control, all is revealed in the blog post.
However, I wanted to explain how I create Custom MCP Servers using the .NET MCP SDK as containers in Azure and then how they can are connected to Copilot Studio.
Posts by Simon Doy
Missing dependencies and Agent Components can take you a while to resolve when using Copilot Studio with Solutions.
Use this little tip to quickly add those missing agent components to your solutions.
When you build and deploy a Copilot Studio Agent with Knowledge as a managed solution, we have a problem.
The problem is that the Knowledge Source Url cannot be changed!
In this post I will show you a way to resolve this issue.
I wrote an article last year which tried to explain various challenges with Copilot Agents that are built on Copilot Studio and unexpected behaviour.
This topic highlights that issue when a user answers a question within a Copilot Studio agent and it switches to another topic unexpectedly.
In this first blog post of 2026 I have been delving into the Microsoft Agent 365 and building my first agent.
In the post we talk about how to get started, setup Agent 365 and then get an agent up and running and show the notification features.
#Microsoft365 #MicrosoftAgent365 #MicrosoftCopilot
As I have been building and delving into MCP Servers and integrating them with Microsoft 365 Copilot, I have uncovered a few more tweaks, tricks and tips and wanted to highlight a workaround for Copilot Agents built on Copilot Studio.
In this blog post I discuss an issue that I was seeing where Responsive AI was being triggered as it thought the agent was being attacked and stopping my Copilot Agent from responding.
I have been spending more and more time working with Azure AI Foundry Agent Service and in particular integration with MCP Servers. However, an MCP server that I build recently had one tool that just would not work, I've spent 2 days try things out and found a solution to the error "Sorry, something
We are just kicking off @m365north.bsky.social tonight, where @simonjhudson.bsky.social Dylan Hayes are talking about Whats New with Copilot in SharePoint and OneDrive.
Join us here
www.meetup.com/m365-north/e...
#mvpbuzz #microsoft365
In this blog post, I wanted to share how I am improving how I work when sharing and documenting solution designs for the development team at iThink 365.
This post represents the start of my journey into building an MCP server for Microsoft 365 Copilot. I delve into some of the articles that I found useful and explain what I am looking to build.
My Experiences with Copilot Studio – Gen AI Agents Not Behaving as Expected? Check Your Question’s Settings
In this post we delve into an issue where Copilot Studio questions were not being processed as expected leading to poor user experience.
Early morning start for @bsidesleeds.bsky.social
Excited to be part of this incredible local cyber security++ event with an incredible array of talks
I am spending a lot of time thinking about Multi-Agents within our business and our customers business.
In this post I start to share some of my thoughts and ideas.
Would to love to hear yours.
Viva Connections and SharePoint Framework Community Call - May 1st, 2025 Recording
💾 Recording of the @community.ms Viva Connections & #SharePoint Framework May 1st community call
• News
• Focus on SPFx powered experiences in Microsoft 365
• Demos by @simondoy.bsky.social and Brian McCullough
• Host @pnp.horse
...and more 🚀
📺 Watch → youtu.be/2bXc6zOpYYc/
Been looking forward to our session on Microsoft 365 Copilot with our partners Everon, Microsoft and Pax8
Great to the Maturity Model for Microsoft 365 has made it to BlueSky, thanks for organising @sympmarc.com
Looking for ways to explain how Microsoft 365 can benefit your organisation but not sure how to win over your leadership team, check out the Maturity Model and follow us here.
@mm4m365.org
Did you miss the latest Maturity Model for Microsoft 365 Practitioners call? @simonjhudson.bsky.social
discussed a new Practical Scenario: Enhancing Brand Management. #MM4M365 Here's the recording: youtu.be/b36ZFdLdnw8
And here is @simondoy.bsky.social doing the hands on insights into #AI and @microsoft.com #Copilot at Coventry & Warwickshire Chamber of Commerce AI and #Cybersecurity event.
The 80% turnout is an indication of how important businesses see AI to their success.
Excited to be involved with @microsoftlearn.bsky.social
#mVPsPledgeToAnswers
A7: I think keeping it simple and not trying to duplicate the capabilities of other agent technologies in Microsoft 365 will help. Though there should be an upgrade path so that people can move to more complex solutions when needed. #CollabTalk
A6: I think having editable built-in agents will have a big impact on adoption. I do worry about the control and agent sprawl. #CollabTalk
A5: I think the fact that they are not as powerful and configurable as their Copilot Studio cousins is a big limitation. However, that is also their benefit as they are less complicated and do one thing well. Use in HR, Sales, Finance and IT #CollabTalk
A2: Agents should serve a particular focus like an App on a phone. Ensure you do not mix too many different data types that are for different purposes in your libraries. Ideally just the one purpose. #CollabTalk
A1: The generation of them is straight-forward and anyone can create them provided they have permission and licenses. They are a much lower bar to entry. They appear in SharePoint and easy to switch between agents through SharePoint. #CollabTalk
You are probably right will have to take a look at our pipelines.
Glad you got sorted though.
Hope that helps :)
We use this task in a build pipeline
dotnet publish i365.Connect.Api/i365.Connect.Api.csproj --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)/api --property:WebPublishMethod=Package --property:PackageAsSingleFile=true
We use this task to deploy
- task: AzureFunctionApp@1
displayName: 'iThink Connect Api Deploy'
enabled: true
inputs:
azureSubscription: '${{ parameters.azureSubscriptionName }}'
appName: '$(functions.name)'
appType: functionApp
package: '$(Pipeline.Workspace)/api/drop/api'