A lead qualification form should do more than drop a name into a shared inbox. In FormWork it can score each enquiry, give sales-ready leads to the next rep in turn, flag the ones nobody has called, and hand qualified leads to your CRM. This is a configuration pattern for a fictional software company’s demo requests, not a case study; the points and thresholds are examples.
Why a basic lead form isn’t enough
A contact form that emails a sales inbox leaves whoever reads it first to decide what to do. Good leads wait, support requests land in the sales queue, nobody can say which leads were never contacted, and the CRM gets whatever someone copied across. The aim here is that every lead has a score, an owner, a due time for first contact and a recorded outcome.
Build the lead qualification form
Three pages keep the form short:
- About you: Name, work Email, an optional Phone, job title, and a Single choice for their role in the decision (I make the decision, I recommend, I’m researching).
- Your company: company name, website (URL), a Dropdown for company size and a Country.
- What you need: a Single choice for the reason (see a demo, talk about pricing, partnerships, support for an existing account), timeline, whether budget is agreed, and a Long text for anything else.
Use conditional logic so that choosing support shows a paragraph pointing to your support page and hides the qualifying questions. Validation rules with Must not contain can refuse personal email domains, though that also refuses some genuine sole traders. Turn on Security check (CAPTCHA) in form settings to keep spam out of the queue.
Score each lead with a calculated value
Add a Hidden value field called Lead score. Respondents never see it. Set its Default value to Calculation, with one IF per scored question added together. For example:
| Question | Points |
|---|---|
| Company size | 0 for 1–9 staff, 10 for 10–49, 15 for 50–249, 25 for 250 or more |
| Role in the decision | 20 decides, 10 recommends, 0 researching |
| Timeline | 25 this month, 15 within 3 months, 5 within 6 months, 0 just researching |
| Budget agreed | 20 yes, 10 in progress, 0 no |
| Reason | 10 for a demo or pricing |
Compare against each option’s value, not its label. A calculation stays empty until every answer it uses has a value, so make scored questions required or add a default:0 fallback. The server works the score out each time an answer is saved; see calculated values and server-side logic.
Set up the sales stages
Entries start in New lead when they are submitted, so half-finished forms never reach the queue. Create an Inbound sales group in Account settings > Team, then set up the stages on the Process page:
| Stage | Kind | Owner and due time | Actions |
|---|---|---|---|
| New lead | Open | The Inbound sales group, due within 4 hours | Meeting booked to Qualified, Reached out to Waiting for reply, Not a fit to Not progressed (comment required) |
| Waiting for reply | Waiting | Keep the current owner, due within 5 days | Meeting booked, No response to Not progressed |
| Qualified | Open | Keep the current owner, due within 2 days | Send to CRM (the owner only), Not a fit |
| CRM hand-off failed | Open | A Sales operations group, due within 1 day | Try again to Sent to CRM |
| Sent to CRM, Not progressed | Closed | None |
Add three team fields: Priority (a Dropdown), Next step and CRM record ID. Leave respondent status off: prospects don’t need to see “Not progressed”.
Route leads to the next rep with the Assign step
An automation called Route new leads runs on Form is submitted:
- An If with two branches. When the reason is support, Move to stage Not progressed with the comment “Support request”, Send email to your support inbox, then Stop. When Lead score Is less than 30, move it to Not progressed with the comment “Score below 30” and Stop.
- A second If: when Lead score Is at least 70, Update entry or row sets Priority to High and Send Slack message posts it in your sales channel.
- Assign, set to Next in a group with Inbound sales. People take turns in the order they joined the group. Keep Skip people marked away on, so reps who set I’m away until in their profile get no new leads; see marking yourself as away.
- Send email to the new owner, using Use a template with the owner’s email.
If nobody can take the entry, because everyone is marked away or the group is empty, the Assign step fails and the lead stays unassigned in Inbound sales. It shows in each member’s My work under In my groups (unassigned), with Assign to me. Under If it fails, email the sales manager, and set When it fails to Stop, with the run completed. Keep the default, Stop and mark the run as failed, if admins should get the failure email too.
The turn belongs to the group, so every Assign step using Inbound sales shares one rotation. It is strictly in turn and doesn’t weigh workload. For territories, use a Switch on region with a group and an Assign step for each.
Chase first contact with In a stage too long
FormWork doesn’t email owners when a lead is assigned or becomes overdue, so add reminders. The Remind the owner when a stage is overdue template is a starting point.
- Chase first contact: In a stage too long, in New lead, for longer than 4 hours, matching the due time. An If checks for an owner: without one, post in the sales channel; otherwise email the owner and copy the sales manager.
- Reassign untouched leads: In a stage too long, in New lead, for longer than 1 day, then Assign with Next in a group and Send email to the new owner. Reassigning doesn’t reset the due time, so the lead stays overdue.
Each runs once each time a lead enters the stage. Due times and these triggers count calendar time, not working hours, so a lead submitted at 22:00 is overdue by 02:00. Pick times your team can meet, or accept overnight leads showing as overdue in the morning.
Hand qualified leads to your CRM
A rep selects Send to CRM once a lead is qualified. An automation on Stage changes, to Sent to CRM, then:
- Send to webhook with Method POST, an authorisation header set to A secret, and a Body (JSON) with the contact, company, score, owner’s email and entry ID. Set Retries to Retry 3 times.
- Update entry or row saves the record ID from the response into the CRM record ID team field. Run Test this request against a sandbox first so later steps can pick response fields; the test sends a real request.
If your CRM has an OpenAPI description, an API connector does the same with test and live environments.
Under If it fails, Move to stage CRM hand-off failed with a comment, so Sales operations owns the fix and Try again resends it. Keep When it fails on Stop and mark the run as failed, and turn on Email admins when an automation run fails in notifications. A timeout can come after the CRM has created the record, so send the entry ID and use the CRM’s create-or-update where it has one. See when a step fails and automation runs.
Who can see leads
Everyone in the account can open every lead, whichever rep owns it: groups decide who owns work, not who sees it. Review team members and roles before inviting people.
Test these cases before you publish
- A support request, a score of exactly 30 and of exactly 70.
- An optional scored question left empty, and the score that results.
- Every member of Inbound sales marked away, and a group with one person.
- A lead submitted late in the evening, and when its reminder arrives.
- A CRM that times out, rejects the request, and accepts a retry.
- Try again after a failed hand-off, checking the CRM for duplicates.
Change it safely
Publish new questions, points, stages and automations as a new form version. Submitted leads keep their questions and scores, while the process and automations follow the latest version. Changing New lead’s owner or due time asks whether to apply it to leads already there. Group changes take effect at once, and a new rep joins the end of the rotation. See drafts and publishing.
What success looks like
Every lead has a score, a named owner or a visible unassigned state, and a recorded outcome: sent to the CRM with a record ID, or not progressed with a reason. Failed hand-offs land with someone who owns them. Set your own response-time targets; this pattern doesn’t promise one.
Compare this with accountancy quotes, see automations and pricing, or talk through your sales process.