Connect HubSpot
A HubSpot admin approves Spiich once over OAuth and contacts, companies, deals, tasks and notes sync both ways. Leads and Tickets are optional extras an admin turns on from Object Types.
Before you start
- You are an admin in the HubSpot portal you want to connect.
- No other CRM is connected to your Spiich workspace.
HubSpot is one of the three CRMs you can connect yourself. Approve it once and Spiich reads your portal, writes back what you and your agents change, and keeps both current without a manual sync.
Connect during signup
Reach the CRM step
Continue through signup until you see Connect your CRM, labelled Step 3 of 4.
Pick HubSpot
Click the HubSpot card, then click Continue.
Approve HubSpot during signup
Choose the portal you want to connect and approve the permissions HubSpot lists.
Wait for the import
You return to Spiich and Chat shows Setting Up Your Workspace with a progress bar until the first import finishes.
Connect from Settings
Open Integrations
Go to
Settings > Integrationsand scroll to the CRM platform section.Click Connect HubSpot
If the button reads
Unavailable, another CRM is already connected to this workspace and you cannot add a second.Approve HubSpot from Settings
Sign in, pick the portal, and approve the permissions.
Check the badge
Back in Spiich the HubSpot card shows a green
Connectedbadge and the first import starts.
What Spiich reads and writes
HubSpot's consent screen asks for read and write on contacts, companies, deals and users, read and write on contact and deal property schemas, read on custom schemas, read on currency settings, and read on sales email. Here is what that means object by object.
| HubSpot object | What Spiich reads | What Spiich writes |
|---|---|---|
| Contacts | Every synced property, plus the property definitions | Creates and updates contacts |
| Companies | Every synced property | Creates and updates companies |
| Deals | Properties, pipeline and stage | Creates and updates deals, moves stages |
| Tasks | Task content, due date, owner, status | Creates and updates tasks |
| Notes | Note bodies and their associations | Pushes notes written in Spiich back to the right record |
| Calls and meetings | Both arrive as meetings in Spiich, not as two separate things | Notes only, written onto the call or meeting itself |
| Sales emails | Email history, if CRM Emails is switched on | Nothing. Spiich never sends from HubSpot |
| Owners and users | Your HubSpot users, so records get the right owner | Owner assignment on records it creates or updates |
| Leads (optional) | Pipeline, stage, owner and properties, once connected | Creates and updates leads |
| Tickets (optional) | Ticket properties and their links to contacts, companies and deals | Creates and updates tickets |
Notes on a call or meeting are written onto the call or meeting record itself, because HubSpot has no note-to-call relationship.
Turn on Leads and Tickets
Leads and Tickets are off by default. Each needs its own HubSpot permission and neither exists on every portal: Leads requires the HubSpot Leads product, Tickets requires Service Hub. If your portal does not have the object, Spiich skips it rather than failing the sync.
Open Object Types
Go to
Settings > Object Typesand scroll to Available to connect.Connect the object
Click Connect on the Leads or Tickets row. The button changes to
Connecting.Approve the extra permission
HubSpot's consent screen opens showing only the additional permission for that object. Approve it.
Confirm the import
You land back on Object Types with a confirmation such as HubSpot Tickets connected. Records appear within a few minutes, and the object then behaves like any other row with its own Visible and Writable switches.
HubSpot only offers Tickets as a single combined read and write permission, so Spiich, not HubSpot, is what keeps ticket access limited. Creating a ticket also requires a ticket status; Spiich refuses the write up front rather than letting HubSpot reject it.
How fresh the data is
Not every HubSpot object updates at the same speed.
| Object | How changes reach Spiich | Typical delay |
|---|---|---|
| Contacts, companies, deals | Real-time webhooks on create, delete and property change | Seconds |
| Tasks, notes, leads, tickets | A five-minute polling cycle | Up to five minutes |
| Property definitions, users, email | An hourly refresh | Up to an hour |
There is no manual resync. If a task you just created in HubSpot is not in Spiich yet, wait out the five-minute cycle.
Limits
- The first sync of HubSpot calls and meetings looks back 28 days. Older activity is not backfilled.
- Records import 100 at a time and HubSpot allows roughly 100 requests every 10 seconds, so very large portals take proportionally longer.
- A property archived in HubSpot keeps returning values for 90 days but rejects writes. Spiich strips it, retries the write, and drops the stale definition on the next hourly schema refresh.
- HubSpot deep links from Spiich are built against the EU HubSpot domain, so links may not resolve for portals hosted in another region.
- HubSpot Leads have no per-record page in HubSpot, so a lead's CRM link opens the Leads list filtered by that lead's name.
- Background agents cannot be pointed at HubSpot tickets. That is a deliberate product decision.
If something goes wrong
*Saving a record fails with Hubspot error: and the record disappears.* HubSpot rejected the write, usually a missing required field or an invalid value. Spiich rolls its own change back so the two never disagree. Read the message, fill in what it asks for, save again.
The assistant says an object is not enabled. The Lead or Ticket object was never connected, or its switches are off. An admin fixes both at Settings > Object Types.
*A HubSpot object connection ends with Connection failed.* The consent screen was closed or cancelled before permissions were granted. Start it again from Object Types. Backing out leaves the workspace exactly as it was.
A row shows a red `Sync failed` badge. Hover it for the reason HubSpot returned. Most causes are a missing permission, fixed by an admin clicking Reauthenticate on the banner in Chat.
Frequently asked questions
Settings > Object Types.