Meta-package for Strands community tools (convenience wrapper for strands-deepgram, strands-hubspot, strands-teams)
Project description
Strands Tools Community
Community-built production-ready tools for Strands Agents SDK. Build powerful AI agents with seamless integrations for speech processing, CRM operations, and team notifications.
📦 Installation Options
This is a meta-package that bundles three Strands community tools for convenience. For new projects following Strands conventions, consider using individual packages:
# Individual packages (recommended for new projects)
pip install strands-deepgram # Speech processing
pip install strands-hubspot # CRM operations
pip install strands-teams # Teams notifications
# Or install all three via meta-package
pip install strands-tools-community
Individual Package Links:
- 🎤 strands-deepgram - Speech & audio processing
- 🏢 strands-hubspot - HubSpot CRM operations
- 📢 strands-teams - Microsoft Teams notifications
🚀 Features
This package provides three production-ready tools that extend the capabilities of Strands agents:
| Tool | Description | Key Features |
|---|---|---|
| Deepgram | Speech & Audio Processing | Speech-to-text, text-to-speech, audio intelligence, 30+ languages, speaker diarization |
| HubSpot | CRM Operations | Universal CRM access, smart search, CRUD operations, associations, batch processing |
| Microsoft Teams | Notifications & Alerts | Adaptive cards, pre-built templates, custom notifications, rich formatting |
📦 Installation
# Install the community tools
pip install strands-tools-community
# Install Strands SDK with your preferred model provider
pip install 'strands-agents[anthropic]' # For Anthropic Claude (recommended)
# OR
pip install 'strands-agents[openai]' # For OpenAI GPT
# OR
pip install 'strands-agents[bedrock]' # For AWS Bedrock
🎯 Quick Start
from strands import Agent
from strands_tools_community import deepgram, hubspot, teams
# Create an agent with all tools
agent = Agent(tools=[deepgram, hubspot, teams])
# Use natural language to interact
agent("transcribe this audio file: recording.mp3")
agent("search for contacts in HubSpot with email containing '@example.com'")
agent("send a Teams notification about new leads")
🛠️ Tools Overview
Deepgram - Speech & Audio Processing
Powerful speech processing capabilities powered by Deepgram's API.
Key Features:
- Speech-to-Text: Transcribe audio with 30+ language support
- Text-to-Speech: Generate natural-sounding speech in multiple voices
- Audio Intelligence: Sentiment analysis, topic detection, intent recognition
- Speaker Diarization: Identify and separate different speakers
- Multi-format Support: WAV, MP3, M4A, FLAC, and more
Usage Example:
from strands import Agent
from strands_tools_community import deepgram
agent = Agent(tools=[deepgram])
# Transcribe audio with speaker identification
agent("transcribe audio from https://example.com/call.mp3 in Turkish with speaker diarization")
# Text-to-speech
agent("convert this text to speech and save as output.mp3: Hello world")
# Audio intelligence
agent("analyze sentiment and topics in recording.wav")
Configuration:
DEEPGRAM_API_KEY=your_deepgram_api_key # Required
DEEPGRAM_DEFAULT_MODEL=nova-3 # Optional
DEEPGRAM_DEFAULT_LANGUAGE=en # Optional
Get your API key at: console.deepgram.com
HubSpot - CRM Operations
Complete CRM integration for managing contacts, deals, companies, and more.
Key Features:
- Universal CRM Access: Works with ANY HubSpot object type
- Smart Search: Advanced filtering with property-based queries
- CRUD Operations: Create, read, update, and delete records
- Property Discovery: Automatic field detection and validation
- Association Management: Link related objects (contacts, deals, companies)
- Rich Console Output: Beautiful table displays with Rich library
Usage Example:
from strands import Agent
from strands_tools_community import hubspot
agent = Agent(tools=[hubspot])
# Search contacts
agent("find all contacts created in the last 30 days")
# Create a deal
agent("create a deal called 'Acme Corp Q4' with amount 50000")
# Update records
agent("update contact 12345 with lifecycle stage 'customer'")
# Get company details
agent("get company information for ID 67890")
Configuration:
HUBSPOT_API_KEY=your_hubspot_api_key # Required
HUBSPOT_DEFAULT_LIMIT=100 # Optional
Get your API key at: app.hubspot.com/private-apps
Microsoft Teams - Notifications & Alerts
Send rich, interactive notifications to Microsoft Teams channels.
Key Features:
- 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
Usage Example:
from strands import Agent
from strands_tools_community import teams
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")
Configuration:
TEAMS_WEBHOOK_URL=your_webhook_url # Optional - can be provided per call
Setup webhook: Teams Channel → Connectors → Incoming Webhook
🌟 Real-World Examples
Call Analytics Workflow
from strands import Agent
from strands_tools_community import deepgram, hubspot, teams
agent = Agent(tools=[deepgram, hubspot, teams])
# Automated call processing
agent("""
1. Transcribe the call recording at: call_recording.mp3
2. Search HubSpot for the contact with phone number from the call
3. Create a call activity in HubSpot with the transcript
4. Send a Teams notification about the call summary
""")
Lead Qualification Pipeline
# Qualify and notify about new leads
agent("""
Search HubSpot for all leads with:
- Lifecycle stage: Marketing Qualified Lead
- Created in the last 7 days
- Company size: 50+ employees
Then send a summary to Teams with the count and top 5 leads
""")
Daily Sales Digest
# Automated daily reporting
agent("""
1. Get all deals closed today from HubSpot
2. Get all new contacts created today
3. Calculate total revenue
4. Send a formatted digest to Teams with the results
""")
⚙️ Configuration
All tools support environment variables for API keys and default settings. You can also pass configuration directly when calling tools through the agent.
Environment Variables
# Deepgram Configuration
DEEPGRAM_API_KEY=your_deepgram_api_key
DEEPGRAM_DEFAULT_MODEL=nova-3
DEEPGRAM_DEFAULT_LANGUAGE=en
# HubSpot Configuration
HUBSPOT_API_KEY=your_hubspot_api_key
HUBSPOT_DEFAULT_LIMIT=100
# Microsoft Teams Configuration
TEAMS_WEBHOOK_URL=your_teams_webhook_url
API Key Resources
- Deepgram: console.deepgram.com
- HubSpot: app.hubspot.com/private-apps
- Teams Webhook: Teams Channel → Connectors → Incoming Webhook
📚 Documentation
For more information about the Strands Agent SDK:
🤝 Contributing
Contributions 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
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built for the Strands Agent SDK
- Powered by Deepgram, HubSpot, and Microsoft Teams
💬 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with ❤️ by the community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file strands_tools_community-0.2.0.tar.gz.
File metadata
- Download URL: strands_tools_community-0.2.0.tar.gz
- Upload date:
- Size: 25.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3473add49d6a44694cfb4d235c19bf053dd78edd4ff26b54f7746e4fd9a9f667
|
|
| MD5 |
20228637a1993112ddc50278ea7835d5
|
|
| BLAKE2b-256 |
2903bbfbc7d64ab56406228dbaf9fa5f6d88a89244c1d941e75c6caae98f1c07
|
Provenance
The following attestation bundles were made for strands_tools_community-0.2.0.tar.gz:
Publisher:
publish.yml on eraykeskinmac/strands-tools-community
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strands_tools_community-0.2.0.tar.gz -
Subject digest:
3473add49d6a44694cfb4d235c19bf053dd78edd4ff26b54f7746e4fd9a9f667 - Sigstore transparency entry: 606588915
- Sigstore integration time:
-
Permalink:
eraykeskinmac/strands-tools-community@eb3e90af7a61fa0e380862413a10660777bb077a -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/eraykeskinmac
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb3e90af7a61fa0e380862413a10660777bb077a -
Trigger Event:
release
-
Statement type:
File details
Details for the file strands_tools_community-0.2.0-py3-none-any.whl.
File metadata
- Download URL: strands_tools_community-0.2.0-py3-none-any.whl
- Upload date:
- Size: 26.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eea8b1ccd1f5243933e54639c25d8005973c6b6162f705acb24f6ad63e10b7af
|
|
| MD5 |
c0cb6cc5d629dd4f987b2ddf83a2ac83
|
|
| BLAKE2b-256 |
ad9542a6abd00b51fc43c63e2a91d0cdb0b601e325b5320f092b122301858f31
|
Provenance
The following attestation bundles were made for strands_tools_community-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on eraykeskinmac/strands-tools-community
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strands_tools_community-0.2.0-py3-none-any.whl -
Subject digest:
eea8b1ccd1f5243933e54639c25d8005973c6b6162f705acb24f6ad63e10b7af - Sigstore transparency entry: 606588927
- Sigstore integration time:
-
Permalink:
eraykeskinmac/strands-tools-community@eb3e90af7a61fa0e380862413a10660777bb077a -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/eraykeskinmac
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb3e90af7a61fa0e380862413a10660777bb077a -
Trigger Event:
release
-
Statement type: