Making agents for ✈️ Ground School
A few weeks ago I published an article about ✈️ Ground School - a peer-based skilling community that I started at Microsoft. Over the past 6 months we have hosted 15+ sessions and generated thousands of question-and-answer pairs. Frequently people were coming to me and asking for access to recordings of previous sessions, and of course the recap.
Every session of Ground School is recorded, transcribed and recapped via the meeting Facilitator assistant in Teams (note this feature is currently in Public Preview and may not be available in your tenant.
Note: Facilitator is a collaborative agent available to users in Teams conversations and meetings. It combines the power of large language models (LLMs) and Teams data to record notes and help users be productive during meetings and in chats. AI-generated notes for meetings created by Facilitator are stored as a .loop file in a OneDrive folder titled Meetings of the user who initiated Facilitator in Teams.
Of course every Ground School session has a PowerPoint deck that contains the majority of the slides and demos for the session. These get stored in my SharePoint. I make sure to put a copy of the recording of the session in the same folder so that the community can catch up and access sessions they weren't able to attend in person.
However, I found that going through each session recording and even accessing the AI-generated notes was cumbersome. I asked myself how could I make all of this available for people whom wanted to leverage the many hours of content and knowledge generated in these sessions. This is why I built the ✈️ Ground Control Agent. ahh...💡
➡️ Agent Jobs to be done...
I had some specific jobs in mind for this agent:
💡Know all of the content shared in every session of ✈️ Ground School
💡 It should be able to quiz on my knowledge of Ground School topics
💡 It should know the calendar of upcoming sessions, topics and speakers
💡 It should be able to generate a Ground School badge users can download for fun
➡️ Making the agent
To build the agent I used the embedded "Agent Builder" that comes inside of Microsoft 365 Copilot. ➡️ Important: In order to use this you need a license for Microsoft 365 Copilot and a license for Microsoft 365.
With Agent Builder I can quickly generate an agent using text and it creates the agent dynamically based on the answers to simple questions. The Describe tab allows you to create an agent using plain language. As you provide information conversationally, the agent's name, description, and instructions update continuously to refine the agent's behavior. T After you create an agent, you can return to the agent and use the Describe tab to update it using natural language. In fact here is where I used the Agent Jobs to be Done to instruct Agent Builder exactly what I wanted the agent to be able to do!
➡️ Making my agent knowledgeable
For my agent I wanted it to have the knowledge of all of the content from each of the sessions and so I configured it to use the SharePoint where all of the PowerPoints, documents and recaps for the sessions were stored. The agent builder allows you to configure specific knowledge sources for the agent to reference. This feature helps the agent provide more relevant answers based on specific files, folders, and sites from SharePoint and Microsoft Graph connectors.
You can enter a URL for a SharePoint site or folder, such as blah.sharepoint.com/sites/blah. The agent searches the URL and sub paths. The agent uses relevant information to provide a targeted response.
➡️ Giving the agent image generation skills
I wanted the agent to be able to also wanted the agent to be able to create a badge for participants and so I enabled image generation in my agent. This works with the starter prompt to "Create a Ground School Badge"
I added the starter prompt so people can generate their own Ground School badges with my agent. Starter prompts are a great way to make sure people know what they can do with your agent.
➡️ Sharing the Agent
Lastly I made sure to permission the agent so that the people I wanted to be able to access the knowledge and content the agent had were able to do so. It creates a sharing link that you can give to people, share in a chat, channel or send in an email.
In conclusion
All of this took about 10-15 minutes and I had a basic agent up and running with zero coding required by me. If this capability is available in your tenant I'd encourage you to give it a try. This is about as easy as it gets to create a conversational agent and the possibilities to connect it to your knowledge sources and provide basic instructions is powerful. If I can do it, you can too. 👉 Give it a shot and send me comments here on how it went!
Strategy | Leadership | Operations Management
5moThank you Steven Abrahams. I see you have built this in Agent Builder rather than Copilot Studio. What was the thinking around that decision? It seems to be a point of confusion for people (by people, I mean me) as to whether you are better off building an Agent first time in Agent Builder or Copilot Studio, so appreciate any thoughts you have on this
PM for extensibility of Copilot for Microsoft 365
5moAgent Builder is coming to all M365 business users next week!