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 set it up.
Connect Typeform and pick the form, then send one test submission to see the field keys.
Add the HubSpot credential and confirm the search node queries by the email property.
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.
Set the two thresholds that split cold from warm and warm from hot.
Choose the Slack channel and decide whether every tier posts or only the top one.
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.