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.2.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.2.0
File Size Uploaded Provenance Actions
matimo_hubspot-0.2.0.tar.gz 11.7 kB Without provenance Details for matimo_hubspot-0.2.0.tar.gz

Built distribution (wheel)

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

Total release size: 56.5 kB

Release files / matimo_hubspot-0.2.0.tar.gz

Download URL matimo_hubspot-0.2.0.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4192f45cc4702229e21bdb68268846bb14b56c53ea586acbabc4789ad767ed95
BLAKE2b-256 checksum
How to use checksums
ca1f08c9f9cfa91724ca370f8c1a9484399f99b7b62b6c03b97ad73bb435163b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL matimo_hubspot-0.2.0-py3-none-any.whl
Size 44.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
823c78d22f35bbd1bd1214ae987489794321d5d2c86190584a0059f11de37e3a
BLAKE2b-256 checksum
How to use checksums
7de00bcee83a8baf5f3f596d9e8362e72a71f9144990bbb279fb96da28bcf3f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for matimo-hubspot 0.2.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