Start your free 14-day trial Open the demo account Search the whole site
Product DomesticCommercialEnd of tenancyHoliday letsAirbnbWindowsCarpets and upholsteryOne-off and specialistFacilities managementCleaner appRAMSYour websiteInvoicing Everything CleanFlo does → See it running →
Compare Cleaning software comparedCleanFlo vs JobberCleanFlo vs ZenMaidCleanFlo vs GetCleanFlowCleanFlo vs ConnecteamCleanFlo vs SweptCleanFlo vs BigChangevs a spreadsheet and WhatsAppCleanFlo vs SqueegeeCleanFlo vs ServiceM8CleanFlo vs Cleenie
Free tools Cleaning Quote CalculatorPrice Per m² CalculatorUK VAT CalculatorProfit Margin CalculatorTrue Cost of a CleanerHoliday Entitlement CalculatorPer-Seat Cost CalculatorContract Tender Calculator All 17 free tools → 16 printable templates →

How to add a cleaner

Adding a cleaner does two things at once: it creates their record on your team, and it creates the login they use on their phone. Which of the two routes you take decides who ever sees the password.

In the app: Staff 7 min read Last updated
On this page
  1. The Staff screen
  2. The two ways in
  3. The password shown once
  4. Sending an invite instead
  5. What lands on their phone

Everyone you add starts as a plain cleaner, with access to the phone app and nothing else: their own cleans, their own hours and their own messages. There is one role above that, supervisor, which an owner can promote somebody into later from their row on this screen: covered in full in Editing, deactivating and removing staff. Adding somebody here never grants it: every new starter begins as a cleaner.

The Staff screen

Open Staff in the sidebar. The page is titled Staff. The line under it reads today's date, how many staff are active, how many have never signed in, and how many invitations are still open.

app.cleanflo.io/staff
Staff Search everything… ⌘K New
Staff

Thursday 8 October 2026 · 6 active · 1 never signed in · 2 invitations open

Add staff member
Search staff…
Team directory
Your cleaning staff linked to this company
AllActiveInactiveInvited (2)Performance
NameEmailPhoneLast Active
AN Aisha Nowak Cleaning Pro aisha@example.co.uk +44 7700 900118 Just now
MK Marek Kowalski Cleaner marek@example.co.uk +44 7700 900204 4h ago
JR Joanne Reid Team Lead joanne@example.co.uk +44 7700 900371 2d ago
TS Tomas Silva Cleaner tomas@example.co.uk , Inactive
1–7 of 7 Export CSV
  1. Staff in the sidebar opens this screen.
  2. Add staff member is the main action on this screen.
  3. New, in the title bar on every screen, adds a clean, client, quote, invoice and more.
The Staff screen on the All tab. The card is headed Team directory, and its sub-line changes depending on which tab you are on rather than staying the same.
All
Everyone on the team, active or not. The default.
Active
People who can currently sign in.
Inactive
People you have deactivated. They stay in your records and keep their clean history.
Invited ({n})
Invitations you have sent and what has become of them. The count in brackets only appears while something is pending, so a plain Invited means there is nothing outstanding.
Performance
Clean counts per cleaner over the last 30 days. It replaces the directory table rather than filtering it, and the card sub-line changes to "Clean stats, last 30 days".

The table has four columns and a row of actions. Name is the initials avatar, the name as a link and the job title underneath, defaulting to "Cleaner" when you have not set one. Email and Phone are as typed, with a dash where there is nothing. Last Active is the interesting one.

Just now42m ago6h ago2d ago3w ago12 AugNever
The Last Active pill in each of its colours. It is the last time they signed in, not the last time they finished a clean, so a cleaner who leaves the app open all week still reads as recent.
  • Under an hour is green, under a day is sky blue, under three days is amber, and anything older goes grey.
  • The wording steps down through Just now, minutes, hours, days and weeks, and after a month it becomes a short date such as 12 Aug.
  • Somebody who has never signed in reads Never. That is the flag to look for after adding someone: it means the welcome email has not been acted on.
  • A deactivated person shows plain text reading Inactive instead of a pill, and the whole row is washed back.

The footer holds the pager and an Export CSV button. It writes staff.csv with the columns Name, Job Title, Email, Phone, Status and Last Active, and confirms with a toast reading "Exported 7 staff member(s)". Before you have added anybody the table reads No staff yet with "Add your first team member to get started."

The two ways in

Press Add staff member and the first thing the sheet asks is a question, not a field. The legend reads How should they get in? and there are two cards. This choice changes what the rest of the form does, so it is worth understanding before you pick one out of habit.

Add staff member
How should they get in? Set a password You choose a temporary password and we email it to them. Fastest if they are with you now. Send an invite They get a link and choose their own password. Nothing to read out, no password in an inbox.
Full name * e.g. Sarah Mills
Email address * sarah@example.com
Phone +44 7700 900000
Job Title e.g. Cleaning Pro
Shown once, copy or send it now
Login Password * brisk-harbour-4192 Share these credentials with the staff member so they can log in.
CancelCreate Account
The Add staff member sheet with "Set a password" chosen. The vault at the foot only exists in this mode, and the password inside it is generated for you rather than typed.
Set a password
The default. Its hint reads "You choose a temporary password and we email it to them. Fastest if they are with you now." CleanFlo generates one, emails it, and shows it to you once.
Send an invite
Its hint reads "They get a link and choose their own password. Nothing to read out, no password in an inbox." They set the password themselves and you never see it.

Either way the four fields are the same: Full name * placeholdered "e.g. Sarah Mills", Email address * placeholdered "sarah@example.com", then a two-up row of Phone and Job Title, both marked optional, placeholdered "+44 7700 900000" and "e.g. Cleaning Pro". A blank job title becomes "Cleaner" everywhere it is shown.

The password shown once

In password mode a bordered block appears at the foot of the sheet with a padlock, headed "Shown once, copy or send it now". Inside it is a Login Password * field holding a generated password, with three icon buttons: show or hide it, copy it, and generate a different one. Underneath, the hint reads "Share these credentials with the staff member so they can log in."

The heading is literal. Once you press Create Account the password is gone from your side of the app: it exists in the cleaner's email and nowhere you can look it up. Copying it puts a toast on screen reading Password copied, and a copy that fails says "Could not copy, select the password and copy it manually."

The form stops you at the obvious mistakes with inline errors rather than a toast: "Full name is required.", "Email is required.", "That email address does not look valid." and, if you replace the generated password with something too short, "Password must be at least 8 characters." An email already registered comes back from the server as "Could not create the account, the email may already be registered."

Sending an invite instead

Choose Send an invite and the vault is replaced by a line of explanation: "We will email marek@example.co.uk a link that expires in 14 days. You will get a copy of the link to share by WhatsApp or text, and they show as pending on your team until they accept it." The submit button becomes Send Invite.

Marek Kowalski has been invited
Their invitation is on its way.

app.cleanflo.io/join?token=8f3c1d24b90a47e6

WhatsApp Text Share another way
Invite someone else Done
The panel that replaces the sheet once an invite is sent. The share row exists because an email from a name a cleaner does not recognise is an email a cleaner does not open.

The panel is titled Invitation sent. It shows the full join link as a click-to-copy row, buttons for WhatsApp and Text, and, on a device that supports it, Share another way. The message it forwards is written for you: "Hi Marek, we use CleanFlo at Brennan Cleaning Ltd for your schedule and cleans." then "Set yourself up in about a minute" with the link, then "You choose your own password: nobody else sees it."

NameEmailStatus
Marek Kowalski Cleaner marek@example.co.uk Pending Resend
Priya Nair Cleaning Pro priya@example.co.uk Accepted Share link
Dan Whitcombe Cleaner dan@example.co.uk Expired Resend
Kelly Osborne Cleaner kelly@example.co.uk Revoked ,
The Invited tab. Under each pill in the real screen sits a timing line: an expiry countdown while it is pending, the date it was accepted or revoked once it is settled.
Pending
Amber. Sent and not yet used. Underneath, the expiry phrase counts down: "Expires in 11 days", "Expires tomorrow", "Expires today", or "No expiry recorded".
Accepted
Green. They have set a password and are on the team.
Expired
Red. Fourteen days went by. Resend issues a fresh one.
Revoked
Grey. You cancelled it. The link stopped working immediately, including any copy already forwarded.
Unknown
Grey. The invitation is in a state CleanFlo cannot classify. Revoke it and send another.

Row actions are Share link, Resend and, on pending rows only, Revoke. Revoking asks "Revoke the invite for Marek Kowalski?" and explains that the link stops working immediately, "including any copy of it they have already been sent". The buttons are Keep it and Revoke invite. With nothing outstanding the tab reads No invitations and "Invite someone and they set their own password: nothing to read out over the phone."

What lands on their phone

A cleaner added with a password gets a welcome email from you, carrying their email address, the temporary password and your company name. They install CleanFlo from the App Store or Google Play, sign in with those two things, and they are in. The same login also works in a phone or computer browser.

A cleaner who was invited gets a link to app.cleanflo.io/join instead. That page greets them with "Joining Brennan Cleaning Ltd as Marek Kowalski", asks them to Choose your password with the reassurance "This is yours alone: nobody at Brennan Cleaning Ltd can see it.", and asks for at least eight characters. Pressing Set up my account signs them straight into the cleaner app.

09:41
Coastal Cleans

Good morning, Amara

Good morning, Amara

Tuesday 11 August

1/4
1 of 4 cleans done today 25%
Today 1/4
This week 3
Wed 12 Aug
Fri 14 Aug
What a cleaner sees on Cleans: today's cleans in order, the one in progress first.

The first time they open it they get a short overlay explaining that clean locations are recorded at two moments, when a clean is started and when it is completed, and offering to turn on notifications. They can decline both and the app still works. Whichever route you took, their record now appears on your Staff screen and they can be assigned to a clean.

Common questions

How many cleaners can I add?
As many as you have. CleanFlo is one price of £19.99 a month with unlimited staff, clients and locations, so there is no tier to cross and nothing gets more expensive when you take somebody on.
Do cleaners need their own email address?
Yes. The email address is their username as well as where the welcome or invitation goes, so it has to be one they can reach. It cannot be shared with another member of your team, because the account is the email address.
A cleaner says they never got the email. What now?
Check the spam folder first, then use Resend Login on their row, which sets a new password and emails it again. For somebody you invited, the Invited tab has Share link, which gives you the join link to send by WhatsApp or text instead. That route works even when email does not.
Can I stop a cleaner seeing prices and client details?
The cleaner app already limits a plain cleaner to their own cleans: the site, the access notes, the checklist and the times. There is no fine-grained permission grid, but there are two levels: promoting somebody to supervisor gives them the office screens needed to run the day-to-day, Dashboard, Schedule, Clients, Staff, Inventory, Reports, while keeping billing, company settings, Quotes, Invoicing and everyone's pay owner-only. See Editing, deactivating and removing staff.
What if I add somebody by mistake?
Delete them from the row actions before they ever sign in and nothing is left behind. Once they have cleans against their name, deactivating is the better move, because deleting them unassigns any upcoming work while their past cleans keep their name.
What’s next How to check a cleaner's status and activity The staff detail page: the presence pill and what drives it, the tabs, the reporting period pills, clean history and availability, and where the same numbers turn up in Reports.

Did this answer your question?