Enter your email and we'll send you a reset link.
Enter your new password.
Cross-sell SMS pushes to existing customers (e.g. pressure washing for Idaho window-cleaning customers). Customers tap a link to pick services they want quoted; results land in the Inbox + your daily digest text.
Customers who called from areas you're not currently in. When you move to their state, reach out to book them.
Customers whose drip campaigns finished without a reply. Click Call to dial and log the attempt, then pick an outcome.
Every call handled by the AI phone agent. Click a row to see the full transcript.
Manage crews, names, colors, and which state each crew is currently operating in. Disable a crew to move it to Inactive; delete it there.
Define what each role can access. Assign roles to users above.
Preview the app as a specific user sees it — their data, permissions, and layout. Useful for testing role configs.
Controls what a crew has to do to finish a job, and when they get the next job's address.
Controls how time slots are displayed to customers in SMS, booking pages, and the public scheduler.
Crew see full customer detail (name, phone, address, SMS thread) only for active jobs in the current Mon-Sun week. Completed jobs and jobs in other weeks show first name + price only and can't be opened.
Text shown before the booking URL in SMS messages when using {{book_link}}.
Sync imports customers. Smart Sync pulls fresh data and lets you review conflicts before merging.
Pulls the door-knock pins and their notes out of FieldRoutes and onto the Sales Map. Imported pins are visible to admin and dispatch only, and never appear in a rep's own leads.
Fetch from FieldRoutes is the only button that uses the FieldRoutes API, which allows just 50 reads a day. One complete pull costs about 20 of them, so fetch once and it is saved here permanently. Preview and Import Pins then work from that saved copy and cost nothing, so you can re-run them as often as you like. If a fetch runs out of allowance partway, whatever it already got is kept and the next fetch picks up where it stopped.
FieldRoutes stores each door's result as a number and doesn't say what the numbers mean. This is the mapping. Change one and hit Save mapping, then Re-apply Status Map to recolour pins that are already on the map. Neither costs a FieldRoutes read.
Draw hoods on the Sales Map (the "✏️ Draw Hood" button) and assign a salesperson. A salesperson sees the customers inside the hoods assigned to them; unassigning a hood removes that visibility. Edit or delete existing hoods below.
These services appear on the public booking page, in SMS drips, and in the campaign customer review. Leave the price blank if you want to quote it per customer. Drag the handle to reorder.
Off, nothing changes for anyone: no pay link goes out with a reminder, and crews
see the same payment screen they always have. On, customers get a page showing
what they owe with a one tap Venmo button, and a card button if Stripe is connected.
You can still open a pay link yourself while this is off, so you
can try the real page on a real balance before switching it on for everybody.
Saved.
These links are sent to customers when requesting payment after a booking.
Saved.
Automatically SMS unpaid customers on selected days.
Saved.
How completed jobs roll up to cleaner pay in the Commissions report.
Auto-text customers 48 hours before their appointment with a confirm/reschedule prompt. The "on the way" text is a manual button on each booking — never automatic, since traffic and prior-job overruns make it unreliable.
When off, no automatic reminders go out. The manual "on the way" button still works.
Reminders only send when the customer's local time is in this window. Customers outside the window roll into the next hourly tick.
Saved.
When enabled, inbound calls to your Twilio number are handled by the AI agent. It can look up customers, check availability, and book appointments. View call logs in the AI Call Logs tab.
A one-page guide to get you productive on day one.
| Tab | What it's for |
|---|---|
| Dashboard | Today at a glance — jobs, payments, alerts |
| Jobs | The calendar. Day / Week / Month views. Drag to reschedule |
| Customers | Search, edit, add customers |
| Inbox | SMS conversations from customers |
| Map | See customers and jobs on a map |
| Reports | Revenue, crew, and campaign reporting |
| Campaigns | Drip-SMS campaigns to win back overdue customers |
| Settings | Users, crews, services, payments, AI, and more |
The three dots (···) in the nav opens the overflow menu.
{{first_name}} and {{price}} — the preview shows exactly what the customer will see.If you made a mistake after completing, open the job and hit Redo to reopen the same flow with everything prefilled.
Settings → Services → + Add. Name it, optionally set a default price, and it shows up everywhere: campaigns, booking pages, SMS, completion flow. Drag to reorder, click the × to remove (past jobs keep their labels).
If you hit something you don't understand, ping your admin. If the system is broken or a text didn't send, the admin can check Settings for the relevant status badges and logs.
View status of background jobs. If a job is stuck, you can force-run it — only unsent messages will be processed.
Detect landline numbers via Twilio Lookup so they're skipped on SMS drips and flagged for a manual call. Drips already check on first send — run this scan to flag every customer up-front.
Build-your-own plans a customer asked for. Nothing has been texted to them yet. Adjust the months if you need to, then confirm.
Each plan is a set of months plus a note about what happens on those visits. The crew can adjust both at the door for a particular customer; what you set here is the starting point.
Faults reported by the app itself, from whoever's phone hit them. Each one carries the last few things that happened before it broke. Tick one off once it's fixed.
Set when the selected customers can be booked. Customers who reply LATER can reschedule within these windows.
Which crews' schedules this person can see. This is not who they work with or who gets paid — cleaners move between crews daily, so use 👥 Who's On for the day's crew and the completion screen for pay. Click the star to set their main crew.
The state this person is in right now. Their calendar hides jobs outside it, so somebody who works Idaho in summer and Arizona in winter keeps both crews all year and only sees the one they are in. Leave every box unticked for all states, which is how everyone is set today. A job they are personally assigned to always stays visible.
Override the role default for "Manage schedule" — drag/drop, time/crew edits, cancel, create, reschedule resolve.
Override the role default for "Block off time" — hold a slot so it can't be booked. Cleaners have this by default; deny it here to take it away from one person.
Allow to let this person work this week's finished jobs: full customer contact on the week's jobs including completed ones, the week's jobs from every crew, and the Work → Send Invoices queue. Past weeks stay hidden.