Skip to content

Commit 7dd04a6

Browse files
committed
docs: Update README with accurate READ-ONLY documentation and new badges
- Add PyPI downloads and GitHub Actions workflow badges - Correct documentation to reflect READ-ONLY nature of the tool - Remove misleading CRUD operation references - Add comprehensive safety explanations and use cases - Update examples to show only supported read-only operations
1 parent b5a4690 commit 7dd04a6

File tree

1 file changed

+58
-41
lines changed

1 file changed

+58
-41
lines changed

README.md

Lines changed: 58 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
11
# strands-hubspot
22

33
[![PyPI version](https://img.shields.io/pypi/v/strands-hubspot.svg)](https://pypi.org/project/strands-hubspot/)
4+
[![PyPI - Downloads](https://img.shields.io/pypi/dm/strands-hubspot)](https://pypi.org/project/strands-hubspot/)
45
[![Python Support](https://img.shields.io/pypi/pyversions/strands-hubspot.svg)](https://pypi.org/project/strands-hubspot/)
56
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7+
[![GitHub Workflow Status](https://github.com/eraykeskinmac/strands-hubspot/actions/workflows/publish.yml/badge.svg)](https://github.com/eraykeskinmac/strands-hubspot/actions)
68

7-
HubSpot CRM tool for [Strands Agents SDK](https://github.com/strands-agents/strands). Enables powerful CRM operations for AI agents with read-only access for safety.
9+
**READ-ONLY** HubSpot CRM tool for [Strands Agents SDK](https://github.com/strands-agents/strands). Enables safe CRM data access for AI agents with **zero risk** of data modification.
810

911
## Features
1012

11-
- **Universal CRM Access**: Works with ANY HubSpot object type
12-
- **Smart Search**: Advanced filtering with property-based queries
13-
- **CRUD Operations**: Create, read, update, and delete records
14-
- **Property Discovery**: Automatic field detection and validation
15-
- **Association Management**: Link related objects (contacts, deals, companies)
16-
- **Rich Console Output**: Beautiful table displays with Rich library
17-
- **Type Safe**: Full type hints and validation
18-
- **Easy Integration**: Drop-in tool for Strands agents
13+
- 🔍 **Universal READ-ONLY Access**: Safely search ANY HubSpot object type (contacts, deals, companies, tickets, etc.)
14+
- 🔎 **Smart Search**: Advanced filtering with property-based queries and sorting
15+
- 📄 **Object Retrieval**: Get detailed information for specific CRM objects by ID
16+
- 🏷️ **Property Discovery**: List and explore all available properties for any object type
17+
- 👤 **User Management**: Get HubSpot user/owner details and assignments
18+
- 🎨 **Rich Console Output**: Beautiful table displays with Rich library formatting
19+
- 🛡️ **100% Safe**: **NO CREATE, UPDATE, or DELETE** operations - read-only by design
20+
- 🔧 **Easy Integration**: Drop-in tool for Strands agents
21+
- 📝 **Type Safe**: Full type hints and comprehensive error handling
1922

2023
## Requirements
2124

@@ -35,17 +38,20 @@ pip install strands-hubspot
3538
from strands import Agent
3639
from strands_hubspot import hubspot
3740

38-
# Create an agent with HubSpot tool
41+
# Create an agent with HubSpot READ-ONLY tool
3942
agent = Agent(tools=[hubspot])
4043

41-
# Search contacts
44+
# Search contacts (READ-ONLY)
4245
agent("find all contacts created in the last 30 days")
4346

44-
# Create a deal
45-
agent("create a deal called 'Acme Corp Q4' with amount 50000")
46-
47-
# Get company details
47+
# Get company details (READ-ONLY)
4848
agent("get company information for ID 67890")
49+
50+
# List available properties (READ-ONLY)
51+
agent("show me all available deal properties")
52+
53+
# Search with filters (READ-ONLY)
54+
agent("search for deals with amount greater than 10000")
4955
```
5056

5157
## Configuration
@@ -59,7 +65,9 @@ HUBSPOT_DEFAULT_LIMIT=100 # Optional
5965

6066
Get your API key at: [app.hubspot.com/private-apps](https://app.hubspot.com/private-apps)
6167

62-
## Supported Actions
68+
## Supported READ-ONLY Actions
69+
70+
> ⚠️ **Important**: This tool is designed for READ-ONLY operations only. It **CANNOT** create, update, or delete any HubSpot data, ensuring complete safety for your CRM.
6371
6472
### Search (`search`)
6573

@@ -71,8 +79,8 @@ agent("search for contacts with email containing '@example.com'")
7179

7280
- Search any HubSpot object type (contacts, deals, companies, tickets, etc.)
7381
- Advanced filtering by property values
74-
- Sorting and pagination
75-
- Property selection
82+
- Sorting and pagination support
83+
- Property selection and customization
7684

7785
### Get (`get`)
7886

@@ -82,45 +90,34 @@ agent("get contact with ID 12345")
8290

8391
**Features:**
8492

85-
- Retrieve full object details
93+
- Retrieve full object details by ID
8694
- Specify which properties to return
8795
- Works with any object type
96+
- Comprehensive error handling
8897

89-
### Create (`create`)
90-
91-
```python
92-
agent("create a contact with email [email protected] and name John Doe")
93-
```
94-
95-
**Features:**
96-
97-
- Create any HubSpot object
98-
- Set initial properties
99-
- Handle associations
100-
101-
### Update (`update`)
98+
### List Properties (`list_properties`)
10299

103100
```python
104-
agent("update contact 12345 with lifecycle stage 'customer'")
101+
agent("show me all available contact properties")
105102
```
106103

107104
**Features:**
108105

109-
- Update any property
110-
- Partial updates supported
111-
- Property validation
106+
- Discover available fields for any object type
107+
- Property metadata and type information
108+
- Field types and available options
112109

113-
### List Properties (`list_properties`)
110+
### Get Property Details (`get_property`)
114111

115112
```python
116-
agent("show me all available contact properties")
113+
agent("get details about the 'email' property for contacts")
117114
```
118115

119116
**Features:**
120117

121-
- Discover available fields
122-
- Property metadata
123-
- Field types and options
118+
- Detailed property metadata
119+
- Property type, options, and validation rules
120+
- Useful for understanding data structure
124121

125122
### Get User Details (`get_user_details`)
126123

@@ -132,6 +129,26 @@ agent("get details for user ID 123")
132129

133130
- User profile information
134131
- Owner assignment data
132+
- Permission and role details
133+
134+
## Why READ-ONLY?
135+
136+
🛡️ **Safety First**: This tool is intentionally designed as READ-only to:
137+
138+
- **Prevent accidental data loss** or corruption in your HubSpot CRM
139+
- **Enable safe AI exploration** of your customer data
140+
- **Allow analytics and reporting** without modification risks
141+
- **Perfect for research and insights** without affecting production data
142+
- **Ideal for AI agents** that need CRM access but shouldn't modify records
143+
144+
## Use Cases
145+
146+
- 📊 **Analytics & Reporting**: Generate insights from CRM data
147+
- 🔍 **Customer Research**: Search and analyze customer information
148+
- 📋 **Data Discovery**: Explore available properties and data structure
149+
- 🤖 **AI-Powered Insights**: Let agents analyze CRM data safely
150+
- 📈 **Sales Intelligence**: Extract trends and patterns from deals/contacts
151+
- 🎯 **Lead Analysis**: Research prospects and opportunities
135152

136153
## Testing
137154

0 commit comments

Comments
 (0)