Create a single Leads database in Notion with the properties below, then paste its ID here. This tracker uses the same Cloudflare Worker proxy as the Stock Tracker — no extra setup needed if you've already deployed it.
1Create the Leads database in Notion
📋 Leads Database Properties
PropertyTypeNotes / Options
NameTitleCustomer name
TypeSelectService/Repair · Robot Mower · Sales
StatusSelectNew · Diagnosed · Quoted · etc.
PhoneRich TextContact phone number
EmailRich TextContact email
AddressRich TextCustomer address
MachineRich TextMake + model of machine
Serial NumberRich TextMachine serial number
DescriptionRich TextFault details / job info
Job TypeSelectService · Repair · New Install · etc.
QuoteNumber£ amount
SourceSelectWebsite · Referral · Walk-in · etc.
NotesRich TextInternal notes
Follow Up DateDateNext follow-up date
Follow Up NoteRich TextWhat the next follow-up is about
Install NotesRich TextEquipment, access codes, anything needed on the day
Install StaffRich TextStaff assigned (e.g. Dave + Mike)
Quote DataRich TextStores quote builder data (map, zones, extras)
After creating the database, share it with your Notion integration (click ··· → Connections → add your integration).
2Get your Leads database ID
Open the Leads database in Notion. Copy the ID from the URL: it's the long string before the ? — e.g. notion.so/yourworkspace/abc123def456...?v=...
3Enter your Worker URL & database ID
Use the same Cloudflare Worker URL from the Stock Tracker. If you haven't set one up, visit the Stock Tracker setup page for instructions.
Connection Details
Same proxy URL as the Stock Tracker
The string in the URL before the ?
Enables customer search on the lead form to pre-fill contact details
👤 Customers Database — expected properties
PropertyTypeNotes
Full NameTitleThe title property (any name works)
Business NameRich TextCompany / business name
MobilePhonePhone / TextMobile phone number
Phone LandLinePhone / TextLandline number (optional)
EmailEmail / TextEmail address or rich text
AddressRich TextFull address
The property names shown above are the defaults. If yours are named differently, update them in the Property name overrides section below — the labels will update automatically.
Property name overrides (advanced)
Customer database property names
👤 Staff Login Database
Notion database used for staff login. Needs "Email" and "Login Password" properties.
💬 Ask a Colleague (Discord)
Three separate webhooks — one per team. Create in Discord: Server Settings → Integrations → Webhooks → New Webhook.
Colleagues (name + Discord User ID)
Right-click a member in Discord → Copy User ID (enable Developer Mode in Discord settings first).
💳
GoCardless — Automatic Payment Links
Two quick changes to your Cloudflare Worker let you generate GoCardless payment links directly from the Quote Builder.
1Add your GoCardless API token as a Worker secret
In your Cloudflare dashboard → Workers → your Worker → Settings → Variables → add a new Secret called GOCARDLESS_TOKEN with your live API token from the GoCardless dashboard (Developers → API Keys).
2Add this route to your Worker code
Open your Worker code and paste the snippet below before the final return statement (or wherever your other routes are handled).
After saving a quote, a 💳 Create GoCardless Payment Link button appears. Click it to generate an Instant Bank Pay link for that quote. The customer will see an "Accept & Pay" button on their quote page. When they complete the bank transfer, the quote is automatically marked as accepted in Notion.
🗂
Pipeline Stages
Drag to reorder. Click a name to rename it. Add or remove stages as needed.
—
🔍
Loading leads…
/
New Lead
New Lead
Choose the type of enquiry
🔧
Service / Repair
Machine fix or service
🤖
Robot Mower
New install or upgrade
💰
Sales
General sales enquiry
Status
Customer
✎ Changes below will also update this customer's record
➕ New Customer
Job Details
£
Follow-up & Notes
📱 Scheduled Follow-up SMS
Day 3
Day 7
Change date to reschedule · Cancel clears the SMS
Installation
Activity
SMS
Email
Press Refresh to load the conversation
Emails
Loading…
New Email
Scheduled Activities
All upcoming and overdue activities across every lead
Loading reports…
Activities
👤 Lead
🔍
No lead selected — search above or create one
💬 Add Call Note
Select a lead first
📱 Send Text
Select a lead first
📋 Call Script
MAD Mowers — Live call guide
Where are you in the call?
Tap the stage you're at and it'll show you exactly what to say.
Opening the call
They picked up — say this
"Hey [Name]! It's [your name] from MAD Mowers. How are you doing today? ... That's great, I'm very well thanks. I'm just calling because you just filled in for a free robot mower demo on Facebook — brilliant stuff! Is now an okay time for a quick chat?"
Wait for them to say yes. Don't rush past this — let them confirm they're free.
"Lovely — so before I get anything booked in, can I just ask you a couple of quick questions so I can make the demo totally relevant to you?"
What happens next?
Bad time
They can't talk right now
"No problem at all! When's a better time for me to give you a call back — would later today work or is tomorrow better?"
Get a specific time. Don't leave it open. Log it in the tracker and set a reminder.
Qualifying questions
Ask these in order — make notes
Listen 80%, talk 20%. Don't rush through these.
"How big is the lawn roughly?"
"What are you doing at the moment to keep on top of it?"
"How many hours a week would you say it takes you?"
"And what's the main thing you'd like to change about that?"
Once they've answered — amplify the pain
"So if you're spending [X hours] a week from April through to October, that's close to [X] hours a year just on the lawn. What would you do with that time back?"
Pause. Let them answer. Then: "That's exactly the kind of thing we solve."
Booking the demo
Assumptive close — two options only
"Right, so what I'd love to do is come out and have a proper look — completely free, no pressure at all, just so I can see the space and show you exactly what I'd recommend. Are mornings or afternoons better for you generally?"
Once they pick one:
"And are you more flexible earlier in the week or towards the weekend?"
Close the call
"Brilliant, so I've got you booked in for [day/time]. I'll send you a text to confirm. Really looking forward to coming out — speak soon!"
Price objection
They asked how much before the demo
Don't give a number. Redirect to the visit.
"So it really depends on the size of the garden and the best setup for you — that's exactly why I'd love to come out first so I'm not just throwing numbers at you that might not be relevant. Is that fair enough?"
Objection handler
What did they say?
Objection — price
"It's too expensive"
"I completely understand — can I ask what you're comparing it to? ... Most customers we talk to are spending £X a year on a gardener, or 60+ hours of their own time. Over 5 years the mower costs less and you get those hours back. Does the return make more sense when you look at it that way?"
Objection — needs to think
"I need to think about it / talk to my partner"
"Absolutely, makes sense. What's the one thing you'd want to be sure of before going ahead? ... [address it] Great — what would be a good time to follow up once you've had a chance to chat?"
Get a specific callback time. Log it. Don't leave it open-ended.
Objection — garden suitability
"Not sure it'll work on my garden"
"That's exactly why I'd love to come out and have a look — I can tell you straight away once I've seen the space whether it's going to work and what setup I'd recommend. There's no commitment at all, it's just a free assessment. Does that sound fair?"
Objection — cheaper online
"I can get a cheaper one online"
"You can — and it might work great. The difference with us is you get full professional installation, a setup calibrated specifically to your lawn, and we're local so if anything ever goes wrong we're back the same week. You're not just buying a mower — you're buying a lawn that looks after itself. That's what we're selling."
Objection — bad timing
"Not the right time / too busy"
"Totally get that — when do you think timing would be better? ... The reason I ask is we're heading into the main mowing season now and most customers tell us they wish they'd sorted it earlier. Even if we just pencil something in, you can always move it. Would that work?"
Objection — has a gardener
"I already have someone who does the lawn"
"That's great — a lot of our customers did too. The robot mower doesn't replace your gardener for everything, but it means they're not spending half their time just mowing — so you actually get more value from them for the skilled stuff. And the lawn looks better because it's being cut little and often rather than once a week. It's worth a look at least — would you be open to a free assessment?"
Follow-up calls
Which follow-up is this?
Day 2 follow-up call
Casual check-in — not a chase
"Hey [Name], it's [your name] from MAD Mowers! Just giving you a quick call to make sure you got the quote okay and everything made sense. Any questions at all? ... Great — are you thinking you'd want to get it sorted before the season really kicks in?"
Day 7 follow-up call
Create genuine urgency
"Hey [Name], [your name] from MAD Mowers again! Just a quick one — we've got a couple of install slots opening up next week and I wanted to give you first refusal before they go. Is this still something you're looking to get sorted this season?"
Only use urgency if it's real — actual install slot availability, seasonal demand, stock levels.
Day 14 — final follow-up
Address the sticking point directly
"Hey [Name], [your name] from MAD Mowers! I know you've had a think about it — I just wanted to check in one last time. Is there anything that's been holding you back that I can help clear up? Even if the timing isn't right now, I'd love to make sure you've got everything you need for when it is."
If they say no — ask why, respect it, and wish them well. Don't push. Move them to monthly nurture.
Confirm
⌨ Shortcuts
New lead⌘ N
Focus search⌘ K
Go backEsc
Shortcuts⌘ /
🗺️
Quote Builder
📍 Finding address…
Click points to draw a zone — double-click to finish
🤖 Robot Zones
🤖 Robots
✅ Extras & Add-ons
💰 Pricing
Installation
£
📝 Quote Details
⏱ Customer Time Savings
Optional — personalises the quote with a time savings estimate.
£
Service cost comparison
£
£
💬 Ask a Colleague
⚠️
Unsaved changes
You have unsaved changes on this lead. Are you sure you want to leave?
📞
Call via Webex
This will open the call in Webex. Make sure Webex is installed and running.