Skip to the page

HubSpot

Send live web data to HubSpot as companies and contacts, matched to the records you already have. Each one can carry the pages it was read from, and new matches keep arriving as SpecStream finds them.

SpecStream for HubSpotCRMs

What you need

  • A SpecStream account. New accounts start free with $10 of work, no card.
  • A HubSpot account where you can create companies and contacts.
  • Results from a finished request. An imported list needs its matches found first.
  1. 1. Sign in to HubSpot

    Open Connections in the workspace, find HubSpot in the catalog and click Connect. The link Connect HubSpot opens the same setup.

    On the Account step, click Sign in to HubSpot. HubSpot's own page asks you to approve reading and writing companies, contacts and lists. The exact permissions are listed below under Permissions, and nothing is sent to HubSpot until you review an export.

    When you return to the workspace, the step reads Signed in. Click Continue.

  2. 2. Choose where records go

    Under Add each record as, choose Companies or Contacts. A contact needs an email address its source published. SpecStream never guesses one, so a result without one is left out.

    Under When HubSpot already has it, choose Fill in and update it or Leave it as it is. SpecStream looks for the existing record first, so a result is never added twice.

    HubSpot list is optional. It offers the lists you fill by hand that hold the kind of record you chose. New and updated records join the list you pick, which keeps the batch together. Records you leave as they are don't join it.

    Under Records from, choose a collection and tick the records to send. Only matches from a finished request are listed. For an imported list, find its matches first.

  3. 3. Match the HubSpot properties

    Each row pairs a detail from your collection with a HubSpot property. SpecStream proposes the property with the same name when HubSpot has one, and you can change any of them from the menu. The menu shows your properties under their HubSpot labels, custom properties included. Read-only properties don't appear, and Don't send keeps a detail in SpecStream. Each property takes one detail.

    To put the pages a record was read from into HubSpot, map Why it matches, with sources to a text property that holds several lines. Make that property in HubSpot first if you don't have one.

    Every company goes with its name and domain. Every contact goes with its email address and, as its last name, the record's name.

  4. 4. Review and send

    Review shows how many records will go and how the first one arrives in HubSpot, property by property. Nothing is written yet.

    Tick Keep sending new and changed records if the collection should keep feeding HubSpot after this send. Then click Send, which shows the number of records, or Save export draft to come back to it.

    When the send finishes, every record has a result: Added, Updated, Already there, Skipped: no website, Skipped: no published email, Needs checking or Not delivered. The Export history tab on Connections keeps a record of the send.

    To send again later, open the collection, click Export and choose HubSpot under Send to. Sending a record a second time updates the same HubSpot record instead of adding a copy.

What arrives in HubSpot

DetailCompaniesContacts
NeedsA website or domainAn email its source published
Found in HubSpot byThe domain propertyThe email property
Always sentName and domainEmail, plus the record's name as the last name
Left out whenNo website or domain (Skipped: no website)No published email (Skipped: no published email)

Matching

Before it writes anything, SpecStream searches HubSpot for the record: a company by its domain property, a contact by its email property. A company's domain is its website with https:// and www. taken off.

An existing record is updated or left alone, whichever you chose. Updating writes this record's values over the HubSpot record, and that includes the name. Choosing Leave it as it is writes nothing, and the result reads Already there.

When more than one HubSpot record matches, SpecStream can't tell which one is meant. Nothing is written for that result, and it reads Not delivered.

When HubSpot doesn't confirm a record

A write that HubSpot doesn't confirm shows Needs checking. The review step then offers Check delivery, which looks for the record in HubSpot before anything is sent again.

Send stays off until that check finishes, so a slow answer doesn't turn into a duplicate.

Keep sending

With Keep sending new and changed records on, later matches and changes to records already sent go to HubSpot as they arrive, into the same list and through the same property mapping.

A sync keeps sending for as long as its list is kept current on a schedule. Open a list SpecStream found and click Watch for new ones to set that up, and each new match follows into HubSpot. Every plan includes this, and plans differ in how many lists they keep current at once. See Schedules.

Send from an agent

Signing in to HubSpot happens in the workspace. After that, an agent connected to SpecStream's MCP server at https://api.specstream.ai/mcp can send to HubSpot with the same matching and the same rules. Ask in plain words, for example: "Send my Florida dental practices to HubSpot as companies, update the ones HubSpot already has, and keep sending new ones."

The agent reads your connection with list_connections, picks the list and properties with list_connection_destinations and get_connection_columns, saves the mapping with save_connection_destination and sends with send_to_destination. create_destination_sync keeps new matches coming, and reconcile_destination_export looks for a record whose delivery wasn't confirmed. The REST API has the same operations under /v1/connections.

The MCP setup guides walk through each client. A key made in Agents & API carries its own permissions and spending limit.

Permissions

HubSpot asks you to approve these scopes:

  • crm.objects.companies.read and crm.objects.companies.write, to look for companies and to create or update them.
  • crm.objects.contacts.read and crm.objects.contacts.write, to do the same for contacts.
  • crm.lists.read and crm.lists.write, to show your lists and add records to the one you pick.
  • oauth, which HubSpot requires of every app.

What SpecStream changes in HubSpot

SpecStream adds and updates companies and contacts. It does not send email, start a campaign or enroll anyone in a sequence.

Cost

Sending to HubSpot is free. Finding the data is paid from your SpecStream balance, only for the results that match, and every request shows the most it can cost before it starts. See balance, quotes and billing.

Disconnect

Open Connections, choose the Configured tab and use the actions menu on the HubSpot row to choose Disconnect. SpecStream deletes the access it stored, so nothing more is sent.

HubSpot isn't told. To end the authorization there too, remove SpecStream from the apps connected to your HubSpot account. Companies and contacts already in HubSpot stay.

The other places SpecStream sends to are in Connect your tools. For help, email [email protected].

More

SpecStream for HubSpot covers what it does in HubSpot on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and only the matches come out of your balance. Billing has the details. For help, email [email protected].