Hi @Austin_Calendly ,
The tricky part with the new form builder is that HubSpot hasn’t yet exposed a “multi-step form” API that’s distinct from the existing Forms API.
What you’ll use is the same /forms/v2/forms and /forms/v2/fields/:form_guid endpoints to list and inspect form definitions, and the submissions go through the v3 endpoint you already saw: https://api.hsforms.com/submissions/v3/integration/submit/:portalId/:formGuid. That’s the only endpoint that supports JSON payloads, GDPR consent, and higher limits
(Accounts Dashboard | HubSpot )
(Accounts Dashboard | HubSpot )
For receiving submissions in real time, webhooks are the supported path. You can subscribe to the form_submission event under a private app or app subscription, and HubSpot will post the entire submission payload to your URL, including form GUID, page URI, and field values
(Accounts Dashboard | HubSpot )
That way you don’t need to poll for new entries, and you can trigger workflows downstream right away.
If the multi-step experience is what’s giving you trouble, the key detail is that HubSpot stores those as a single submission record once completed. You won’t get a webhook for each “step,” only at the final submit, so your integration should be built with that in mind.
Where this often gets painful is when you want those submissions to flow into other databases or CRMs in both directions. That’s exactly the type of “dirty plumbing” Stacksync abstracts away. Instead of juggling APIs, webhooks, and retry logic, it maintains a real-time, two-way sync across HubSpot and external systems like SQL, Salesforce, or Snowflake.
It also catches field-level changes and propagates them instantly, so your forms data doesn’t drift over time. That way you can focus on the app logic instead of managing the sync infrastructure.
Hope this helps.