A form on your site that writes straight into your pipeline.
Build it with the fields you want, in the order you want, with logic that shows or hides a question depending on the answer before it. Put it on your own site, and every real submission becomes a lead — or an estimate request, if that is the kind of form it is.
Automated spam doesn’t reach your team
Bots find your form the same way a person does, and they get the same thank-you page a real person gets — so there is nothing on the page telling an automated script what worked and what didn’t. Every attempt is still kept on the form’s own page in Setup, so “is our form broken” or “are we being hammered” both have an answer, even though your team’s actual queue never sees the junk.
A double click doesn’t make two leads
Submit the same form twice in a hurry, or have a slow connection resend it, and you get the same thank-you both times — with only one lead behind it. A genuinely second enquiry from the same person still goes through as its own lead.
A file, if you ask for one
A form can accept an upload from a stranger who has never signed in — a brief, a photo of the job, whatever your team needs to quote against — checked and stored against the lead it came with.
A pricing question can arrive as an estimate request on the same form path.