Send website form submissions to HubSpot
Keep your own forms and still get every submission into HubSpot as a lead: connect once, turn sync on per form, map the fields HubSpot doesn’t know.
Updated
HubSpot wants you to use its own forms, or its embed code, to get submissions into it. If your site already has forms you like, or you run several sites, that means rebuilding them, or paying for a Zapier step between your form and HubSpot.
With 1DB in between, your forms stay as they are. They post to 1DB, and 1DB creates a HubSpot lead for each submission. The lead is also kept in 1DB, with its contact, company and request history, so HubSpot is one place it goes rather than the only copy.
1. Connect HubSpot
In the dashboard, open Settings → Integrations and connect HubSpot. You’ll sign in to HubSpot and approve access for your portal. This is done once for your whole account, and every site uses the same connection.
2. Turn sync on for a form
Open the form and go to its HubSpot tab. Turn sync on. From now on, each new lead from that form is created in HubSpot within a few seconds of arriving.
Sync is per form on purpose: your quote request can go to HubSpot while a careers form or newsletter signup doesn’t.
3. Check the field mapping
1DB fills HubSpot’s standard lead properties on its own, from whichever of these names your form uses:
| HubSpot property | Filled from your form’s |
|---|---|
| Lead name | name, or first_name + last_name, or the start of the email |
email | email |
phone | phone |
company_name | company or company_name |
street, city, state | street, city, state |
zip_postal_code | zip or zip_postal_code |
lead_origin | Always “Website” |
For anything else, such as quantity, product or timeframe, add a mapping on the same tab: pick the form field on the left and the HubSpot property on the right. The list of properties comes from your HubSpot portal, so custom properties you’ve made there show up too.
Values are sent as text. If a HubSpot property is a dropdown, the value your form sends has to match one of its options exactly, or HubSpot rejects the lead.
What happens to repeats
If HubSpot says the lead already exists, 1DB updates that lead with the new values instead of creating a second one, and records its HubSpot ID against the submission.
A double-submitted form never gets this far: 1DB drops the repeat before syncing (see stopping duplicate submissions).
When a sync fails
Each lead shows its sync status in the dashboard: pending, synced, failed or skipped. Failed syncs are listed on the dashboard with HubSpot’s error and a button to retry them, one at a time or all at once. The usual causes:
- A mapped value doesn’t fit the property: a word in a number field, or a dropdown value HubSpot doesn’t have. Fix the mapping or the form, then retry.
- The connection was removed in HubSpot: reconnect under Settings → Integrations, then retry.
The lead is stored in 1DB either way, and email alerts and webhooks don’t wait for HubSpot, so a failed sync never loses a lead.
Without HubSpot’s form tracking
Because the lead is created through HubSpot’s API, not its forms, HubSpot doesn’t see the visitor’s browsing before they submitted. 1DB records that side itself: UTM tags, landing page, referrer and ad click IDs. See capturing UTM parameters.
Not set up yet? Start with the Next.js contact form or a backend for a static site.