Website Contact & Scheduling
Choosing the right way for visitors to reach you — scheduling widgets, contact forms, and hybrid approaches compared.
← Back to Reference HubEmbeddable scheduling widget that connects to your Google, Outlook, or iCloud calendar. Visitors pick a time, you get a booking — no email back-and-forth.
- Inline, popup, or floating button embed modes
- Automatic timezone detection for visitors
- Calendar sync with Google Calendar and Outlook (no direct iCloud support)
- Google Meet, Zoom, and Teams integration for auto-generated meeting links
- Confirmation and reminder emails sent automatically
- Custom questions on booking form (name, company, "what do you want to discuss")
- Buffer time between meetings, daily limits, minimum scheduling notice
Limitations: Free tier limited to one event type (e.g. "30-min Intro Call"). Multiple event types, custom branding, and reminder customization require the Standard plan ($10/seat/mo billed annually, $12/mo monthly). Calendly branding on free tier. No self-hosting option.
Calendly alternative with a generous free tier. Same core concept — visitors book time on your calendar via an embeddable widget — but with more flexibility on the free plan.
- Unlimited event types on free tier
- Embed via inline, popup, or floating button
- Google Meet, Zoom, Teams, and custom video links
- Collective scheduling (round-robin across team members)
- Custom booking questions and workflows
- Cal.ai — AI-powered phone scheduling ($0.29/min) and Slack/email agents
- API access for custom integrations
Limitations: Went closed-source in April 2026 (previously open-source). Cal.diy is the MIT-licensed community fork for self-hosting. Slightly less polished UI than Calendly. Some integrations (Salesforce, HubSpot) are paid-only. Less brand recognition with enterprise visitors who expect Calendly.
Scheduling tool built into Microsoft 365 Business plans. Generates a booking page tied to your Outlook calendar with Teams meeting links auto-created.
- Native Outlook and Teams integration — no third-party sync
- Shareable booking page with custom branding
- Multiple service types and staff members
- Customer SMS and email reminders
- Embeddable via iframe on your website
Limitations: Requires Microsoft 365 Business Basic ($6/user/mo through 2026-06-30; $7/user/mo from 2026-07-01) or higher — no standalone free tier. Embed options less flexible than Calendly/Cal.com (iframe only, no popup or floating button). UI feels enterprise-heavy for a small consultancy. No Google Calendar sync.
Drop-in backend for HTML forms. Point your form's action attribute at a Formspree endpoint and submissions arrive in your inbox. No server, no backend code.
- Works with any static site — just change the form action URL
- Spam filtering (reCAPTCHA, honeypot) built in
- Email notifications on each submission
- Submission dashboard with export
- File upload support on paid plans
- Autoresponders and custom redirect after submit
Limitations: Free tier limited to 50 submissions/month with 30-day data retention. Formspree branding on free tier. Custom autoresponders and file uploads require paid ($15/mo Personal plan). You're trusting a third party with form data.
Transactional email API. Your form submits to a serverless function (Vercel, Cloudflare Workers, Netlify) which calls Resend to deliver the message to your inbox. You own the entire pipeline.
- Full control over email formatting and delivery
- 3,000 emails/month free (100/day)
- Works with any serverless platform
- React Email for beautiful HTML notification templates
- No third-party form service — data stays in your infrastructure
Limitations: Requires writing a serverless function (10–30 lines of code). You handle spam filtering yourself. No submission dashboard — submissions go to email only unless you add a database. Need DNS setup for custom sending domain.
A form that constructs a mailto: link and opens the visitor's default email client with pre-filled subject and body. No server, no third-party service, no cost.
- Zero setup — works on any static site immediately
- No third-party data handling — message goes directly from visitor's email client
- No monthly cost, no submission limits
Limitations: Depends on the visitor having a configured email client. Fails silently on machines without one (common on mobile web, Chromebooks, shared devices). Visitors see your email address in the URL. No spam filtering. No submission tracking. Looks unprofessional on a polished site. Shows a "success" message even if the email was never sent.
| Capability | Calendly | Cal.com | MS Bookings | Formspree | Resend + Serverless | Mailto |
|---|---|---|---|---|---|---|
| Primary function | Scheduling | Scheduling | Scheduling | Form backend | Form backend | Email link |
| Free tier | 1 event type | Unlimited events | No (M365 req.) | 50 subs/mo | 3,000 emails/mo | Unlimited |
| Paid starts at | $10/seat/mo (annual) | $12/user/mo (annual) | $6/mo (M365; $7 from 2026-07-01) | $15/mo | $0 (free tier) | Free forever |
| Setup time | 10 minutes | 15 minutes | 20 minutes | 5 minutes | 1–2 hours | 2 minutes |
| Dev skills needed | None | None (hosted) | None | Minimal HTML | Yes (JS/API) | None |
| Embeddable widget | Inline / popup / float | Inline / popup / float | Iframe only | N/A | N/A | N/A |
| Calendar sync | Google, Outlook | Google, Outlook, Apple | Outlook only | No | No | No |
| Auto meeting link | Zoom, Meet, Teams | Zoom, Meet, Teams | Teams only | No | No | No |
| Spam protection | Built-in | Built-in | Built-in | reCAPTCHA + honeypot | Build yourself | None |
| Custom branding | Paid only | Free | Yes | Paid only | Full control | N/A |
| Reminder emails | Yes | Yes | Yes | No | No | No |
| Works without mail client | Yes | Yes | Yes | Yes | Yes | No — breaks |
| Submission tracking | Dashboard | Dashboard | Dashboard | Dashboard | Email only | None |
| Data ownership | Calendly servers | Cal.diy fork | Microsoft cloud | Formspree servers | Your infrastructure | No data stored |
| CRM integration | Salesforce, HubSpot | Paid plans | Dynamics only | Zapier | Build yourself | None |
Our Recommendation
For consultancies and service businesses, replace your contact form with a scheduling widget. The visitor who fills out a contact form is saying "I'm interested" — but then you have to email back, propose times, wait for a reply, and hope they're still warm. A scheduling link skips all of that. Calendly is the fastest to set up and most recognized. Cal.com is the better value if you need multiple event types on a free tier. Either one converts more visitors into conversations than any contact form will. Keep a simple email link in your footer for people who prefer it — but make the calendar your primary CTA.