Skip to main content
Pro plan. Lead forms (the secret URLs in Forms and the Lead form submitted trigger) are part of Pro and Agency (and the free trial), like Lead Ads. On Starter, Connections shows Part of Pro with an Upgrade to Pro button, and making a URL or adding the trigger shows Part of Pro: Lead forms (Typeform, Tally, Jotform…) with the same button. URLs and triggers you already have keep adding contacts on every plan. See Plans and billing.
Using HubSpot forms on your site? A HubSpot workflow can send every new submission to Kerux, so the person becomes a contact and starts the campaign you choose. No Zapier or Make in between: HubSpot sends each submission straight to a secret URL of your workspace, and Kerux reads HubSpot’s own format.

Connect HubSpot forms

1

Make your secret URL in Kerux

Go to Integrations > Connections. In Forms, click Connect on the HubSpot forms row: a side panel opens. Under Name your first URL, type a name you’ll recognize (for example Demo request) and click Create URL, then Copy. Keep it private: anyone with this URL can add contacts to your workspace.
2

Create a workflow

In HubSpot, go to Automation > Workflows and create a contact-based workflow. Webhooks in workflows need Data Hub Professional or Enterprise (formerly Operations Hub).
3

Start it on the form

Set the enrollment trigger to Form submission and pick your form.
4

Send a webhook

Add the action Send a webhook: method POST, your Kerux URL, and in the request body choose the properties to send (email, first name, last name, company, job title and your LinkedIn property).
5

Turn it on

Turn the workflow on and submit your form once. In Kerux, the URL’s card shows its fields.
Kerux reads HubSpot’s property names (email, firstname, lastname, company, jobtitle, hs_linkedin_url…) and, if the workflow sends the whole contact, leaves out HubSpot’s own hs_ and analytics properties. A HubSpot contact who submits again with the same answers is the same submission.

Choose where each field goes

When the first submission arrives, the URL’s card in the panel stops saying Waiting for your first submission… and shows Where each field goes: every field of that submission (only the field names, never the answers) and where Kerux puts it.
  • Automatic is Kerux’s guess. It uses the field’s type when HubSpot sends one (an email question is the email), then the question’s words (First name, Company, Job title, Phone…), and any answer that is an email address or a LinkedIn profile URL.
  • Pick another target to change it: Email, First name, Last name, First and last name, Phone, Company, Job title, Location, Address, City, Country, Postal code, LinkedIn profile, a Custom field (use it in messages as {{contact.custom.<name>}}), or Don’t keep.
  • Click Save mapping. Every next submission uses it.
Test shows how a sample HubSpot forms submission (taken from HubSpot’s documentation) would be read with your mapping. Nothing is saved and no contact is made.

Start a campaign from the form

1

Add the trigger

Open your campaign, go to its Triggers tab and click + Add > Lead form submitted.
2

Pick the source

Under Source, pick HubSpot forms. Under Which URL, pick one of your HubSpot forms URLs or Any HubSpot forms URL. Leave Every form, or pick Only these forms once a submission from them has arrived. Click Add the trigger.
Pick Any source (every lead form and form tool) instead to start the campaign from every form and every Facebook / Instagram lead ad at once.

Good to know

  • No LinkedIn profile? They still come in. People without a LinkedIn URL become contacts by their email. Email and other steps run; LinkedIn steps wait (shown in Home > Tasks with the reason missing LinkedIn URL) until someone adds their profile, then continue by themselves.
  • Never twice. HubSpot may send the same submission again (a retry, a test sent twice): Kerux recognizes it by its answers and adds the person once. Someone who is already a contact is updated: empty fields are filled, their answers are saved as custom fields.
  • One URL per form. Make as many URLs as you like (Add another URL), so each campaign can pick its own.
  • If the URL leaks, click Make a new URL on its card: the old one stops working at once. Paste the new one in HubSpot. Turn off stops the URL for good.
  • Limits. Each URL takes up to 60 requests a minute; more get an answer to try again later. A body can be up to 256 KB.
  • Only workspace owners and admins can make URLs and see them. Members see Ask an admin on the row.
  • Answers are data, never instructions: whatever someone types in your form is stored as text, nothing else.

With the API

The same URLs are in the public API: GET /v1/integrations/form-relays, POST /v1/integrations/form-relays ({"tool": "hubspot_forms", "name": "Demo request"}), PATCH /v1/integrations/form-relays/{id} (rename, or mapping), POST /v1/integrations/form-relays/{id}/rotate, POST /v1/integrations/form-relays/{id}/test, DELETE /v1/integrations/form-relays/{id}, and POST /v1/workflows/{id}/lead-form-triggers ({"provider": "hubspot_forms", "page_id": "*"}). See the API.

Sources

Kerux reads HubSpot’s webhook as HubSpot’s documentation describes it. If a field arrives somewhere unexpected, change it under Where each field goes, or contact support from Get help.