splitforms.com
INTEGRATION · CRM

Send Form Submissions to HubSpot — splitforms

Create HubSpot contacts and leads from form submissions.

Use a HubSpot Private App access token and the CRM v3 contacts endpoint to create or update a contact for every submission. splitforms POSTs the submission via webhook through a small relay (or Zapier) that calls HubSpot.

Delivery mode: Webhook + relay (or Zapier / Make)

Free for 1,000 submissions/month. No credit card required.

How to set up HubSpot with splitforms

6 steps. The whole flow typically takes a couple of minutes.

  1. In HubSpot, go to Settings → Integrations → Private Apps, create a Private App with crm.objects.contacts.write scope, and copy the access token.

  2. Build a relay endpoint (Cloudflare Worker, Vercel function, or any small HTTP service) that receives the splitforms webhook and POSTs to https://api.hubapi.com/crm/v3/objects/contacts with the contact's email, name, and any other captured fields as properties.

  3. Paste the relay URL into the form's Webhooks tab in splitforms.

  4. Submit a test entry. A new contact should appear in HubSpot within a couple of seconds. Confirm the email matches what was submitted.

  5. Optional: associate the contact with a Deal or Company via additional /associations endpoints inside the relay, so new leads land in the right pipeline.

  6. Optional: enrich the relay with HubSpot list memberships so contacts are auto-added to the 'Website Inbound' or similar list for nurture campaigns.

example: form markup
<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_SPLITFORMS_KEY" />
  <input type="hidden" name="_route" value="hubspot" />
  <input type="email" name="email" placeholder="you@example.com" required />
  <textarea name="message" placeholder="Your message" required></textarea>
  <button type="submit">Send to HubSpot</button>
</form>

The form posts to https://splitforms.com/api/submit. The HubSpotrouting is configured in the splitforms dashboard against the form's access key — there's no client-side HubSpot-specific code in your HTML.

Want the long-form walkthrough? Read the deep-dive HubSpot guide on the blog →

Who uses splitforms + HubSpot

A handful of patterns we've seen in the wild.

Why splitforms for HubSpot?

HubSpot's hosted forms are free but force you to embed a HubSpot script; splitforms keeps the form fully yours. splitforms is free for 1,000 submissions per month, $5/mo on Pro, or $59 for a 4-year plan (15,000 submissions/month, 48 months of access). No per-integration add-on fees.

Frequently asked questions

Does splitforms have a native HubSpot integration?

Today, no — splitforms reaches HubSpot via outbound webhooks plus a small relay (or via Zapier/Make). That's the honest answer; a one-click HubSpot OAuth connector is on the roadmap. The webhook-relay route is reliable in production today and works on the free plan.

Can I create or update existing contacts (upsert)?

Yes. HubSpot's create endpoint returns 409 if a contact with the same email exists. The relay should catch the 409, then PATCH the existing contact at /crm/v3/objects/contacts/{id}. This avoids duplicate contacts when the same person submits twice.

Will this work with HubSpot Free?

Yes. Private apps and the contacts API are available on HubSpot's free CRM tier. You don't need a paid HubSpot plan to ingest form submissions — only to use advanced marketing automation features downstream.

What about HubSpot's own forms — why not just use those?

HubSpot forms ingest cleanly into HubSpot, but the form itself is hosted by HubSpot, which limits design control and adds a script tag to your site. splitforms keeps the form 100% your HTML, owned by you, and the data flows into HubSpot at the backend. You also keep the option to send the same submission to other destinations (Slack, email).

How do I avoid the relay becoming a single point of failure?

Two things: (1) splitforms always sends the submission to email regardless of webhook outcome, so even if the relay is down, the lead is captured; (2) splitforms retries failed webhook deliveries with exponential backoff. Run the relay on a serverless platform with high availability (Workers, Vercel) and you'll rarely see a missed delivery.

Can I trigger a HubSpot workflow from this?

Yes. Set a property on the contact (e.g. 'website_form_submitted = true') and create a HubSpot workflow that triggers when that property updates. This gives you sequence enrolment, internal notifications, and lifecycle-stage updates.

Connect HubSpot in 60 seconds.

Free for 1,000 submissions per month. No credit card. Pro is $5/mo. The whole splitforms + HubSpot setup ships in under five minutes.

Start free Browse all integrations