The SAGARIS HubSpot integration, and the half of it that does not write
Partly, and the part that is missing should decide your evaluation rather than surprise you during it. SAGARIS connects to HubSpot over OAuth against your own portal, and for HubSpot reading is live: companies, contacts, deals, tasks, engagements, tickets, conversations, forms and property history all come across. For HubSpot the write-back path is a dry run, meaning it computes the exact mutation it would send and does not send it.
Connected. You can connect a HubSpot portal over OAuth today and reading is live. For HubSpot the write-back path is a dry run, so nothing SAGARIS generates is sent into your portal.
Last verified October 5, 2026. All integrations
What moves, and which way
OAuth, against your own HubSpot portal. Connected from your workspace settings, not from a marketplace listing.
- Into SAGARIS
- For HubSpot, reading is live. Companies, contacts, deals and tasks come across on connection, followed by engagements, tickets, conversations, forms, email events and property history. A webhook feed and a scheduled poll keep that current, so the SAGARIS record reflects your portal rather than a snapshot taken on the day you connected.
- Back into HubSpot
- Nothing, today. For HubSpot the write-back path is a dry run: four mutation shapes are produced, against deals, qualification properties, call objects and activity records, and each one is computed, recorded and then not sent. This is not a plan-level restriction on your portal and it is not a switch we can turn on for you. The released code does not write to HubSpot.
- The boundary
- If your evaluation depends on SAGARIS writing into HubSpot, it will not, and no date is published for when it will. Separately, and independently of us, custom objects and property write-back are gated by your own HubSpot subscription tier, and a free portal is blocked outright, so even the reading side is narrower on a free portal than on a paid one.
Connecting a portal
- 01
Open Settings and start the HubSpot connection
The connect step lives in your workspace settings. There is no SAGARIS app in the HubSpot marketplace, so there is nothing to install on the HubSpot side first.
- 02
Authorize against your own portal
You are sent to HubSpot, you sign in, and you pick the portal to grant against. A free portal is refused rather than half-connected.
- 03
The first extraction runs, then the webhook feed takes over
Companies, contacts, deals and tasks come across first, then the wider engagement history. After that a webhook feed and a scheduled poll keep the SAGARIS record current.
- 04
Plan around the write posture rather than around a date
Decide what you need to see inside HubSpot itself, and tell us. Teams that need the record in one place today generally let SAGARIS hold the activity and read it there, because the dry run means the HubSpot copy will not appear.
If you need activity to land in HubSpot today
The public REST API is the honest answer, and it is the same surface the SAGARIS product is built on. A workspace key you mint and revoke authenticates it, the operations are documented, and an automation tool or a script of your own can read activity out of SAGARIS and create the matching HubSpot object on your side. That puts the write under your control and your portal's permissions rather than ours, which is also why it works when our own path does not.
Outbound webhooks are the push half of the same idea: SAGARIS emits events, your endpoint receives them with an HMAC signature to verify, and what you do with them in HubSpot is yours to decide. The webhook documentation lists the event types and the retry and dead-letter behaviour.
What we will not do is describe a dry run as a sync, or offer a date we cannot keep. If activity inside HubSpot is a hard requirement for you, say so and we will tell you plainly where it sits.
How we checked
Probed on the production service at app.sagaris.ai. GET /api/crm/hubspot/connect answered 307 to the login gate at /login?next=%2Fapi%2Fcrm%2Fhubspot%2Fconnect, a branch that sits after the not_configured guard, so the OAuth app is configured on the serving revision. The paired control was /api/calendar/microsoft/connect in the same process on the same day, which answered 503 with a not-configured message. The write posture is read from the dry-run branch in src/lib/hubspot/writeback.ts, which writes an audit row and skips the outbound fetch, and from the absence of the go-live flag on the live service. This status was first measured on September 18, 2026 and re-probed on October 5, 2026 with the same result.
Verified October 5, 2026. If this is out of date or wrong, email founders@sagaris.ai and we will correct it and move the date.
HubSpot and SAGARIS, the questions people actually ask
- MOST ASKED
No. For HubSpot the write-back path is a dry run: it computes the exact mutation it would send, records it, and does not send it. There is no switch we can turn on for you, because the released code does not perform the write. Reading is live.
Because the two write paths were built at different times and only one of them has shipped its send. Salesforce write-back lands activity in your org as standard Task and Event records behind one deployed switch. For HubSpot the equivalent path stops at the dry run. Publishing the asymmetry is the only way you can plan around it.
Companies, contacts, deals and tasks on connection, then engagements, tickets, conversations, forms, email events and property history. A webhook feed and a scheduled poll keep it current.
No. A free portal is blocked outright. On paid portals, custom objects and property write-back are gated by your own HubSpot subscription tier, which is a HubSpot limit rather than ours.
No, and there is no listing pending that we are asking you to wait for. You connect from inside SAGARIS over OAuth against your own portal.
Yes, on your side of the boundary. The public REST API and outbound webhooks both expose the activity, authenticated with a workspace key you mint and revoke, and an automation tool or a small script can create the matching HubSpot object. That path is real and documented.
Next door