Automation Blueprintby Asendify
Example blueprint

Website enquiry to qualified sales lead

Every enquiry from the website form is cleaned, added to HubSpot and scored by AI. Hot leads reach the sales team in Slack within a minute and get a booking link by email; everyone else goes into a nurture sequence. Every lead is logged in a Google Sheet for weekly reporting.

DifficultyIntermediate
Time to build6–10 hours
Est. tools / month£35–£120
Main platformn8n

The workflow

Trigger at the top, then every step in order. Branch conditions are on the arrows.

Website enquiry to qualified sales lead: automation diagramTRIGGERNew website enquirysubmittedTypeformACTIONClean, validate andde-duplicaten8nACTIONFind or create thecontactHubSpotAI STEPScore the lead andsummarise needsOpenAIDECISIONScore 70 or higher?n8n IF nodeACTIONAlert sales with thesummarySlackACTIONEmail a call bookinglinkGmail + CalendlyACTIONEnrol in nurturesequenceHubSpotRESULTLog the lead forreportingGoogle SheetsYesNo

Scroll sideways to see the whole diagram.

TriggerActionDecisionAI stepResult

Recommended platform: n8n

Handles branching, retries and AI calls in one visual workflow, has native HubSpot, Slack, Gmail and Google Sheets nodes, and stays affordable as volume grows. Self-hosting later can cut the cost further.

Tools for each step

What each tool does in this workflow and why it was picked.

n8n

Runs the whole workflow

Visual builder with branching, error workflows and retries built in; native nodes for every app used here.

Cost (estimate): Cloud Starter, roughly £20–£50/month

Typeform

Captures the enquiry

Clean, mobile-friendly form with hidden fields for the UTM source; sends each response to n8n instantly.

Cost (estimate): Free plan to start, about £25/month for more responses

HubSpot CRM

Stores contacts and runs nurture

The free CRM covers contacts and deals; sequences for the nurture emails need a paid Sales Hub seat.

Cost (estimate): Free CRM; about £15–£45/month per seat for sequences

OpenAI API

Scores and summarises each lead

A small model reads the message, budget and company size and returns a 0–100 score with a two-line summary as JSON.

Cost (estimate): Usage based, typically under £5/month at this volume

Slack

Alerts the sales team

Hot leads appear in #sales with the summary and a link to the HubSpot record, so someone replies within minutes.

Cost (estimate): Free plan works

Gmail + Calendly

Sends the booking link

A personal-looking email from the sales rep with their Calendly link converts better than a generic auto-reply.

Cost (estimate): Google Workspace from about £6/user/month; Calendly free plan

Google Sheets

Reporting log

One row per lead with source, score and route makes weekly reporting and auditing simple.

Cost (estimate): Included with Google Workspace

Step-by-step build

Follow these in order. Each step lists the data it receives and passes on.

  1. Connect the form to n8n

    Typeform + n8n

    • In n8n, add a Typeform Trigger node and connect your Typeform account.
    • Select the enquiry form and map the fields: name, email, company, budget, message, plus hidden fields utm_source and utm_campaign.
    • Submit a test response and check it arrives in n8n.
    Data inForm response
    Data outname, email, company, budget, message, utm_source
  2. Clean and validate the data

    n8n Code + IF nodes

    • Trim spaces, lowercase the email and title-case the name in a Code node.
    • Drop obvious spam: empty message, disposable email domains or a filled honeypot field.
    • Check the Google Sheet for the same email in the last 24 hours to stop duplicates.
    Data inRaw form fields
    Data outClean lead record
  3. Find or create the HubSpot contact

    HubSpot node

    • Use the HubSpot node with "Create or Update" contact, keyed on email.
    • Map company, budget and source to contact properties (create custom properties for budget and source first).
    • Save the returned contact ID for later steps.
    Data inClean lead record
    Data outhubspot_contact_id + lead record
  4. Score the lead with AI

    OpenAI node

    • Send the message, budget and company to a small, low-cost model with a fixed scoring rubric (budget fit, urgency, fit with your services).
    • Ask for JSON only: {"score": 0-100, "summary": "two lines", "reason": "one line"}.
    • Parse the JSON; if parsing fails, set the score to 0 and the summary to "Needs manual review".
    Data inLead record
    Data outscore, summary, reason
  5. Route hot and cold leads

    n8n IF node

    • Add an IF node: score is greater than or equal to 70.
    • The true branch goes to Slack and the booking email; the false branch goes to the nurture sequence.
    • Write the score and summary back to the HubSpot contact on both branches.
    Data inscore + lead record
    Data outRoute: hot or nurture
  6. Alert sales and send the booking link

    Slack + Gmail

    • Post to #sales: name, company, score, summary and the HubSpot record link.
    • Send a short Gmail message from the sales rep with their Calendly link, personalised with the first name and the summary.
    • Create a HubSpot task "Follow up within 24 hours" for the rep.
    Data inHot lead
    Data outSlack message ID, email sent
  7. Enrol cold leads in nurture

    HubSpot

    • Enrol the contact in your nurture sequence through the HubSpot API (a Sales Hub seat is needed).
    • Set the lifecycle stage to "Lead".
    Data inCold lead
    Data outSequence enrolment status
  8. Log every lead

    Google Sheets node

    • Append a row: date, name, email, company, source, score, route, HubSpot link.
    • Use this sheet for a weekly summary or a Looker Studio dashboard.
    Data inLead record + route
    Data outSheet row

Error handling

What can go wrong and how the workflow should deal with it.

HubSpot or Slack is down or rate-limits the requestTurn on "Retry on fail" (3 tries, 30 seconds apart) for API nodes; anything still failing goes to an n8n Error Workflow that emails you the lead details.
AI returns invalid or empty outputValidate the JSON; on failure use score 0 and post to a "Needs manual review" Slack message instead of losing the lead.
Spam or duplicate submissionsHoneypot field plus a disposable-domain check, and a 24-hour duplicate check on email before anything is created.
A field is renamed in TypeformKeep the field mapping in one Set node so a change is fixed in one place; the error workflow alerts you if required fields are missing.

Before you start

  • n8n cloud account (or a self-hosted instance)
  • Typeform account with the enquiry form
  • HubSpot account with custom properties for budget and source
  • OpenAI API key with a monthly spend limit set
  • Slack workspace with a #sales channel
  • A Google Sheet with the column headers above

Test it before going live

  • Submit 5 test enquiries covering hot, cold, spam and duplicate cases
  • Temporarily break the HubSpot credentials to check the error workflow emails you
  • Check the Google Sheet and HubSpot records match

Monthly cost estimate

£35 to £120 a month in tool subscriptions and usage.

Mostly the n8n cloud plan and the Typeform plan; AI scoring costs pennies per lead at around 300 enquiries a month. These are estimates: tool prices and plans change, so check each provider's pricing page before you commit.

Assumptions

  • Around 300 enquiries a month
  • One sales rep receives hot leads
  • Leads are businesses with a company name