HubSpot draws its forms with a script, so there is no form code for SpamKill to protect directly. Instead, you rebuild your form once in the SpamKill Form Builder and every clean lead goes straight into HubSpot as a contact. It takes about 10 minutes.
Last verified on HubSpot (legacy form editor) with SpamKill Secure Forms
Have these ready so nothing stops you halfway.
For returning users. Each line links to its full step.
Where: SpamKill ConsoleForm BuilderForms
In the SpamKill Console, click Form Builder in the sidebar, then Create form. Pick the starting point closest to your HubSpot form (1), give it a name, and click Create (2).
You should see: Your new form open on the Build tab, marked Draft.
Where: Form BuilderYour formBuild
Add each field your HubSpot form asks for from Common fields (1). Reorder or remove fields in the form on the right (2). Every form keeps one required Email field.
You should see: The same fields as your HubSpot form, with All changes saved at the top right.
Use the Design tab to pick colours, font and label position. Style changes apply when you publish.
Where: Form BuilderYour formDeliver
Open the Deliver tab and click Connect next to HubSpot (1). HubSpot opens its own sign-in screen. Pick the HubSpot account your leads should go to (2), then click Choose Account.
You should see: Back in SpamKill, a green Connected. message and HubSpot · Already connected. Click Use this.
Pick the one whose Contacts your sales team works from. The account ID shown on that screen also appears in HubSpot's address bar after app.hubspot.com/contacts/.
Where: Form BuilderYour formDeliver
SpamKill matches most fields for you, and splits Full name into first and last name (1). Look over anything under Needs a quick look (2) and pick the HubSpot property it belongs in. Then click Save mapping and Publish form.
You should see: Mapping saved., then the form's badge changes from Draft to Published.
It won't reach HubSpot. Pick a HubSpot property in its dropdown, or leave it if you don't need it in HubSpot. Every lead is still kept under Leads in SpamKill.
Where: Form BuilderYour formEmbed
On the Embed tab, click Copy (1). Open the page with your HubSpot form in your website editor. Delete the HubSpot embed code, which starts with a script from js.hsforms.net, and paste the SpamKill code in its place. Save and publish the page.
You should see: Your page shows the SpamKill form with your fields, in place of the HubSpot form.
Search the page's code for hbspt.forms.create. In WordPress it is usually in a Custom HTML block. Keep a copy of it somewhere safe in case you want to undo.
Open your page in a private window and fill in the form the way a customer would. Use an email address you can recognise. Then check both places below.
Your test shows as Delivered on the form's Leads tab.
The test contact appears in Contacts, with first and last name filled in.
You should see: A Thanks — we got your response. page right after you submit.
Find what you're seeing.
Workflows that start on a HubSpot form submission won't fire, because the lead now arrives through SpamKill instead. Change the trigger to the contact being created or to list membership. On the Deliver tab you can add every new contact to a static list to trigger on.
Open the form's Leads tab and filter by Failed. Then check the Deliver tab still shows HubSpot as Connected. If it doesn't, click Connect again and choose the same HubSpot account.
Make sure the page you tested has the SpamKill code, not the old HubSpot code, and that it was saved and published. Then check the form is Published in the Form Builder.
It is probably set to Not sent on the Deliver tab. Pick a HubSpot property for it, click Save mapping, then Update & re-publish.
Thanks! Glad your form is protected.
Sorry about that. Tell us which step tripped you up and we'll fix the guide.
Free setup help for every plan. Send us a message and we'll walk through your HubSpot form with you.
Get setup help