Protect your HighLevel form from bots
In short: To stop spam on a HighLevel form, rebuild it once in the SpamKill Form Builder, connect HighLevel, and place the SpamKill form on your funnel or website page in place of the HighLevel form. SpamKill checks every submission without a CAPTCHA, and clean leads arrive in HighLevel as contacts. It takes about 10 minutes.
HighLevel 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 HighLevel as a contact. Bot submissions never reach HighLevel, so they never start a workflow or text a fake number. It takes about 10 minutes.
- About 10 min
- 6 steps
- Copy and paste one snippet
Last verified on HighLevel (LeadConnector) sub-account with SpamKill Secure Forms
What changes, and what doesn't
- Leads still arrive in HighLevel as contacts
- Your HighLevel custom fields, tags and existing contacts
- The look of your page: the SpamKill form takes its place
- A SpamKill form in place of the HighLevel form, with the same fields
- Every submission is checked before it reaches HighLevel
- Undo it anytime by putting the HighLevel form back
Before you start
Have these ready so nothing stops you halfway.
- A SpamKill accountNo account yet? Start a free trial.
- A HighLevel user that is an admin of the sub-accountHighLevel only lets sub-account admins approve apps. You approve SpamKill once, on HighLevel's own screen.
- Access to the page your HighLevel form is onA funnel or website page in HighLevel's builder, or the editor of your own site, where the HighLevel form is placed today.
- A list of your HighLevel form's fieldsOpen the form in HighLevel under Sites › Forms and note each field, so you can rebuild it.
Quick setup
For returning users. Each line links to its full step.
- In SpamKill, open Form Builder and click Create form. Step 1
- On the Build tab, add the same fields your HighLevel form has. Step 2
- On the Deliver tab, click Connect next to LeadConnector and choose your sub-account. Step 3
- Check each field maps to a HighLevel field, click Save mapping, send a test lead, then Publish form. Step 4
- Copy the code from the Embed tab and put it where the HighLevel form was. Step 5
- Submit your live form once, then check SpamKill and HighLevel. Step 6
Create your SpamKill form
Where: SpamKill ConsoleForm BuilderForms
In the SpamKill Console, click Form Builder in the sidebar, then Create form. Pick the starting point closest to your HighLevel form (1), give it a name, and click Create (2).
You should see: Your new form open on the Build tab, marked Draft.
Match your HighLevel fields
Where: Form BuilderYour formBuild
Add each field your HighLevel 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 HighLevel form, with All changes saved at the top right.
Want it to look like your old form?
Use the Design tab to pick colours, font and label position. Style changes apply when you publish.
Connect HighLevel
Where: Form BuilderYour formDeliver
Open the Deliver tab and click Connect next to LeadConnector (1), which is HighLevel's name for its CRM. HighLevel lists the permissions SpamKill Forms needs: click Next. Then pick the sub-account your leads should go to (2).
You should see: Back in SpamKill, a green Connected. message and LeadConnector · Already connected, with your sub-account's location ID. Click Use this.
Two sub-accounts with the same name?
Check the location ID. SpamKill shows it next to LeadConnector on the Deliver tab, and HighLevel shows it in the address bar after /v2/location/ when you open the sub-account. If they don't match, go to Connections in the Form Builder, click Connect LeadConnector and pick the other one.
Check the mapping and publish
Where: Form BuilderYour formDeliver
SpamKill matches most fields for you, and splits Full name into first and last name (1). A field matched to one of your HighLevel custom fields asks you to check it: if it's the right one, click Confirm (2). Then click Save mapping and Send a test lead to this CRM. When the test arrives, click Publish form.
You should see: Test contact delivered to your CRM. and Mapping saved., then the form's badge changes from Draft to Published.
Don't want the test contact?
The test lead creates a real contact in HighLevel. Delete it from Contacts once you've checked it arrived.
Swap the form on your page
Where: Form BuilderYour formEmbed
On the Embed tab, click Copy (1). On a HighLevel funnel or website page, open the page in the builder, delete the HighLevel form, add a Custom Code element in its place and paste the code. On any other website, delete the HighLevel embed code and paste the SpamKill code where it was. Save and publish the page.
You should see: Your page shows the SpamKill form with your fields, in place of the HighLevel form.
Can't find the HighLevel code on your website?
Search the page's code for form_embed.js or leadconnectorhq.com. Keep a copy of it somewhere safe in case you want to undo.
Test it with a real submission
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 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.
Your HighLevel form is protected
- Bots are stopped before they reach HighLevel.
- Real leads arrive exactly as before, with no extra steps for them.
- Every block is logged in your SpamKill dashboard.
Something not working?
Find what you're seeing.
HighLevel says "Only subaccount admins can authorize apps!"
The HighLevel user you're signed in as isn't an admin of that sub-account. Sign in to HighLevel as a sub-account admin, or ask one to make your user an admin, then click Connect again.
My HighLevel workflow didn't start
Workflows that start when the HighLevel form is submitted won't fire, because the lead now arrives through SpamKill instead. Start them when a contact is created or a tag is added. On the Deliver tab you can add a tag to every contact SpamKill creates.
Leads show in SpamKill but not in HighLevel
Open the form's Leads tab and filter by Failed. Then check the Deliver tab still shows LeadConnector as Connected, with the right location ID.
A field is missing from the HighLevel contact
It is probably set to Not sent, or its custom field was never confirmed. On the Deliver tab, pick a HighLevel field for it, click Confirm if asked, click Save mapping, then Update & re-publish.
Changed your mind? Undo in under a minute
- Open the page in HighLevel's builder or your website editor.
- Delete the SpamKill code and put your HighLevel form back.
- Save and publish the page. Your HighLevel form is back to how it was.
- Optional: in the Form Builder, click Disconnect on the form's Deliver tab.
Thanks! Glad your form is protected.
Sorry about that. Tell us which step tripped you up and we'll fix the guide.
Stuck? We'll set it up with you.
Free setup help for every plan. Send us a message and we'll walk through your HighLevel form with you.
Get setup help