This repository contains a reference implementation which demonstrates how to leverage the Microsoft 365 Agents SDK to build custom agents. The implementation showcases best practices, design patterns, and practical examples to help developers get started with creating their own agents using the SDK.
- FastAPI Backend: The backend is built using FastAPI, providing a high-performance and easy-to-use framework for building APIs.
- Modular Design: The implementation follows a modular design approach, allowing developers to easily extend and customize the functionality of their agents.
- Logging and Monitoring: Integrated logging and monitoring capabilities using OpenTelemetry to help developers track the performance and behavior of their agents.
- Authentication: Built-in support for authentication mechanisms to secure agent interactions.
- Channel Integration: Demonstrates how to integrate with various communication channels supported by the Microsoft 365 Agents SDK.
- Example Agents: Includes example agents demonstrating various use cases and functionalities.
To get started with the reference implementation, follow these steps:
-
Clone the Repository:
git clone https://github.com/PerfectThymeTech/m365-custom-agent.git cd m365-custom-agent -
Install Dependencies:
# Open copilot directory cd code/copilot # Install uv dependencies uv sync
-
Activate the virtual environment:
For Windows:
venv\Scripts\activate
For Linux/MacOS:
source venv/bin/activate -
Set Environment Variables:
Create a
.envfile in thecode/copilotdirectory based on the.env.TEMPLATEfile and fill in the required values. -
Run the Backend Application:
fastapi dev app/main.py
-
Access the API Documentation:
Open your browser and navigate to
http://localhost:8000/docsto access the interactive API documentation.
Comprehensive documentation is available to help you get started and make the most of the Microsoft 365 Custom Agent project. Visit the Documentation folder for more information.
Contributions are welcome! If you would like to contribute to this repository, please follow the contribution guidelines.
