Microsoft Teams notifications tool for Strands Agents SDK. Enables powerful adaptive card notifications and rich messaging for AI agents.
- Adaptive Cards: Rich, interactive message cards
- Pre-built Templates: Notifications, approvals, status updates
- Custom Cards: Full adaptive card schema support
- Action Buttons: Add interactive elements to messages
- Rich Formatting: Markdown support, images, and media
- Type Safe: Full type hints and validation
- Easy Integration: Drop-in tool for Strands agents
- Python 3.9+
- Strands Agents SDK 1.11.0+
- Microsoft Teams webhook URL
pip install strands-teamsfrom strands import Agent
from strands_teams import teams
# Create an agent with Teams tool
agent = Agent(tools=[teams])
# Simple notification
agent("send a Teams message: New lead from Acme Corp")
# Use pre-built templates
agent("send an approval request to Teams for the Q4 budget")
# Status updates
agent("send a status update to Teams: website redesign is 75% complete")Set your Teams webhook URL as an environment variable:
TEAMS_WEBHOOK_URL=your_webhook_url # Optional - can be provided per callSetup webhook: Teams Channel → Connectors → Incoming Webhook
agent("send a notification to Teams about new sales leads")Features:
- Color-coded cards (default, good, attention, warning, accent)
- Title and message content
- Markdown formatting support
agent("send an approval request to Teams for budget approval")Features:
- Attention-grabbing style
- Approve and Reject action buttons
- Detailed description section
agent("send a status update to Teams: project is 75% complete")Features:
- Project and status information
- Color-coded by status
- Status emojis (✅, 🔄, ⏸️, 🚫, ❌)
agent("send a simple message to Teams: Meeting in 15 minutes")Features:
- Basic title and message
- Clean formatting
- Quick notifications
You can send fully custom adaptive cards:
from strands import Agent
from strands_teams import teams
agent = Agent(tools=[teams])
agent("""
Send this custom Teams card:
{
"type": "AdaptiveCard",
"version": "1.3",
"body": [
{
"type": "TextBlock",
"text": "Custom Card",
"weight": "Bolder",
"size": "Large"
}
]
}
""")For more information on adaptive cards, see: adaptivecards.io
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/ -vContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- PyPI: pypi.org/project/strands-teams
- GitHub: github.com/eraykeskinmac/strands-teams
- Strands Agents SDK: github.com/strands-agents/strands
- Adaptive Cards: adaptivecards.io
Built for the Strands community 🚀