Skip to main content

matimo-hubspot

HubSpot CRM tools for Matimo - manage contacts, companies, deals, tickets, and more.

PyPI Docs


Installation

pip install matimo matimo-hubspot

Available Tools (50 Total)

Full CRUD coverage across 10 HubSpot object types:

Object Create Get List Update Delete
Contacts ✅ ✅ ✅ ✅ ✅
Companies ✅ ✅ ✅ ✅ ✅
Deals ✅ ✅ ✅ ✅ ✅
Tickets ✅ ✅ ✅ ✅ ✅
Leads ✅ ✅ ✅ ✅ ✅
Products ✅ ✅ ✅ ✅ ✅
Line Items ✅ ✅ ✅ ✅ ✅
Orders ✅ ✅ ✅ ✅ ✅
Invoices ✅ ✅ ✅ ✅ ✅
Custom Objects ✅ ✅ ✅ ✅ ✅

Tool naming convention: hubspot-{verb}-{object}

Examples: hubspot-create-contact, hubspot-list-deals, hubspot-update-ticket, hubspot-delete-company


Quick Start

import asyncio
import os
from matimo import Matimo
from matimo_hubspot import get_tools_path

async def main():
    matimo = await Matimo.init(get_tools_path())

    # Create a contact
    contact = await matimo.execute('hubspot-create-contact', {
        'firstname': 'Jane',
        'lastname': 'Smith',
        'email': 'jane@example.com',
        'company': 'Acme Corp',
    })

    # List all deals
    deals = await matimo.execute('hubspot-list-deals', {
        'limit': 20,
    })

    # Update a ticket
    await matimo.execute('hubspot-update-ticket', {
        'ticket_id': '12345',
        'subject': 'Updated subject',
        'hs_pipeline_stage': '4',
    })

asyncio.run(main())

Authentication

export MATIMO_HUBSPOT_API_KEY="pat-na1-your-private-app-token"

Setting Up a HubSpot Private App

  1. In HubSpot, go to Settings → Integrations → Private Apps
  2. Click Create a private app
  3. Under Scopes, select the CRM scopes you need (see table below)
  4. Copy the Access Token

Required Scopes by Object

Objects Scopes
Contacts crm.objects.contacts.read, crm.objects.contacts.write
Companies crm.objects.companies.read, crm.objects.companies.write
Deals crm.objects.deals.read, crm.objects.deals.write
Tickets tickets (read + write)
Custom Objects crm.objects.custom.read, crm.objects.custom.write

LangChain CRM Agent Example

from matimo import Matimo
from matimo_hubspot import get_tools_path
from matimo.integrations.langchain import convert_tools_to_langchain
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate

matimo = await Matimo.init(get_tools_path())
lc_tools = convert_tools_to_langchain(
    matimo.list_tools(), matimo,
    credentials={'MATIMO_HUBSPOT_API_KEY': os.environ['MATIMO_HUBSPOT_API_KEY']},
)
llm = ChatOpenAI(model='gpt-4o-mini')
prompt = ChatPromptTemplate.from_messages([
    ('system', 'You are a CRM assistant.'),
    ('human', '{input}'),
    ('placeholder', '{agent_scratchpad}'),
])
agent = create_tool_calling_agent(llm, lc_tools, prompt)
executor = AgentExecutor(agent=agent, tools=lc_tools)
result = await executor.ainvoke({'input': 'Find all open deals and summarize pipeline status'})

Documentation


Metadata

Release files for matimo-hubspot 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for matimo-hubspot 0.4.0
File Size Uploaded Provenance Actions
matimo_hubspot-0.4.0.tar.gz 12.3 kB Without provenance Details for matimo_hubspot-0.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for matimo-hubspot 0.4.0
File Interpreter ABI Platform Actions
matimo_hubspot-0.4.0-py3-none-any.whl Python 3 none any Details for matimo_hubspot-0.4.0-py3-none-any.whl

Total release size: 57.5 kB

Release files / matimo_hubspot-0.4.0.tar.gz

Download URL matimo_hubspot-0.4.0.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4bdf3f5c41c46f051e2c518b88eb63f8647d9b74930a292bbcc6f538cac953ca
BLAKE2b-256 checksum
How to use checksums
24123bb4d58b2530650115b3a9c5833b3c52faf7944b68fbc104609262f1dc54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / matimo_hubspot-0.4.0-py3-none-any.whl

Download URL matimo_hubspot-0.4.0-py3-none-any.whl
Size 45.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a933d5dc5c55c8d81064c1b1104379e060186186730fbdfe2e330b0743986c50
BLAKE2b-256 checksum
How to use checksums
1ee6191da748658e2cda2e61d3bb4b1006b4f2280c7f8f3b4f23109cb0e57927
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for matimo-hubspot 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page