Skip to content

Commit 073a22c

Browse files
docs: add 5 community tools to docs/community/tools/ (#320)
* docs: add 5 community tools to docs/community/tools/ Add comprehensive documentation for community-contributed tools: - strands-hubspot: READ-ONLY HubSpot CRM integration with safe data access - strands-teams: Microsoft Teams notifications with Adaptive Cards - strands-telegram: Complete Telegram Bot API with 60+ methods - strands-telegram-listener: Real-time message processing with AI auto-replies - strands-deepgram: Speech & audio processing with 30+ language support Each tool follows the community contribution format with: - Installation instructions - Usage examples - Key features - Configuration requirements - Resource links All tools are production-ready with comprehensive error handling, type safety, and detailed documentation for community adoption. * fix: address all PR #320 review feedback - Added YAML frontmatter with project and service information - Changed GitHub links to be primary (instead of PyPI first) - Added service provider links (Deepgram, HubSpot, Teams, Telegram) - Removed Strands SDK links (redundant in docs) - Fixed environment variable alignment with proper comments - Updated HubSpot link to working developer docs URL - Added strands-tools-community meta-package references - Fixed all issues raised by zastrowm in PR review * fix: remove deprecated strands-tools-community references The strands-tools-community meta-package is deprecated as all tools are now distributed as individual packages on PyPI. Removed the alternative installation references from all tool documentation. * feat: add comprehensive example repository to all community tools Add strands-tools-examples repository link to all tool documentation. This provides users with working examples, complete workflows, and interactive demos for testing all community tools. Repository includes: - Individual tool examples with real-world workflows - Interactive demo agent with REPL interface - Complete setup guide with environment variables - Telegram bot examples with AI-powered auto-replies - End-to-end integration examples combining multiple tools Example repository: https://github.com/eraykeskinmac/strands-tools-examples * Update links * Add tools to nav + reorder sidebar * Fix broken link * fix: remove anthropic dependency inconsistency in strands-hubspot - Remove 'strands-agents[anthropic]' from installation as it's inconsistent - Usage example uses default Agent() which works with Bedrock by default - Users can still install anthropic separately if they prefer - Keeps documentation consistent and simple --------- Co-authored-by: Mackenzie Zastrow <zastrowm@users.noreply.github.com>
1 parent 37cc8b6 commit 073a22c

File tree

6 files changed

+344
-3
lines changed

6 files changed

+344
-3
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
project:
3+
pypi: https://pypi.org/project/strands-deepgram/
4+
github: https://github.com/eraykeskinmac/strands-deepgram
5+
maintainer: eraykeskinmac
6+
service:
7+
name: deepgram
8+
link: https://console.deepgram.com/
9+
---
10+
11+
# strands-deepgram
12+
13+
{{ community_contribution_banner }}
14+
15+
[strands-deepgram](https://github.com/eraykeskinmac/strands-deepgram) is a production-ready speech and audio processing tool powered by [Deepgram's AI platform](https://deepgram.com/) with 30+ language support.
16+
17+
## Installation
18+
19+
```bash
20+
pip install strands-deepgram
21+
```
22+
23+
## Usage
24+
25+
```python
26+
from strands import Agent
27+
from strands_deepgram import deepgram
28+
29+
agent = Agent(tools=[deepgram])
30+
31+
# Transcribe with speaker identification
32+
agent("transcribe this audio: recording.mp3 with speaker diarization")
33+
34+
# Text-to-speech
35+
agent("convert this text to speech: Hello world")
36+
37+
# Audio intelligence
38+
agent("analyze sentiment in call.wav")
39+
```
40+
41+
## Key Features
42+
43+
- **Speech-to-Text**: 30+ language support and speaker diarization
44+
- **Text-to-Speech**: Natural-sounding voices (Aura series)
45+
- **Audio Intelligence**: Sentiment analysis, topic detection, and intent recognition
46+
- **Speaker Diarization**: Identify and separate different speakers
47+
- **Multi-format Support**: WAV, MP3, M4A, FLAC, and more
48+
- **Real-time Processing**: Streaming capabilities for live audio
49+
50+
## Configuration
51+
52+
```bash
53+
DEEPGRAM_API_KEY=your_deepgram_api_key # Required
54+
DEEPGRAM_DEFAULT_MODEL=nova-3 # Optional
55+
DEEPGRAM_DEFAULT_LANGUAGE=en # Optional
56+
```
57+
58+
Get your API key at: [console.deepgram.com](https://console.deepgram.com/)
59+
60+
## Resources
61+
62+
- [PyPI Package](https://pypi.org/project/strands-deepgram/)
63+
- [GitHub Repository](https://github.com/eraykeskinmac/strands-deepgram)
64+
- [Examples & Demos](https://github.com/eraykeskinmac/strands-tools-examples)
65+
- [Deepgram API](https://console.deepgram.com/)
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
project:
3+
pypi: https://pypi.org/project/strands-hubspot/
4+
github: https://github.com/eraykeskinmac/strands-hubspot
5+
maintainer: eraykeskinmac
6+
service:
7+
name: hubspot
8+
link: https://developers.hubspot.com/
9+
---
10+
11+
# strands-hubspot
12+
13+
{{ community_contribution_banner }}
14+
15+
[strands-hubspot](https://github.com/eraykeskinmac/strands-hubspot) is a production-ready HubSpot CRM tool designed for **READ-ONLY** operations with zero risk of data modification. It enables agents to safely access and analyze CRM data without any possibility of corrupting customer information.
16+
17+
This community tool provides comprehensive HubSpot integration for AI agents, offering safe CRM data access for sales intelligence, customer research, and data analytics workflows.
18+
19+
## Installation
20+
21+
```bash
22+
pip install strands-hubspot
23+
```
24+
25+
## Usage
26+
27+
```python
28+
from strands import Agent
29+
from strands_hubspot import hubspot
30+
31+
# Create an agent with HubSpot READ-ONLY tool
32+
agent = Agent(tools=[hubspot])
33+
34+
# Search contacts (READ-ONLY)
35+
agent("find all contacts created in the last 30 days")
36+
37+
# Get company details (READ-ONLY)
38+
agent("get company information for ID 67890")
39+
40+
# List available properties (READ-ONLY)
41+
agent("show me all available deal properties")
42+
43+
# Search with filters (READ-ONLY)
44+
agent("search for deals with amount greater than 10000")
45+
```
46+
47+
## Key Features
48+
49+
- **Universal READ-ONLY Access**: Safely search ANY HubSpot object type (contacts, deals, companies, tickets, etc.)
50+
- **Smart Search**: Advanced filtering with property-based queries and sorting
51+
- **Object Retrieval**: Get detailed information for specific CRM objects by ID
52+
- **Property Discovery**: List and explore all available properties for any object type
53+
- **User Management**: Get HubSpot user/owner details and assignments
54+
- **100% Safe**: NO CREATE, UPDATE, or DELETE operations - read-only by design
55+
- **Rich Console Output**: Beautiful table displays with Rich library formatting
56+
- **Type Safe**: Full type hints and comprehensive error handling
57+
58+
## Configuration
59+
60+
Set your HubSpot API key as an environment variable:
61+
62+
```bash
63+
HUBSPOT_API_KEY=your_hubspot_api_key # Required
64+
HUBSPOT_DEFAULT_LIMIT=100 # Optional
65+
```
66+
67+
Get your API key at: [HubSpot Private Apps](https://developers.hubspot.com/docs/api/private-apps)
68+
69+
## Resources
70+
71+
- [PyPI Package](https://pypi.org/project/strands-hubspot/)
72+
- [GitHub Repository](https://github.com/eraykeskinmac/strands-hubspot)
73+
- [Examples & Demos](https://github.com/eraykeskinmac/strands-tools-examples)
74+
- [HubSpot API Docs](https://developers.hubspot.com/)
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
project:
3+
pypi: https://pypi.org/project/strands-teams/
4+
github: https://github.com/eraykeskinmac/strands-teams
5+
maintainer: eraykeskinmac
6+
service:
7+
name: microsoft-teams
8+
link: https://teams.microsoft.com/
9+
---
10+
11+
# strands-teams
12+
13+
{{ community_contribution_banner }}
14+
15+
[strands-teams](https://github.com/eraykeskinmac/strands-teams) is a production-ready Microsoft Teams notification tool with rich Adaptive Cards support and custom messaging capabilities.
16+
17+
## Installation
18+
19+
```bash
20+
pip install strands-teams
21+
```
22+
23+
## Usage
24+
25+
```python
26+
from strands import Agent
27+
from strands_teams import teams
28+
29+
agent = Agent(tools=[teams])
30+
31+
# Simple notification
32+
agent("send a Teams message: New lead from Acme Corp")
33+
34+
# Status update with formatting
35+
agent("send a status update: Website redesign is 75% complete")
36+
37+
# Custom adaptive card
38+
agent("create approval request for Q4 budget with amount $50000")
39+
```
40+
41+
## Key Features
42+
43+
- **Adaptive Cards**: Rich, interactive message cards with modern UI
44+
- **Pre-built Templates**: Notifications, approvals, status updates, and alerts
45+
- **Custom Cards**: Full adaptive card schema support for complex layouts
46+
- **Action Buttons**: Add interactive elements and quick actions
47+
- **Rich Formatting**: Markdown support, images, tables, and media
48+
- **Webhook Integration**: Seamless Teams channel integration
49+
50+
## Configuration
51+
52+
```bash
53+
TEAMS_WEBHOOK_URL=your_teams_webhook_url # Optional (can be provided per call)
54+
```
55+
56+
Setup webhook: Teams Channel → Connectors → Incoming Webhook
57+
58+
## Resources
59+
60+
- [PyPI Package](https://pypi.org/project/strands-teams/)
61+
- [GitHub Repository](https://github.com/eraykeskinmac/strands-teams)
62+
- [Examples & Demos](https://github.com/eraykeskinmac/strands-tools-examples)
63+
- [Adaptive Cards](https://adaptivecards.io/)
64+
- [Teams Webhooks](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/what-are-webhooks-and-connectors)
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
project:
3+
pypi: https://pypi.org/project/strands-telegram-listener/
4+
github: https://github.com/eraykeskinmac/strands-telegram-listener
5+
maintainer: eraykeskinmac
6+
service:
7+
name: telegram
8+
link: https://core.telegram.org/bots
9+
---
10+
11+
# strands-telegram-listener
12+
13+
{{ community_contribution_banner }}
14+
15+
[strands-telegram-listener](https://github.com/eraykeskinmac/strands-telegram-listener) is a real-time Telegram message processing tool with AI-powered auto-replies and comprehensive event handling.
16+
17+
## Installation
18+
19+
```bash
20+
pip install strands-telegram-listener
21+
```
22+
23+
## Usage
24+
25+
```python
26+
from strands import Agent
27+
from strands_telegram_listener import telegram_listener
28+
29+
agent = Agent(tools=[telegram_listener])
30+
31+
# Start listening for messages
32+
agent("start Telegram listener")
33+
34+
# Get recent messages
35+
agent("get last 10 Telegram messages")
36+
37+
# Check listener status
38+
agent("check Telegram listener status")
39+
```
40+
41+
## Key Features
42+
43+
- **Real-time Processing**: Long polling for instant message handling
44+
- **AI Auto-replies**: Intelligent responses using Strands agents
45+
- **Event Storage**: Comprehensive message history in JSONL format
46+
- **Smart Filtering**: Message deduplication and selective processing
47+
- **Background Threading**: Non-blocking operation
48+
- **Status Monitoring**: Real-time listener status and metrics
49+
- **Flexible Configuration**: Environment-based settings
50+
51+
## Configuration
52+
53+
```bash
54+
TELEGRAM_BOT_TOKEN=your_bot_token # Required
55+
STRANDS_TELEGRAM_AUTO_REPLY=true # Optional
56+
STRANDS_TELEGRAM_LISTEN_ONLY_TAG=#support # Optional
57+
```
58+
59+
Get your bot token at: [BotFather](https://core.telegram.org/bots#botfather)
60+
61+
## Resources
62+
63+
- [PyPI Package](https://pypi.org/project/strands-telegram-listener/)
64+
- [GitHub Repository](https://github.com/eraykeskinmac/strands-telegram-listener)
65+
- [Examples & Demos](https://github.com/eraykeskinmac/strands-tools-examples)
66+
- [Bot Creation Guide](https://core.telegram.org/bots)
67+
- [Telegram Bot API](https://core.telegram.org/bots/api)
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
project:
3+
pypi: https://pypi.org/project/strands-telegram/
4+
github: https://github.com/eraykeskinmac/strands-telegram
5+
maintainer: eraykeskinmac
6+
service:
7+
name: telegram
8+
link: https://core.telegram.org/bots
9+
---
10+
11+
# strands-telegram
12+
13+
{{ community_contribution_banner }}
14+
15+
[strands-telegram](https://github.com/eraykeskinmac/strands-telegram) is a comprehensive Telegram Bot API integration tool with 60+ methods for complete bot development capabilities.
16+
17+
## Installation
18+
19+
```bash
20+
pip install strands-telegram
21+
```
22+
23+
## Usage
24+
25+
```python
26+
from strands import Agent
27+
from strands_telegram import telegram
28+
29+
agent = Agent(tools=[telegram])
30+
31+
# Send simple message
32+
agent("send a Telegram message 'Hello World' to chat 123456")
33+
34+
# Send media with caption
35+
agent("send photo.jpg to Telegram with caption 'Check this out!'")
36+
37+
# Create interactive keyboard
38+
agent("send a message with buttons: Yes/No for approval")
39+
```
40+
41+
## Key Features
42+
43+
- **60+ Telegram API Methods**: Complete Bot API coverage
44+
- **Media Support**: Photos, videos, audio, documents, and stickers
45+
- **Interactive Elements**: Inline keyboards, polls, dice games
46+
- **Group Management**: Admin functions, member management, permissions
47+
- **File Operations**: Upload, download, and media handling
48+
- **Webhook Support**: Real-time message processing
49+
- **Custom API Calls**: Extensible for any Telegram method
50+
51+
## Configuration
52+
53+
```bash
54+
TELEGRAM_BOT_TOKEN=your_bot_token # Required
55+
```
56+
57+
Get your bot token at: [BotFather](https://core.telegram.org/bots#botfather)
58+
59+
## Resources
60+
61+
- [PyPI Package](https://pypi.org/project/strands-telegram/)
62+
- [GitHub Repository](https://github.com/eraykeskinmac/strands-telegram)
63+
- [Examples & Demos](https://github.com/eraykeskinmac/strands-tools-examples)
64+
- [Bot Creation Guide](https://core.telegram.org/bots)
65+
- [Telegram Bot API](https://core.telegram.org/bots/api)

mkdocs.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,16 +209,22 @@ nav:
209209

210210
- Community:
211211
- Community Packages: community/community-packages.md
212-
- Tools:
213-
- UTCP: community/tools/utcp.md
214212
- Integrations:
215213
- AG-UI: community/integrations/ag-ui.md
216214
- Model Providers:
217215
- Cohere: community/model-providers/cohere.md
218216
- CLOVA Studio: community/model-providers/clova-studio.md
219217
- Fireworks AI: community/model-providers/fireworksai.md
220218
- Session Managers:
221-
- Amazon AgentCore Memory: community/session-managers/agentcore-memory.md
219+
- Amazon AgentCore Memory: community/session-managers/agentcore-memory.md
220+
- Tool Protocols:
221+
- UTCP: community/tools/utcp.md
222+
- Tools:
223+
- deepgram: community/tools/strands-deepgram.md
224+
- hubspot: community/tools/strands-hubspot.md
225+
- teams: community/tools/strands-teams.md
226+
- telegram: community/tools/strands-telegram.md
227+
- telegram-listener: community/tools/strands-telegram-listener.md
222228

223229
- Contribute ❤️: https://github.com/strands-agents/sdk-python/blob/main/CONTRIBUTING.md
224230
- Python API:

0 commit comments

Comments
 (0)