Skip to content

SavvyCal

SavvyCal is a modern scheduling tool designed to be as "sender-friendly" as it is "recipient-friendly," allowing invitees to overlay their own calendars. As of May 2026, it remains a top-tier choice for professionals who prioritize guest experience and advanced availability control.

What it is

SavvyCal is a privacy-focused, flexible scheduling platform that aims to reduce the "scheduling dance." It provides a visual way for invitees to compare their availability with the host's without leaving the booking page, using a unique calendar overlay interface.

What problem it solves

It solves the friction and imbalance typical of standard scheduling links. Traditional tools often feel "aggressive" or one-sided; SavvyCal restores balance by letting the recipient see their own calendar on top of yours, instantly identifying mutual gaps.

Where it fits in the stack

Typical use cases

  • High-Touch Professional Scheduling: Sales, consulting, and recruitment where recipient experience is a priority.
  • Team Scheduling: Multi-person "Collective" or "Round Robin" scheduling for distributed teams.
  • VIP Scheduling: Creating "secret" or one-time scheduling links for priority contacts with specific overrides.
  • Workflow Automation: Automating meeting lifecycle messages (reminders, follow-ups) directly within the app.

Strengths

  • Calendar Overlay: Recipients can see their own calendar on top of yours to find gaps instantly.
  • Availability Ranking: Order your preferred times to encourage people to book when it suits you best.
  • Meeting Polls: Integrated, ad-free polls for group scheduling without needing separate tools like Doodle.
  • Frequency Limits: Robust controls to prevent calendar burnout (e.g., "max 3 meetings per day").
  • Clustered Meetings: Encourages booking near existing appointments to preserve blocks of deep work.

Limitations

  • No Free Tier: Primarily a paid service with only a trial period for individuals.
  • Niche Focus: Specifically optimized for scheduling, not intended to be a general-purpose calendar or task manager.
  • Proprietary: Not open-source or self-hostable.

When to use it

  • If you find standard scheduling tools too "aggressive" or one-sided.
  • If you value a premium, polished experience for your meeting invitees.
  • When you need advanced team scheduling features (Round Robin, Collective).

When not to use it

  • If you require a free-forever scheduling solution.
  • For simple internal-only scheduling where basic calendar invites suffice.
  • If you strictly require open-source or local-only data storage.

Licensing and cost

  • Open Source: No
  • Cost: Paid (Subscription-based, typically starting around $12/user/month).
  • Self-hostable: No

Getting started

Installation

SavvyCal is a web-based service. There is no official CLI, but it provides a robust REST API for automation. You can integrate it into your homelab stack via webhooks or API calls.

API Authentication

Generate an API key in your SavvyCal Settings.

# Verify your API key using cURL
curl -i -X GET "https://api.savvycal.com/v1/me" \
  -H "Authorization: Bearer ${SAVVYCAL_API_KEY}"

CLI examples

While there is no official binary, you can use curl for automation tasks:

# List all active scheduling links
curl -X GET "https://api.savvycal.com/v1/links?state=active" \
  -H "Authorization: Bearer ${SAVVYCAL_API_KEY}"

# List upcoming meetings for the next 7 days
curl -X GET "https://api.savvycal.com/v1/events?from=$(date +%Y-%m-%d)&to=$(date -d '+7 days' +%Y-%m-%d)" \
  -H "Authorization: Bearer ${SAVVYCAL_API_KEY}"

# Create a new, single-use scheduling link
curl -X POST "https://api.savvycal.com/v1/links" \
  -H "Authorization: Bearer ${SAVVYCAL_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "One-time Consult",
    "slug": "consult-$(date +%s)",
    "type": "one_off",
    "durations": [30]
  }'

API examples

Fetching Availability (Python)

This script fetches available slots for a specific link to use in custom dashboarding.

import requests
import os
from datetime import datetime, timedelta

API_KEY = os.environ.get("SAVVYCAL_API_KEY")
LINK_ID = "link_abc123" # Replace with actual Link ID
BASE_URL = f"https://api.savvycal.com/v1/links/{LINK_ID}/slots"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Accept": "application/json"
}

# Check availability for the next 48 hours
params = {
    "from": datetime.now().strftime("%Y-%m-%d"),
    "to": (datetime.now() + timedelta(days=2)).strftime("%Y-%m-%d")
}

response = requests.get(BASE_URL, headers=headers, params=params)
if response.status_code == 200:
    slots = response.json()
    for slot in slots:
        print(f"Available Slot: {slot['starts_at']}")
else:
    print(f"Error: {response.status_code} - {response.text}")

Webhook Integration (n8n / Node.js)

SavvyCal supports webhooks for lifecycle events like event.created and event.cancelled.

// Sample n8n Code Node for processing a SavvyCal 'event.created' webhook
const event = $json.body;

if (event.type === 'event.created') {
  return {
    summary: `New meeting: ${event.data.name}`,
    invitee: event.data.invitee.email,
    start_time: event.data.starts_at,
    meeting_link: event.data.location.url
  };
}
return null;
  • Calendly — The primary market competitor.
  • Morgen — Unified calendar and task manager.
  • Amie — Visual productivity and scheduling app.
  • n8n — For advanced scheduling workflows.
  • Zapier — Official integration available.
  • Google Calendar — Primary sync provider.
  • Microsoft To Do — Can be synced via workflows.

Backlog

  • [x] Perform quarterly technical freshness audit (May 2026).

Contribution Metadata

  • Confidence: high
  • Last reviewed: 2026-05-31

Sources / References

  • https://savvycal.com/features
  • https://developers.savvycal.com/api
  • https://savvycal.com/changelog
  • KnowledgeOps Triage (2026-05-31)