You put your scheduling link in your email signature. Maybe your LinkedIn bio. Maybe the footer of your website. Three days later you have four "discovery calls" booked by SDRs who have no intention of buying anything from you — they just want 20 minutes to pitch you their product.
This is the most common complaint on scheduling tool review sites right now, and it's getting worse.
The problem isn't that scheduling links are bad. The problem is that most tools treat your booking page like a public API with no rate limiting, no validation, and no friction. If a bot or a determined cold-caller knows the URL, they can take a slot. And once your URL is out there, it's out there.
Here's a practical look at why this happens, what types of "spam" you're actually dealing with, and five tactics you can implement today — most of them for free.
Why Your Public Scheduling Link Is a Target
When you share a scheduling link publicly, you're essentially publishing the following information:
- Your name and photo
- When you're available (which days, which hours)
- A way to put something on your calendar with zero friction
That last part is what makes it attractive to the wrong people. Cold-outreach playbooks — the kind sold in courses and shared in sales Slack groups — explicitly teach SDRs to book discovery calls via scheduling links as a "pattern interrupt." They're not there to buy. They're there to get face time they couldn't get through a cold email.
On top of deliberate human abuse, bots scrape scheduling URLs from LinkedIn profiles and websites to farm availability data or generate fake leads for testing purposes. The result is the same: garbage on your calendar.
Four Types of Spam Bookings (and Who Sends Them)
Before you can fix the problem, it helps to know what you're dealing with:
1. SDR cold outreach. A salesperson books your "15-minute intro call" slot to pitch you their product. They fill in a real name and email. They might even show up. The meeting is just an unwanted sales call disguised as a booking.
2. Competitor reconnaissance. A rival or agency books your onboarding call to see your sales process, pricing, or methodology. Less common but genuinely happens in professional services.
3. Automated bots. Scripts that crawl public scheduling links and submit fake bookings to test email flows, scrape calendar availability data, or just create noise. These usually come from obviously fake emails.
4. Time-wasters and no-shows. Not malicious exactly, but someone books a call they never intended to keep. They may have been curious, may have made a mistake, or may have booked multiple consultants and cancelled all but one — without actually cancelling yours.
Each type calls for a slightly different fix, but the tactics below address all four.
Five Tactics That Actually Work
1. Add a Custom Intake Question That Filters Intent
The single most effective spam deterrent is a required open-text question on your booking form. Something like:
"What specifically are you hoping to accomplish in this call, and what's your timeline?"
A bot can't answer this meaningfully. An SDR who's doing volume outreach won't bother. Someone who actually needs your help will answer in 30 seconds.
You don't even need to read every answer carefully — just having the field there reduces form completion by casual browsers and automated scripts. Serious leads will fill it out.
In Schedulee, you can add custom intake questions to any meeting type without a paywall. Calendly requires you to be on a Teams plan (minimum $16/user/month) to add custom fields beyond name and email.
Set the question as required. Make it specific to the meeting type — a "30-minute strategy call" intake question should look different from a "demo request" question.
2. Set a Minimum Notice Period
Most spam bookings happen instantly. A bot hits the API. An SDR sees a slot and books it before thinking twice. Setting a 24–48 hour minimum notice window blocks both.
It also has a legitimate business benefit: you have time to review the booking, do basic research on who's coming, and prepare. If someone can't wait 24 hours to talk to you, either the request is urgent (and they'll reach out another way) or it wasn't serious.
In Schedulee, go to your meeting type settings and look for the "Minimum Notice" field. Set it to at least 24 hours for any public-facing link. For high-demand meeting types like sales demos, 48 hours is reasonable.
3. Require Email Verification Before the Booking Confirms
Some scheduling tools (including Schedulee) can send a verification email to the attendee before locking in the slot. The booking is tentative until they click a confirmation link.
This eliminates:
- Fake email addresses
- Bots that submit forms but don't have inbox access
- Accidental double-bookings
It does add a small amount of friction for real clients — they have to click one extra link. In practice, legitimate users barely notice. The reduction in fake bookings is significant.
If your tool doesn't support native email verification, you can replicate this manually by sending a confirmation template that includes a line like "Reply to this email to confirm" and auto-cancelling bookings that don't reply within 12 hours. It's more work, but it's better than nothing.
4. Use Routing Forms Instead of a Naked Booking Link
If you have any meaningful volume of inbound requests — you're a consultant with a public presence, an agency with a website, a creator with an audience — a bare scheduling link is the wrong tool.
What you actually want is a routing form: a short questionnaire that lives on a page before the calendar. Based on their answers, it routes them to the right meeting type, the right team member, or a holding page that says "We'll be in touch within 48 hours."
This has two spam-prevention benefits:
- The extra step filters out low-effort bots and SDRs immediately
- You can add conditional logic that weeds out non-qualifiers before they ever see available slots
For example: if someone answers "What's your annual revenue?" with "$0 — just exploring," route them to a free resource page instead of a calendar. Your sales team's time is preserved. No hard feelings.
Schedulee supports team scheduling with routing logic, which pairs well with this approach. You can set one public URL that routes to different team members based on form answers.
5. Segment Your Links — Don't Use One URL Everywhere
A lot of spam vulnerability comes from treating your scheduling link like a single, universal endpoint. The SDR who finds your link on LinkedIn uses the same URL as the warm inbound lead who clicked a link in your newsletter.
The fix is simple: create different meeting types for different contexts and stop broadcasting the most permissive one everywhere.
- LinkedIn bio: Link to a short 20-minute intro call with strict intake questions and a 48-hour minimum notice
- Email signature: Link to a 30-minute call gated behind your intake form, only visible after business hours filter
- Proposal follow-up emails: A direct booking link with no friction, sent one-to-one to a specific person you've already vetted
- Website contact page: A routing form, not a direct calendar
The person you want to talk to can always get to your calendar. But the surface area for abuse shrinks dramatically.
In Schedulee, you can create unlimited meeting types on any plan. Each gets its own URL, its own settings, and its own intake questions. Name them sensibly (e.g., "website-intro," "warm-outreach," "client-followup") and use them accordingly.
When Spam Is a Symptom of a Bigger Problem
If you're getting dozens of spam bookings a week, tactics alone won't save you. That volume usually means one of two things:
Your URL got scraped and distributed. This happens when your scheduling link appears in public directories, is shared in Slack communities, or gets picked up by a sales outreach platform. You can't delete it from the internet — but you can rotate the slug (create a new meeting type, redirect or retire the old URL) and be more careful about where the new one gets shared.
Your positioning isn't doing its job. If your booking page is attracting a lot of wrong-fit people, the page description might be too generic. A description that reads "Book a 30-minute call to discuss your needs" will attract anyone. A description that reads "Book a 30-minute call for SaaS founders who have raised at least a seed round and are struggling with go-to-market positioning" will attract almost only qualified leads — and will self-select out everyone else.
Your scheduling page description is a filter. Write it like one.
The Hidden Cost You're Not Counting
Spam bookings aren't just annoying. They're expensive.
A 30-minute meeting with a low-intent SDR costs you 30 minutes of meeting time, plus the prep before and the context-switching after. If you have four of those per week, that's 2–3 hours of your most focused time — gone.
At a conservative $150/hour consulting rate, that's $300–$450 per week in lost time. Over a month, nearly $1,500. And that's before you account for the mental load of a calendar that's full of junk.
The fixes above can each be set up in under ten minutes. If even one of them eliminates two spam calls per week, it pays for itself in the first afternoon.
A Note on Calendly's Paywall Problem
If you're currently on Calendly's free plan, you're in a difficult spot. The features that protect against spam — custom intake questions, email verification, routing forms — are locked behind the Teams tier at $16/user/month.
Calendly's logic appears to be that spam protection is a premium feature. That's worth thinking about when you're evaluating tools.
Schedulee includes custom intake questions, minimum notice requirements, and email verification on all plans. There's no paywall on the features that protect your time. If you're paying $16+/user/month for spam protection you could get for free, that's a real line item worth reconsidering.
Quick Setup Checklist
Here's a five-minute checklist for tightening up your scheduling security today:
- Add at least one required custom question to every public-facing meeting type
- Set a minimum notice period of 24 hours (48 for high-value meeting types)
- Enable email verification if your tool supports it
- Review every place your scheduling URL appears publicly — are you using the right link for each context?
- Rewrite your booking page description to be specific about who the meeting is for
- Consider replacing your website's naked booking link with a routing form
None of these require technical skills. All of them will reduce the noise on your calendar within a week.
Public scheduling links are one of the most powerful tools a solo operator or small team has. The goal isn't to make them more friction-filled — it's to make them smarter. A small amount of intentional friction at the right point keeps the wrong people out while barely slowing down the right people.
Your time is the one thing you can't get back. It's worth protecting with more than a URL.
Frequently Asked Questions
How do I stop spam bookings on my scheduling link?
The most effective combination: add a required open-text intake question (bots can't answer meaningfully, mass-outreach SDRs won't bother), set a minimum 24-hour notice period (blocks instant bookings), and enable email verification if your tool supports it. Together these three settings eliminate the majority of fake bookings without meaningfully slowing down legitimate prospects.
What is the most common type of scheduling link spam?
SDR cold outreach is the most common — sales reps booking your "intro call" slot to pitch their own product rather than because they're a genuine prospect. They use a real name and email and may even show up. Automated bots (fake emails, scraped calendar availability data) are a close second. Both are addressable with intake questions and minimum notice requirements.
Does adding an intake question actually reduce spam?
Yes, significantly. A required open-text question like "What specifically are you hoping to accomplish on this call?" filters out bots entirely (they can't generate a plausible answer) and eliminates low-effort outreach (mass-volume SDRs won't spend 30 seconds on a custom answer for each target). Legitimate leads answer in under a minute and barely notice the extra step.
How do I set a minimum notice period on my scheduling link?
In Schedulee, go to your meeting type settings and find the "Minimum Notice" field. Set it to at least 24 hours for any public-facing link, and 48 hours for high-value meeting types like sales demos. This blocks both instant-booking bots and last-minute low-intent prospects, while giving you time to review who's booking and prepare.
Is it better to use a routing form instead of a naked booking link?
For any page with meaningful inbound volume — your website contact page, a social media bio, a newsletter CTA — yes. A routing form adds a short qualification layer before the calendar appears, filtering out non-qualifiers before they even see available slots. For warm one-to-one outreach (you're sending a link to a specific person), a direct booking link is fine and a routing form would just add unnecessary friction.