|
1 | 1 | # Microsoft Agent 365 Notifications |
| 2 | +[](https://badge.fury.io/py/microsoft-agents-a365-notifications) |
2 | 3 |
|
3 | | -This package provides notification and messaging extensions for AI agent applications. |
| 4 | +Notification and messaging extensions for AI agent applications built with the Microsoft Agent 365 SDK. Enable your agents to handle rich notifications from Microsoft 365 applications like Word, Excel, PowerPoint, and Email. |
4 | 5 |
|
5 | | -## Features |
| 6 | +## What is this? |
6 | 7 |
|
7 | | -- **Agent SDK Extensions**: Enhanced notification capabilities for AI agents |
8 | | -- **Channel Management**: Support for different communication channels |
9 | | -- **Activity Handling**: Interfaces for managing agent activities and recipients |
10 | | -- **Role-based Messaging**: Support for role-based communication patterns |
| 8 | +This library is part of the Microsoft Agent 365 SDK for Python - a comprehensive framework for building enterprise-grade conversational AI agents. The notifications package specifically handles incoming notifications from Microsoft 365 applications, allowing your agents to respond to events like document updates, email mentions, and collaborative activities. |
11 | 9 |
|
12 | | -## Quick Start |
13 | | - |
14 | | -### Import the notification extensions |
15 | | -```python |
16 | | -from microsoft_kairo.notification import agents_sdk_extensions |
17 | | -``` |
| 10 | +## Key Features |
18 | 11 |
|
19 | | -### Basic Usage |
20 | | - |
21 | | -The package provides interfaces and utilities for: |
22 | | -- Managing communication channels (`ChannelId`) |
23 | | -- Defining recipients with roles (`IRecipient`) |
24 | | -- Handling agent activities (`IActivity`) |
25 | | -- Assertion helpers for validation |
| 12 | +✅ **Microsoft 365 Integration** - Handle notifications from Word, Excel, PowerPoint, and Outlook |
| 13 | +✅ **Channel Routing** - Intelligent routing based on source application and context |
| 14 | +✅ **Type Safety** - Built with Pydantic for automatic validation and type checking |
| 15 | +✅ **Flexible Handlers** - Support for wildcard and specific channel notification handlers |
| 16 | +✅ **Enterprise Ready** - Built for production Microsoft 365 environments |
| 17 | +✅ **Async Support** - Full async/await support for high-performance applications |
26 | 18 |
|
27 | 19 | ## Installation |
28 | 20 |
|
29 | 21 | ```bash |
30 | 22 | pip install microsoft-agents-a365-notifications |
31 | 23 | ``` |
32 | 24 |
|
| 25 | +## Quick Start |
| 26 | + |
| 27 | +### Basic Concepts |
| 28 | + |
| 29 | +The Microsoft Agent 365 Notifications package enables your agents to receive and respond to notifications from Microsoft 365 applications. Key concepts include: |
| 30 | + |
| 31 | +- **Notification Handlers**: Functions that process incoming notifications |
| 32 | +- **Channel Routing**: Route notifications based on the source application |
| 33 | +- **Sub-Channel Filtering**: Handle specific types of notifications (email, documents, etc.) |
| 34 | +- **Context Integration**: Access rich context about the notification source |
| 35 | + |
| 36 | +### Getting Started |
| 37 | + |
| 38 | +1. Install the package: `pip install microsoft-agents-a365-notifications` |
| 39 | +2. Configure your agent application with notification support |
| 40 | +3. Register handlers for specific Microsoft 365 applications |
| 41 | +4. Process incoming notifications with full context |
| 42 | + |
| 43 | +## Supported Microsoft 365 Applications |
| 44 | + |
| 45 | +| Application | Sub-Channel ID | Description | |
| 46 | +|-------------|----------------|-------------| |
| 47 | +| **Email** | `email` | Handle mentions and email-based interactions | |
| 48 | +| **Word** | `word` | Respond to document collaboration events | |
| 49 | +| **Excel** | `excel` | Process spreadsheet updates and analysis requests | |
| 50 | +| **PowerPoint** | `powerpoint` | Handle presentation collaboration notifications | |
| 51 | +| **Federated Knowledge** | `federatedknowledgeservice` | Enterprise knowledge base interactions | |
| 52 | + |
| 53 | +## Advanced Usage |
| 54 | + |
| 55 | +### Notification Processing Features |
| 56 | + |
| 57 | +- **Custom Route Priorities**: Configure handler execution order for different notification types |
| 58 | +- **Authentication Integration**: Seamless integration with Microsoft 365 authentication flows |
| 59 | +- **Rich Context Access**: Access detailed metadata about notification sources and content |
| 60 | +- **Flexible Filtering**: Support for wildcard matching and specific application targeting |
| 61 | + |
| 62 | +### Notification Types |
| 63 | + |
| 64 | +The package supports various notification scenarios: |
| 65 | +- Document collaboration events (Word, Excel, PowerPoint) |
| 66 | +- Email mentions and interactions |
| 67 | +- Enterprise knowledge base updates |
| 68 | +- Custom application notifications |
| 69 | + |
| 70 | +## Architecture |
| 71 | + |
| 72 | +The notifications package follows a clean architecture pattern: |
| 73 | + |
| 74 | +- **Route Selectors**: Determine which notifications match specific handlers |
| 75 | +- **Activity Wrappers**: Strongly-typed wrappers around raw notification data |
| 76 | +- **Handler Registry**: Manages registration and execution of notification handlers |
| 77 | +- **Channel Filtering**: Intelligent filtering based on Microsoft 365 application context |
| 78 | + |
| 79 | +## Integration with Microsoft Agent 365 SDK |
| 80 | + |
| 81 | +This package works seamlessly with other Microsoft Agent 365 SDK components: |
| 82 | + |
| 83 | +| Package | Integration | |
| 84 | +|---------|-------------| |
| 85 | +| `microsoft-agents-activity` | Core activity types and protocols | |
| 86 | +| `microsoft-agents-hosting-core` | Agent lifecycle and middleware | |
| 87 | +| `microsoft-agents-authentication-msal` | Microsoft 365 authentication | |
| 88 | +| `microsoft-agents-hosting-teams` | Teams-specific hosting | |
| 89 | + |
| 90 | +## Sample Applications |
| 91 | + |
| 92 | +Check out these working examples: |
| 93 | + |
| 94 | +| Sample | Description | Location | |
| 95 | +|--------|-------------|----------| |
| 96 | +| **Word Assistant** | Agent that helps with document writing | `samples/word-assistant/` | |
| 97 | +| **Excel Analyzer** | Data analysis agent for spreadsheets | `samples/excel-analyzer/` | |
| 98 | +| **Email Summarizer** | Automatic email summary agent | `samples/email-summarizer/` | |
| 99 | +| **Multi-App Agent** | Handles notifications from all M365 apps | `samples/multi-app-agent/` | |
| 100 | + |
33 | 101 | ## Requirements |
34 | 102 |
|
35 | | -- Python 3.9+ |
36 | | -- Compatible with AI agent frameworks |
| 103 | +- **Python**: 3.11+ |
| 104 | +- **Dependencies**: |
| 105 | + - `typing-extensions >= 4.0.0` |
| 106 | + - `microsoft-agents-activity >= 0.4.0` |
| 107 | + - `microsoft-agents-hosting-core >= 0.4.0` |
| 108 | + - `pydantic >= 2.0.0` |
| 109 | + |
| 110 | +## Common Use Cases |
| 111 | + |
| 112 | +### Document Collaboration |
| 113 | +- Respond to document updates and changes |
| 114 | +- Provide writing assistance and suggestions |
| 115 | +- Generate document summaries and reviews |
| 116 | +- Handle collaborative editing scenarios |
| 117 | + |
| 118 | +### Data Analysis Assistant |
| 119 | +- Process spreadsheet updates and changes |
| 120 | +- Generate insights from data modifications |
| 121 | +- Create visualizations and reports |
| 122 | +- Assist with data analysis workflows |
| 123 | + |
| 124 | +### Email Productivity |
| 125 | +- Handle email mentions and notifications |
| 126 | +- Draft responses and follow-ups |
| 127 | +- Extract action items from conversations |
| 128 | +- Manage email-based workflows |
| 129 | + |
| 130 | +## Quick Links |
| 131 | + |
| 132 | +📦 [All SDK Packages on PyPI](TODO: Update when packages are published) |
| 133 | +📖 [Complete Documentation](https://github.com/microsoft/Agent365/tree/main/python) |
| 134 | +💡 [Python Samples Repository](https://github.com/microsoft/Agent365/tree/main/samples) |
| 135 | +🐛 [Report Issues](https://github.com/microsoft/Agent365/issues) |
| 136 | +🔧 [Microsoft 365 Developer Center](https://developer.microsoft.com/microsoft-365/) |
| 137 | + |
| 138 | +## License |
| 139 | + |
| 140 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
0 commit comments