Skip to main content

Meta-package for Strands community tools (convenience wrapper for strands-deepgram, strands-hubspot, strands-teams)

Project description

Strands Tools Community

License: MIT Python 3.9+ PyPI version Downloads

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:

🚀 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

📚 Documentation

For more information about the Strands Agent SDK:

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

💬 Support


Made with ❤️ by the community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

strands_tools_community-0.2.0.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

strands_tools_community-0.2.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

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

Hashes for strands_tools_community-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3473add49d6a44694cfb4d235c19bf053dd78edd4ff26b54f7746e4fd9a9f667
MD5 20228637a1993112ddc50278ea7835d5
BLAKE2b-256 2903bbfbc7d64ab56406228dbaf9fa5f6d88a89244c1d941e75c6caae98f1c07

See more details on using hashes here.

Provenance

The following attestation bundles were made for strands_tools_community-0.2.0.tar.gz:

Publisher: publish.yml on eraykeskinmac/strands-tools-community

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file strands_tools_community-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for strands_tools_community-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eea8b1ccd1f5243933e54639c25d8005973c6b6162f705acb24f6ad63e10b7af
MD5 c0cb6cc5d629dd4f987b2ddf83a2ac83
BLAKE2b-256 ad9542a6abd00b51fc43c63e2a91d0cdb0b601e325b5320f092b122301858f31

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page