← All posts

HubSpot writes: the deals desk gets hands

The second action on the framework — update a deal's stage, a contact's fields, a missing next-step — proposed by an agent, approved by a human, executed against the CRM.

Vocion Teamvocion-v1.41.0

Actions gave the runtime a gated way to touch the outside world, starting with gmail.send. This release adds the one that moves revenue: hubspot.update (v1.41) — write properties on a HubSpot deal, contact, or company.

One action, two jobs

POST /api/v1/reviews/decide   # after an agent proposes it
# the pending action:
{ "action": "hubspot.update",
  "objectType": "deals", "objectId": "8801",
  "properties": { "dealstage": "presentationscheduled", "hs_next_step": "Send SOW Thursday" } }

It's deliberately general — set any properties on any of the three CRM objects — because two of the RevOps goals need exactly that:

Gated, like every write

Nothing here bypasses the model. An agent that spots a stale deal proposes the fix; it lands in the team queue routed to the right person; it executes against HubSpot only on approval, with the private-app token pulled from the encrypted vault. The CRM is the system of record — so the system of record only changes when a human says so.