DashboardSign inStart your trial

In this guide · GuidesClose guide

Lead Capture to CRM with Enrichment

A public form feeds a workflow that researches and scores each new lead, routes it for a quick human check, then writes the approved record into your CRM.

Capture leads on a public form, let AI enrich and score each one from its company site, have a human confirm the fit, and write the approved record straight into your CRM: no manual data entry, no lead sitting in an inbox.

Node chain: Form (bound table) → Data Change trigger (form submitted) → AI (research agent enriches + scores) → Human Review (approve/reject with context) → Integration Action (create CRM record) → optional Slack notify.

#What you need

  • A workspace table for leads and a public form bound to it. The form’s fields come from the table, at minimum a name, email, and company or website.
  • A CRM integration connected (HubSpot, for example) so you can add an Integration Action.
  • Optionally, a Slack connection for the notify step.

#Build it

#1. Build the form and its table

Create a table with the columns you want to capture, then build a form bound to it. Set a title, intro, and success message; brand it with a logo if you like. Toggle it public and share the /f/<shortId> link. Every valid submission becomes a row in the bound table, stamped with the form it came from.

#2. Trigger on submission

In a new workflow, add a Data Change trigger. Set Change type to Form submitted and scope it to your form (or leave it open to fire on any submission to the table). Only published workflows fire on data changes. The submitted row arrives as trigger data, so downstream nodes read its fields directly.

#3. Enrich and score with a research agent

Add an AI node and choose the Research agent, or duplicate it into your workspace to tailor the job. Research access, allowed domains, output limits, and research depth are agent settings rather than node settings.

For a CRM-ready result, configure the workspace agent’s output contract with summary, segment, fitScore, and reasoning. Grant only the web tools it needs: fetch_url for the supplied site and web_search when it must look beyond that site. Use an allowed-domain limit when the agent should stay on specific hosts.

Pass the lead’s website and other details into the agent inputs, then use this node prompt:

Research this inbound lead and score its fit for us. Fetch the company site, then summarize what it does, identify its segment, score fit from 0 to 100 against our ICP, and explain the score.

Below the prompt, add labels for Name, Email, and Company/site. After each label, select Insert data from an earlier step and choose the corresponding value from the Data Change trigger.

Set workspace context on the agent so it scores against your ICP without repeating it in every workflow. Keep the research depth tight: fresh external data is useful here, but each research call adds cost.

#4. Route it for a human check

Add a Human Review node so a person confirms the fit before the lead lands in your CRM. Two good shapes:

  • Approve / Reject (the default): insert the AI step’s Summary, Fit score, and Reasoning as context so the reviewer can approve, edit, or reject at a glance.
  • Task: if you want the reviewer to add something (a lead owner, a priority), use a Task approval with Collect fields (label + type: text, URL, or number). The collected values become the node’s output for the CRM write.

#5. Create the CRM record

After approval, add an Integration Action node for your CRM (e.g. HubSpot → create contact/lead). In each CRM field, use Insert data from an earlier step to map the Data Change trigger’s name and email, the AI step’s summary and score, and any value a Task review collected. Rejected leads never reach this step.

#6. Notify the owner (optional)

Add a second Integration Action for Slack to post to a channel or DM the owner. Type New qualified lead: , insert the Data Change trigger’s Company, type scored, then insert the AI step’s Fit score. Now the right person knows the moment an approved lead is in the CRM.

#Make it learn

Start the Human Review node in Always ask: every enriched lead gets a human look. Approve the good fits, reject the bad ones, edit scores that are off. Those decisions feed confidence scoring, which learns your ICP from your calls, not just the prompt.

Once you’ve reviewed enough that the scoring tracks your judgment, switch to Confidence gated. Clear, high-fit leads start auto-approving straight into the CRM; borderline or low-confidence ones still come to you, as do any that trip a validation or containment gate. You keep a human on the judgment calls and stop rubber-stamping the obvious ones, and every decision, auto or manual, lands in the decision record.

#Cost

  • Form submission, Data Change trigger: free.
  • AI enrichment: bills AI Credits by token cost. The agent’s research-depth and run limits bound this; keep them tight. Metered web search can also use Workflow Credits.
  • Human Review: free, always.
  • Integration Action (CRM create, Slack notify): 2 Workflow Credits each.
  • Storing the lead row: metered as data storage, not per-write; reads and writes themselves are free.