Start your free 14-day trial
Product Job Scheduling & RotasInvoicing & BACSHealth & SafetyStaff Mobile AppAnalytics & Reporting
Solutions Commercial CleaningDomestic CleaningEnd of TenancyFacilities ManagementWindow Cleaning
Free tools Cleaning Quote CalculatorPrice Per m² CalculatorUK VAT CalculatorProfit Margin CalculatorTrue Cost of a CleanerHoliday Entitlement CalculatorContract Tender CalculatorClient Lifetime Value All 14 free tools →
Learn How to start a cleaning businessHow to price cleaning jobsHow to win cleaning contractsHealth & safety for cleaners CleanFlo vs JobberCleanFlo vs ZenMaid
Browse all guides

Enquiries and the public quote form

Before an enquiry can become a quote, somebody who is not a client yet has to ask for one. CleanFlo gives you a public link for that — no login, no PIN, nothing about your business on it but your name — and an inbox on your side that turns a stranger's message into a real lead, then a real draft quote, without ever quietly turning them into a client.

In the app: Enquiries Open CleanFlo
On this page

Before this existed, that first ask arrived however it arrived — a phone call, an email, someone stopping a cleaner in a car park — and turning it into a quote meant opening a blank drawer and typing everything out from scratch. An enquiry is the first lead object in the product: somewhere for that ask to land as a record, before it is a client, before it is a quote, and usually before it is anything you have priced.

It is deliberately not a client. Most enquiries never become one, and creating a client row for every stranger who fills in a web form would poison the client list, the portal and every report that counts clients. An enquiry stays an enquiry, in its own inbox, until you decide what it is.

The Enquiries screen

Enquiries sits in the Business group of the sidebar, directly above Quotes — the step before a quote exists gets the slot before it too. The item carries a count badge of its own, covered below. The page is titled Enquiries with the subtitle Leads from your public quote form, before they are clients, and the one button in the header is Copy Public Link.

app.cleanflo.io/enquiries
Search everything… ⌘K Enquiries
Enquiries

Leads from your public quote form, before they are clients

Copy Public Link
New
2
Open
5
Won
1
Enquiries
6 enquiries
Search enquiries…
AllNewContactedQuotedWonLost
WhoWhat they wantCame fromReceivedStatus
Fenwick Design Studionadia@fenwickdesign.co.uk Weekly clean for a small design studio, three desks and a kitchenette Website 14 Aug 2026, 09:12 New
Mrs J. Pascoe07700 900312 End of tenancy clean, two-bed flat, keys with the agent Website 13 Aug 2026, 18:40 Contacted
Old Custom House Caféhello@oldcustomhouse.co.uk · 01872 555 0176 Kitchen deep clean — extractor, floors and the walk-in fridge Website 12 Aug 2026, 11:05 Quoted
Pryce & Co Solicitorsoffice@pryceandco.co.uk Reception and two meeting rooms, twice a week before 8am Website 09 Aug 2026, 14:30 Won
Showing 1–4 of 6 1
The Enquiries screen. Three figures across the top, then the same search-filter-table shape every ledger in CleanFlo uses. Rows are clickable and open the enquiry.
New
A count of enquiries sitting untouched at their starting status. This is the same number the sidebar badge shows.
Open
A count of New, Contacted and Quoted together — anything that is still a live lead rather than a finished one.
Won
A count of enquiries you have marked Won. Nothing here totals a value, because an enquiry never carries a price to total.

The ledger carries five columns: Who, What they want, Came from, Received and Status. Who shows the business name if one was given, the person's name if not, with their email or phone underneath. The search box above it matches the name, business name, email, phone, message and location in one go, and the status tabs — All, New, Contacted, Quoted, Won, Lost — are Title Case to match Quotes' own tabs, deliberately.

Two values appear under Came from today: Website for anyone who found the form on their own, and Client referral — followed by via {client name} — when they arrived through a client's own referral link (see Referrals in The client portal). The vocabulary holds two more, Added by you and Raised on site, reserved rather than decorative, for whenever a second way to log a lead by hand arrives.

The form a stranger fills in

The link opens a plain page at a URL shaped like app.cleanflo.io/brennan-cleaning/quote — the same company slug your client portal links already use, so it sits right next to a client's own app.cleanflo.io/brennan-cleaning/riverside-homes. There is no login and no PIN, on purpose: whoever is on the other end has never had an account with you and may never have one. The page renders your company's display name and nothing else about it — no address, no other clients, no prices.

Brennan Cleaning Ltd
Tell them what you need and how to reach you. They’ll come back to you directly.
Your name *
Business name optional
Email
Phone An email address or a phone number — either is enough.
Where is it? optional
What do you need cleaned? *
When would suit you? optional
Send enquiry
The public form as a prospect sees it. No login, no PIN, no service picker and no price anywhere on it — it is an ask in plain language, not a quote request with line items.
Your name and What do you need cleaned?
The only two required fields. Everything else can be left blank.
Email and Phone
Neither is required on its own, but at least one of them is — an enquiry with no way to reply is refused with Please leave an email address or a phone number so they can reply.
Where is it? and When would suit you?
Both optional free text, not a location picker and not a calendar. A prospect types "the flat above the bakery on Market Street" or "weekday mornings before nine" and that is exactly what lands in your inbox.
What do you need cleaned?
Free text, no service picker and no price. This form asks what somebody wants, not what it costs — pricing it is still your job, the same as any quote you build by hand.

A blank name gets Please tell us your name., a blank message gets Please tell us what you need cleaned., and a badly formed email or phone number is rejected before it can be saved as the only way to reach somebody. None of that is visible on the page itself, which also carries a hidden field a person never sees: a real visitor never fills it in, but a form-filling bot fills in every input it finds. A submission with that field set gets exactly the same Thank you screen a genuine one does, and writes nothing to your inbox.

Copy Public Link, in the Enquiries header, is the only place the link is generated. The first time anybody presses it, CleanFlo builds your company's slug if one does not already exist yet — the same slug a client portal link would use — and copies the finished address straight to your clipboard. The button briefly reads Copied before going back.

A Let anyone request a quote from your public link toggle sits on the Company tab of Settings, on by default. Switch it off and the link stops opening for anyone — useful for a company that is fully booked and does not want to advertise a way to ask. With it off, the Enquiries screen shows a standing notice: Your public quote form is switched off, so the link above will not open for anyone. Turn it back on in Settings → Company.

The five statuses

NewContactedQuotedWonLost
The enquiry status vocabulary, in the order a lead moves through it. Unlike a quote, an enquiry can jump straight from New to Won or Lost without ever passing through Quoted.
New
Where every enquiry starts. The only status a submission from the public form can ever be written with.
Contacted
You pressed Mark Contacted — a record that somebody has heard back from you, nothing more. Only offered while an enquiry is still New.
Quoted
Set automatically, and only automatically, the moment Convert to Quote genuinely saves a draft. There is no way to mark an enquiry Quoted by hand.
Won
You pressed Mark Won. No reason asked, and it can be pressed from any status — an enquiry does not need to have been quoted first.
Lost
You pressed Mark Lost, which always asks why. Also available from any status, for the same reason: plenty of leads die before they are ever priced.

Opening an enquiry

Clicking a row opens a detail sheet titled with the enquiry's name, subtitled with their business name, and carrying the status pill in the header. Underneath sits everything they typed: when it was received, where it came from, their email and phone as live mailto: and tel: links, where the job is and when would suit if they said, and the full message under What they asked for.

Nadia Fenwick
Fenwick Design Studio
New
Received 14 Aug 2026, 09:12
Came from Website
Email nadia@fenwickdesign.co.uk
Where 14 Bridge Street, Truro
When Weekday mornings, before 9am

Weekly clean for a small design studio, three desks and a kitchenette. Bins and washroom too if that’s normally included.

Mark Contacted Convert to Quote Mark Won Mark Lost
The enquiry detail sheet. The four action buttons change with the status: Mark Contacted disappears once it has been pressed, and Convert to Quote disappears once a quote already exists for this enquiry.

Pressing Mark Lost does not resolve the enquiry on the spot. It opens an inline reason picker — the same four reasons a declined quote uses, Price too high, Chose another company, No longer needed and Bad timing, followed by one reason that only enquiries get, Not a genuine enquiry, and finally Other with a free-text box — and a Mark Lost button to confirm it. Not a genuine enquiry exists for exactly the spam that talks its way past the honeypot: a real person typing nonsense into a real form, rather than a bot filling in a field it should never have touched.

Convert to Quote

Convert to Quote has no dialog. It builds a real draft quote — a one-off recipient, the same shape the quote drawer's own New Recipient option writes, not a client — and takes you straight to the normal Quotes screen with it sitting there like any other draft you had built by hand. Converting never creates a client record: most enquiries never become one, and this is not the moment that decides it either way.

Carried onto the quoteLeft on the enquiry
The business name if given, else the contact name, as the recipientThe quote number: its own QUO series, allocated fresh
The email address, as the recipient emailThe phone number — a one-off quote recipient has nowhere to put one
The first line of what they asked for, as a single line item priced at £0.00Where the job is, and when would suit — neither has a field on a quote
The full message, word for word, into Scope of WorkThe enquiry itself, still visible in the inbox at Quoted

Everything else about the new draft is exactly as if you had built it yourself: Issue Date is today, Valid Until is thirty days out, the VAT rate on the line follows whether your company is VAT registered, and follow-up reminders are on by default. There are no prices filled in anywhere on it — an enquiry never carries a price, so a quote born from one is priced the same way every other quote is, by you.

Once an enquiry has a linked quote, Convert to Quote disappears from its detail sheet. Unlike converting an accepted quote to an invoice, which you can press more than once, an enquiry cannot be converted twice.

Common questions

Can someone spam my public form?
It is rate-limited and carries a honeypot a bot fills in but a person never sees, so an automated submission is silently discarded rather than rejected with an error. It also never tells the sender whether your company slug was even valid — a submission gets an identical response whether the slug names a real company, one that has switched the form off, or nothing at all — so it cannot be used to check which companies exist on CleanFlo either.
Does converting an enquiry to a quote create a client record?
No. The quote is built as a one-off recipient, the same way the quote drawer's own New Recipient option works, and nothing about converting touches your client list. If the lead becomes a real client later, you add them the normal way.
Can I mark an enquiry Lost before I have quoted it?
Yes, from any status. Plenty of leads die before they are ever priced — the job was cancelled, they went with somebody else, or it was never a genuine enquiry — and Won and Lost do not require a quote to exist first.
Why is there nowhere to put a price on the enquiry itself?
Because it is not a quote. The public form asks what somebody wants in their own words, not for a service and a quantity, so nothing about an enquiry is ever priced. Convert it and you price the resulting quote the same way you would build one from scratch.
Does opening the Enquiries screen clear the sidebar badge?
No. The badge counts enquiries still at New and only drops as each one is individually moved on to Contacted, Quoted, Won or Lost. That is different from the badge on Quotes, which clears the moment the Quotes screen is opened.