Looking for SegmentStream Marketing Analytics? It moved to measure.segmentstream.com →
Built in

HubSpot

Read a HubSpot account's CRM through SegmentStream's HubSpot app, or your own. One connection per HubSpot account; tokens last 30 minutes and the platform refreshes them.

Moving off HubSpot? We move you over with your history, and run both side by side until every team has switched.

HubSpot alternative →
Inside SegmentStream

Connected once, used everywhere.

Connections are declared in your repository and authorised in the console. The credentials stay with the platform; apps, pipelines, workflows and the agent use them under the same roles.

segmentstream.com
The console's connections page: Resend, Xero, Stripe, Supabase, LinkedIn and Telegram connections, each connected, with the key it is declared under in code
Connections declared in code and authorised here. The credentials stay with the platform, never in the repository.

What the connection reaches

  • Contacts with their properties: list, search and batch reads
  • CRM exports for bulk loads
  • Read only: writes are rejected
Status
Built into the pipeline SDK
Connection class
HubSpotConnection
Credential
HubSpot user who can install apps in the account
In use
In production at an AI video company, where HubSpot contacts feed lead scoring.

Connect HubSpot

Three steps, the same for every connection. The credential goes to the platform, never into the repository or pipeline code.

  1. 1

    Declare it in connections/connections.py

    connections/connections.py
    from segmentstream.connections import HubSpotConnection connections = (    HubSpotConnection(key="hubspot"),)
  2. 2

    Deploy

    $ segmentstream deploy
  3. 3

    Connect

    Open the connection in the console and sign in with a HubSpot user who can install apps, or authorise it from the terminal. Tokens are refreshed by the platform; pipeline code never sees them.

    $ segmentstream connection authorize hubspot --open

Use it

Code asks for the connection by its key. The platform adds the credential on the way out.

pipeline/ingestion/…
import segmentstream as s with s.get_connection("hubspot").get_http_client() as client:    response = client.post("/contacts/search", json={"limit": 200})    response.raise_for_status()

Or ask your agent

“Connect HubSpot and load contacts changed since yesterday, with their properties.”

Part of these solutions

More in CRM & sales

Enterprise pilot

Want HubSpot set up for you?

Our forward-deployed engineers build one solution on your data, in your own workspace, as code you own. Tell us what you run today and what you want; your note goes straight to our founder.

  • One solution, on your data, in your own workspace
  • First version live in two weeks
  • Parity proven before anything is switched off
  • Fixed scope and price, credited to your contract if you continue

Not ready for a pilot? Send the form anyway with your question. An engineer will reply, not a sales rep.

How the pilot works

Goes to our founder’s inbox. No sales queue, no newsletter.

Connect what your company runs.

Start a pilot

Our engineers build the first version on your data in two weeks, at a fixed price.

Or build it yourself with your coding agent:

curl -fsSL https://segmentstream.com/install.sh | sh

We’ll email you product updates, tips and onboarding help. Unsubscribe anytime.