Typeform lead capture to HubSpot with scoring and Slack alerts

Typeform lead capture to HubSpot with scoring and Slack alerts

RevOps & Data
n8n
Krishna Sharma's template does the dedupe step most form-to-CRM automations skip, then sorts every lead into one of three tiers.
Source
n8n
Tools
Typeform, HubSpot, Slack
Runs
On form submit
Cost
Free template
Last updated
August 7, 2026

What it is.

A Typeform trigger starts it, then the workflow searches HubSpot by email before deciding whether to create a contact or update the existing one. That single branch keeps a form from filling your CRM with duplicates.

A Function node scores the lead in plain JavaScript, using signals like a corporate email domain and whether a company name was given, then buckets it as cold, warm, or hot. Slack gets the result with the tier attached.

The scoring function is plain JavaScript, so you can read exactly why a lead came back hot.

What you get.

  • A HubSpot search-by-email step before any contact is created.
  • Conditional routing to create or update, so a resubmission enriches an existing record.
  • A JavaScript scoring function you edit without learning a scoring interface.
  • Three lead tiers posted to Slack with the score attached.
  • A Typeform trigger, swappable for any form with a webhook.
HOW TO USE IT

How to set it up.

1

Connect Typeform and pick the form, then send one test submission to see the field keys.

2

Add the HubSpot credential and confirm the search node queries by the email property.

3

Open the Function node and replace the scoring rules with your own: which domains count, which titles count, what a personal email address costs a lead.

4

Set the two thresholds that split cold from warm and warm from hot.

5

Choose the Slack channel and decide whether every tier posts or only the top one.

6

Submit a test form from a corporate address and again from a personal one, then check both the score and the HubSpot record.

Use cases

Stop duplicate contacts

Search by email first so a resubmission enriches the record instead of copying it.

Score on the way in

Apply the scoring at capture so routing has something to work with.

Alert sales in Slack

Send the qualified ones to a channel while the intent is fresh.

Best for

Any form feeding a CRM

The dedupe branch alone is worth importing, because a duplicate contact costs a rep more than a missed one.

Scoring without a scoring product

The rules live in a Function node, so you can change them the same afternoon you disagree with them.

Small sales teams

One Slack message with a tier tells a rep whether to call now or let a sequence run.

Open the original.

Hosted on n8n, free to open.
Open the Tool

Questions about Typeform lead capture to HubSpot with scoring and Slack alerts

Do the scoring rules work out of the box?
Will it create duplicate contacts?
Should every submission hit Slack?

Questions about RevOps & Data

Is form scoring worth doing at low volume?
What belongs on a lead form?
Strengths
  • The dedupe check happens before the create, which most form automations do the other way round.
  • Scoring is code you can read, so nobody has to guess why a lead was marked hot.
  • It updates existing contacts, so a repeat submission adds information to the record.
Limitations
  • The default scoring rules are generic, so they will mislabel leads until you write your own.
  • It searches HubSpot by email alone, so the same person with a second address still creates a second record.
  • Slack alerts on every submission get ignored quickly, so post the top tier only.
Skip this if
  • Skip it if your forms already write to the CRM with dedupe handled.
Ideal for
  • RevOps leads
  • Demand gen managers
  • Stage: Seed to Series B

Want this running without building it yourself?

TripleDart has scaled 300+ tech companies with expert operators and AI workflows behind every play.