Skip to main content
Send the leads from a form that is not on a Hiveku site (your own code, Typeform, Tally, Jotform) into the Hiveku CRM as tagged contacts, with no manual data entry.
Forms on a Hiveku site need no workflow for this: each submission with an email address already becomes a contact, or is added to the person’s existing contact. See Follow Up a Lead from Your Website. To do more with those leads (a thank-you email, a task for your team), see Reply to New Leads Automatically.

The Flow at a Glance

1. Webhook trigger

Receives form submissions

2. Upsert contact

Add to CRM with tags, once per email

3. Notify (optional)

Slack, email, or sequence

Step 1: Create the Workflow

1

Start a new workflow

Click Workflows in the left rail, then New Workflow. Name it something obvious like Typeform leads to CRM. Check that the switch at the top right reads Disabled while you build.
2

Add a Webhook trigger

Click Add Trigger > Webhook. Copy the generated URL and wire it to your form’s submit handler. See Start a Workflow from Another App with a Webhook for the details.
3

Add an Upsert Contact step

Add an Upsert Contact step. It is keyed on the email address: it updates the contact when the email is already in your CRM and creates one otherwise, so a visitor who sends two forms stays one contact. Fill in the field mappings. The Webhook trigger keeps the submitted form fields under trigger.output.payload, so a posted email field is {{trigger.output.payload.email}}:
  • Name: {{trigger.output.payload.name}}
  • Email: {{trigger.output.payload.email}}
  • Phone: {{trigger.output.payload.phone}}
  • Tags: website-lead, {{trigger.output.payload.source || 'homepage-form'}}
4

Test, then switch it on

Click Save Workflow. On the trigger’s Input tab, paste a sample request body (or load the last one your form sent to the Test URL) and click Use for Test run, then Test Run. Saving steps are only simulated, so no contact is created. When the step’s Output looks right, click the switch so it reads Enabled.

Template Shortcut

If you want the whole flow (webhook + CRM + Slack + email sequence) in one click, start from a template instead: Workflows > New Workflow > Form Lead to CRM + Notifications It ships with sensible defaults; you just swap in your Slack URL.

Adding Optional Steps

Notify the Team

Add a second action after the CRM step — either a Slack Notification step or a Send Email step to alert your sales team. See Tell Your Team When Something Happens.

Start an Email Sequence

Add a Start Email Sequence action and pick the sequence (e.g., your 5-day welcome drip). The new contact is enrolled automatically. See Cold Email for sequence setup.

Assign to a Rep

If your pipeline uses round-robin assignment, add an Assign Contact action and either pick a specific rep or use {{round_robin}} to rotate.

Handling Duplicates

Upsert Contact already keeps one contact per email address: a second submission from the same email updates that contact instead of adding another. (The Create Contact step, by contrast, adds a new contact every time.)
Tags are case-sensitive. Website-Lead and website-lead are different tags. Pick a convention (lowercase-dashes is common) and stick to it.

Test It

1

Submit with test data

Use a recognizable test email like you+test-1@example.com so you can find and delete it later.
2

Check the CRM

Go to CRM > Contacts. The new contact should appear at the top of the list, with website-lead and your source tag applied.
3

Check the tags

Click the contact. Verify all expected tags are present.
4

Submit again — check for dedupe

Submit the same form again with the same email. The existing contact should update, not duplicate.

Troubleshooting

Click Runs at the top right of the workflow. If there are no runs, the trigger isn’t firing: check that the workflow is Enabled and that your form posts to the trigger’s URL. If runs exist but fail at the Create Contact step, the error message usually names the bad field (e.g., email required). Map it in the action and save.
Use Upsert Contact, not Create Contact. For duplicates that already exist, open the contact you want to keep and merge the other into it: see Merge Duplicates.
Two possibilities. First, tag names are case-sensitive — make sure website-lead matches exactly what’s in the CRM. Second, some accounts require tags to be pre-created before they can be applied via workflow. Go to CRM > Settings > Tags and create the tag manually, then retry.
If your form is on a Hiveku-hosted site, captured submissions are spam-scored automatically — spam is filed under the Spam filter in Analytics → Forms and never creates a CRM contact or fires a workflow. Turn on Form spam protection under Hosting → Integrations to add invisible reCAPTCHA scoring on top. See Form Submissions.If you wire your form’s submit handler straight to a workflow webhook (as in this recipe), that path skips the built-in scoring — so keep your own defenses too: a honeypot field (an input real users won’t fill; if filled, reject), and a Conditional step in the workflow that skips contacts where email contains suspicious patterns (gibberish, multiple + signs, etc.).
The Start Email Sequence action only fires if the contact has a valid email and hasn’t already been enrolled in that sequence. Check the contact’s activity log — there should be an enrolled event. If not, the sequence might be paused — see Cold Email.

What’s Next?

Tell Your Team

Email the team or post in Slack from this same workflow

Cold Email Sequences

Enroll new leads into a nurture drip

CRM Contacts

Manage contacts, tags, and filters