How to Send Form Entries From WordPress to HubSpot

Shoeb Avatar

By

·

Every entry, a HubSpot contact

If your sales team lives in HubSpot and your site runs on WordPress, every form entry should reach HubSpot as a contact without anyone copying it across. This guide compares the three ways to connect a form on a WordPress site to HubSpot, then walks through the setup in Neural Forms, where each entry is sent to a HubSpot form field by field and a copy stays in your WordPress inbox.

By the end you will know which method fits your site, how to map each field, what HubSpot does with the submission, and what to check when an entry does not show up.

Three ways to connect a form on your WordPress site to HubSpot

There is no single “HubSpot integration” for WordPress. There are three different methods, and they put your data in different places.

  1. Embed a HubSpot form. You build the form in HubSpot and place its embed code (or HubSpot’s own plugin) on the page. Submissions go straight to HubSpot. Nothing is stored in WordPress, and the form’s look is set in HubSpot’s form editor.
  2. Let HubSpot collect your existing form. With the HubSpot tracking code on your site, HubSpot can capture submissions from ordinary HTML forms (it calls them non-HubSpot forms). HubSpot’s documentation lists what it cannot collect: forms inside an iframe, forms with JavaScript bound to the submit event or button, forms added after the page loads, and hidden fields. Neural Forms sends entries without a page reload, which is the JavaScript case, so do not rely on this method for it.
  3. Send each entry to a HubSpot form through its API. The form stays in WordPress. When someone submits it, the entry is saved on your site and then posted to a HubSpot form you choose, with each field mapped to a HubSpot property. This is how the Neural Forms HubSpot integration works.
Embed a HubSpot formHubSpot collects your formSend entries through the API
Where you build the formHubSpotWordPressWordPress
Copy of the entry in WordPressNoYes, if your form plugin saves entriesYes
Which fields reach HubSpotAll fields on the HubSpot formWhat HubSpot detects (no hidden fields)Only the fields you map
StylingHubSpot form editor, plus CSSYour theme and form pluginYour theme and form plugin
Main riskForm looks out of place on the pageSome forms are not detected at allUnmapped required fields cause rejected submissions

Why keep the form in WordPress

Embedding a HubSpot form is quick, so why send entries from a form on your own site instead? Three reasons come up most.

  • You keep a copy of every entry. Neural Forms saves each submission in its lead inbox before anything is sent to HubSpot. If HubSpot is unreachable or rejects a submission, the entry is still on your site.
  • AI reads each entry. With AI connected, the inbox adds a summary, a category, a priority, a lead score from 0 to 100 set by the AI, and a draft reply. On Starter and Agency this runs on new entries automatically. See AI lead scoring for how teams use the score. The AI results stay in WordPress; they are not sent to HubSpot.
  • The form matches your site. You build it in the drag and drop builder, with fields such as Matrix, Repeater and File Upload that HubSpot forms do not have, and place it with a block, a shortcode or a Divi 5 module.

Before you start

  • A paid Neural Forms plan. Integrations come with Starter ($99/year) and Agency ($199/year). In the free Lite plugin the Integrations page is shown locked.
  • A HubSpot form that holds the properties you want. Neural Forms sends each entry to an existing HubSpot form, so create one in HubSpot first and add a field for every property you want filled: email, first name, last name, phone, company, message, and any custom properties. Mark fields as required in HubSpot only if your form on the site will always fill them.
  • A HubSpot access token and your Portal ID. The Neural Forms connection screen asks for a Private App Access Token (copied from the private app’s Auth tab) and your Portal ID / Hub ID, the number that appears in the URL of any HubSpot page. The token must be allowed to read your forms; the connection test checks this by listing your HubSpot forms.

A note on tokens: HubSpot stopped the creation of new legacy private apps in September and October 2026 (existing ones keep working) and now points in-account integrations to service keys. If you already have a private app with forms access, use its token. If you need a new token, check with Neural Forms support which kind to create before you begin.

Connect HubSpot in Neural Forms

You connect HubSpot once for the whole site. Each form then decides whether it sends entries.

  1. In WordPress, go to Neural Forms > Integrations and open the HubSpot card.
  2. Paste the token into Private App Access Token. It is stored encrypted and is never shown again; the screen only shows a masked version.
  3. Enter your Portal ID / Hub ID. It must be a number.
  4. Save, then click Test connection. When it works, the status reads Connected and shows the Portal ID, the masked token and the time of the last check.
HubSpot connection screen in Neural Forms
HubSpot connected. Sample data.

Map the fields

Mapping happens per form, inside the form’s own settings.

  1. Open the form in the Neural Forms builder, go to its settings and choose Integrations, then the HubSpot tab.
  2. Tick Send this form’s submissions to HubSpot.
  3. Choose the target in HubSpot Form. If you created it a minute ago, click Refresh forms. The list loads up to 100 of your HubSpot forms.
  4. The Field mapping table lists every field on the HubSpot form with its type and whether it is required. For each row, pick the Neural Forms field that fills it, or leave it on Do not send.
  5. Click Auto-map fields to fill the table for you. It matches names and labels, and it pairs HubSpot’s email field with your first Email field. Your own choices are kept.
  6. Save the form.
Form fields mapped to HubSpot form fields
Field mapping to HubSpot. Sample data.

Map the email first. HubSpot uses the email address to decide whether a submission belongs to an existing contact, so a submission without one is far less useful. If a HubSpot field is marked required and nothing is mapped to it, the panel shows a warning that lists the missing fields.

Warning for a required HubSpot field that is not mapped
A required HubSpot field still needs a form field. Sample data.

How values are converted

HubSpot expects certain formats for certain property types. Neural Forms converts values before sending them:

Neural Forms fieldWhat HubSpot receives
Text, Textarea, Email, Phone, URL, Hidden, Select, RadioThe value as entered
DateThe date in HubSpot’s date format (midnight UTC)
Checkbox, Acceptancetrue or false
CheckboxesThe chosen values separated by semicolons, the format HubSpot’s multiple checkbox properties use
Number, RangeThe number; anything that is not a number is left out
RatingA whole number
File UploadThe file name and its URL as text; the file itself is not uploaded to HubSpot
MatrixOne line of text, “Row: answer | Row: answer”
RepeaterEach item’s answers as text, items separated by a vertical bar

Empty answers are never sent. That protects you from a blank optional field wiping out a value HubSpot already holds for the contact.

Test it

  1. Open the page with the form and send a test entry with an email address you can recognize.
  2. Check the Neural Forms inbox: the entry is there straight away.
  3. In HubSpot, open the form you mapped to and look at its submissions, or search Contacts for the test email.

Each submission also carries the URL of the page the form was sent from and the Neural Forms form name, so in HubSpot you can see where the lead came from.

Sending runs in the background after the entry is saved, so the visitor never waits for HubSpot. Neural Forms hands the job to WordPress’s scheduled tasks (WP-Cron), which run when the site receives a visit. On a quiet staging site the submission can take until the next page load to arrive.

What HubSpot does with each submission

Each entry arrives as a submission to the HubSpot form you chose, through HubSpot’s Forms submission API. From there HubSpot applies its own rules. According to HubSpot’s deduplication documentation, a submission whose email matches an existing contact is added to that contact; otherwise HubSpot creates a new contact. Neural Forms does not send HubSpot’s tracking cookie, so the match rests on the email address.

Because the data reaches HubSpot as a real form submission, anything you build in HubSpot around that form, such as a workflow that starts when the form is submitted, treats these entries like any other submission.

What this does not do

Knowing the limits up front saves a support ticket later:

  • No deals, tickets, companies or custom objects. The integration sends form submissions. If you need a deal per lead, create it in HubSpot with a workflow.
  • No sync back. Changes made to a contact in HubSpot do not come back to WordPress.
  • No AI data. The summary, category, priority and lead score stay in the Neural Forms inbox.
  • Every entry is sent. When the toggle is on, each new entry of that form goes to HubSpot. There is no rule to send only some entries.
  • No automatic retries. If HubSpot is down or rejects an entry, that entry is not sent again. It stays in the inbox, and you can add it in HubSpot by hand or export it with CSV export and import it.
  • One HubSpot form per Neural Forms form. To feed two HubSpot forms, use two forms on your site.

Troubleshooting

Nothing arrives in HubSpot

  • Check that the form’s HubSpot toggle is on, a HubSpot form is selected and at least one field is mapped. With no mapped fields, nothing is sent.
  • Run Test connection again under Neural Forms > Integrations. A failed test usually means the token was revoked or lacks access to forms.
  • Make sure scheduled tasks run. If your host disables WP-Cron (the DISABLE_WP_CRON setting), a real server cron job must call it.
  • Neural Forms Pro 1.0.3 does not show a delivery status per entry, so confirm results on the HubSpot side.

Submissions are rejected

  • Required HubSpot fields. HubSpot rejects a submission that leaves a required field of its form empty. Map every required field, and make the matching Neural Forms fields required too, because blank answers are not sent.
  • Field type mismatches. A HubSpot number property only accepts numbers, so map it to a Number field. For dropdown and radio properties, make the option values in Neural Forms match the internal values of the HubSpot options.

Your HubSpot form is missing from the list

Click Refresh forms. The picker loads up to 100 HubSpot forms, so in a very large portal an older form may not appear.

Next step

If you also run other tools, the integrations overview covers Mailchimp, Zapier, WhatsApp alerts and Google Forms import.

Frequently asked questions

How do I connect a form on my WordPress site to HubSpot?

Connect HubSpot once under Neural Forms > Integrations with an access token and your Portal ID, then open the form’s settings, turn on HubSpot, pick a HubSpot form and map each field. Each new entry is then sent to that HubSpot form.

Do I need the HubSpot plugin?

No. Neural Forms sends entries to HubSpot directly. You only need HubSpot’s plugin if you also want its tracking code, chat or other HubSpot tools on the site.

Will form entries create contacts in HubSpot?

Entries arrive as submissions to a HubSpot form, and HubSpot creates a new contact or adds the submission to the existing contact with the same email address, following its own deduplication rules.

Can a form create deals in HubSpot?

Not directly. The integration sends form submissions only. You can build a HubSpot workflow that creates a deal when that HubSpot form is submitted.

Is the original page URL sent to HubSpot?

Yes. Each submission includes the URL of the page the form was sent from and the form’s name.

What happens if HubSpot is down when someone submits?

The visitor sees the normal success message and the entry is saved in the Neural Forms inbox. That entry is not resent automatically, so add it to HubSpot by hand or through a CSV import.

Shoeb Avatar

About the author


Leave a Reply

Your email address will not be published. Required fields are marked *