feat(hubspot): add native HubSpot CRM integration (contacts, companies, deals) #4414
+315
−22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a native HubSpot CRM integration to the Aden Agent Framework, enabling Hive agents to securely interact with HubSpot contacts and deals using HubSpot’s official APIs.
The integration supports both Private App tokens and OAuth 2.0 authentication, allowing agents to fetch, create, and update CRM records. This removes the need for manual syncing or external scripts and unlocks automated sales and customer workflows inside Hive.
Type of Change
Related Issues
Fixes #2805
Fixes #2848
(Expand agent capabilities by adding more integrations/tools)
Changes Made
Added HubSpot CRM MCP tool with full Contacts, Companies, and Deals support
Implemented HubSpot OAuth2 provider with pre-configured endpoints and CRM scopes
Added credential integration for HubSpot (env var + credential store support)
Implemented pagination support for search endpoints
Added comprehensive unit tests covering:
Testing
Checklist
Screenshots (if applicable)
Add screenshots to demonstrate UI changes.
In addition to the HubSpot CRM integration introduced in this PR, I also addressed and aligned the implementation with learnings from related work and discussions in:
PR: #1846
Issue: #1488
These helped ensure the integration follows existing patterns around tool registration, credentials, and error handling.
What this PR adds (at a glance)
If there’s anything you’d like me to change—naming, scope, structure, or test coverage—please let me know and I’ll be happy to revise it quickly.
Thanks for reviewing!
@bryanadenhq @RichardTang-Aden @austin931114 @vincentjiang777 @TimothyZhang7
hey @RichardTang-Aden This PR replaces #3910, which I closed earlier while cleaning up branches.
The implementation remains the same, with minor refinements and rebasing on the latest main branch.
Apologies for any confusion.