Feature Requests

Override unavailability layer: block everything, everywhere, in one action
SavvyCal has a blocking system, but it is currently unusable for real-world unavailability (vacations, sick days, unexpected closures) because: Blocks must be set calendar by calendar Blocks must be set day by day — there is no date range selection The only alternative is to configure keyword-based detection inside each availability schedule separately, which is fragile and time-consuming The result: taking a week off requires either a long series of manual operations across every calendar and every scheduling link, or a complex setup that most users will never maintain correctly. It is not a realistic option for solo professionals. Expected behavior: A top-level "Unavailability" feature — separate from and overriding all availability schedules and calendar checks — where the host defines a date range (start date → end date) that instantly blocks all slots across all scheduling links, with no per-calendar or per-day steps required. This should work like a master off-switch: set it once, everything goes dark for that period, invitees see no available slots, and the host can leave without worrying. Current behavior: Day-by-day, calendar-by-calendar blocking, or keyword detection per availability schedule. Neither scales to even a one-week vacation. Use case: Any solo host who needs to close their schedule for a period — vacation, illness, public holidays — and wants to do it in a single action with full confidence that no slot will slip through.
0
Events page: persistent tab, smart filters & sliding time view for approval workflows
I use SavvyCal every day to manage booking approvals, and the current Events page UX creates unnecessary friction at every step. Here are the specific issues and what I'd like instead: 1. No persistent entry point for pending approvals Pending requests only appear after a page refresh, and there's no permanent tab with a badge count. A dedicated "Awaiting approval" tab (always visible, with a red/orange counter) would let me act instantly without hunting. 2. Filter state breaks after bulk approval After confirming all pending requests, I land on an empty list with the "pending" filter still active. The UI should either auto-clear the filter or show a "nothing left" empty state with a prompt to reset. 3. "Reset filter" doesn't actually reset Clicking reset applies a "Confirmed" filter instead of removing all filters. This is misleading — reset should mean no filter. 4. Double filter layer increases cognitive load There are two separate levels of filtering (tabs + filter bar). Consolidating everything into a single filter bar would make the interface significantly easier to use. 5. Filters require two clicks to apply Selecting a filter value and then clicking to confirm it is one step too many. Single-click application is the expected behavior. 6. No persistent default filter across sessions Every time I log in, I have to reconfigure my filters. A user-defined default filter that persists across sessions would save real time for daily users. 7. Upcoming/past split forces unnecessary navigation I regularly need to see the last 3 days and the next 3 days together. A sliding window view centered on today (configurable range) would replace the current binary split. --- These aren't edge cases — they're friction points that occur on every session for anyone doing daily approval management. Happy to clarify any of these or jump on a call if useful.
0
Add a Model Context Protocol (MCP) server for SavvyCal
What problem does this solve? Right now, connecting SavvyCal to AI agents and LLM-based workflows (Claude, Cursor, n8n AI nodes, etc.) requires writing custom API wrappers. MCP is becoming the standard protocol for exposing SaaS capabilities to AI tools — Stripe, Notion, Linear, and others already have MCP servers. A SavvyCal MCP server would allow any MCP-compatible client to read and manipulate scheduling data without writing glue code. --- Proposed tool set for a v1 MCP server The following tools map directly onto the existing REST API surface and would cover the most useful agent interactions. Read tools list_events — Fetch scheduled events with optional filters: date range ( starts_after , starts_before ), state ( scheduled , canceled ), pagination. Core for any agent that needs to reason about a calendar. get_event — Retrieve full event details by ID: attendees, conferencing info, answers to custom questions, payment status. list_scheduling_links — List all links with their slug, name, active state, and duration. Useful for agents choosing which link to share or inspect. get_scheduling_link — Full detail on a single link: availability rules, buffer times, payment config, workflow associations. get_available_slots — Query open time slots for a given link, date range, and timezone. Enables agents to suggest available times in a conversation without redirecting to the booking page. get_current_user — Retrieve authenticated user profile (name, email, timezone, handle). Useful for context and for constructing booking URLs. list_webhooks — List configured webhooks (URL, events subscribed). Diagnostic use in automation audits. list_workflows — List workflows and their rules. Lets an agent explain or audit what automations are active on a given link. Write tools create_event — Book a meeting programmatically on a given link for a specific slot. Required for agents that complete a booking on behalf of a user after negotiating availability in chat. cancel_event — Cancel a scheduled event by ID, with optional cancellation reason. Lets agents handle rescheduling or no-show logic. create_scheduling_link — Create a new personal scheduling link with a name, slug, duration, and basic availability. Useful for agents that provision links dynamically (e.g., one link per client, one per cohort). update_scheduling_link — Update an existing link's settings (name, duration, availability, buffer, limits). Lets an agent reconfigure links without the user going through the UI. toggle_scheduling_link — Enable or disable a link. Simple but valuable for agents managing seasonal availability or temporary closures. duplicate_scheduling_link — Duplicate an existing link as a starting point. Speeds up link creation workflows. --- Authentication Personal access tokens are sufficient for single-account use cases (the primary MCP scenario). OAuth support would be needed to allow multi-user deployments (e.g., a shared team assistant operating across member accounts), but that can be v2. --- Why this matters Scheduling is one of the most frequent AI agent tasks. SavvyCal's overlay model and ranker UX make it genuinely superior for human-to-human scheduling, but agents booking on behalf of users don't need that UI — they need API + MCP. Without it, the workflow is: agent → custom wrapper → SavvyCal REST API, which most non-developers won't set up. With an official MCP server, SavvyCal becomes a first-class citizen in AI-native workflows (Claude Projects, Cursor, open-source agents) with no custom code required. --- Prior art / references Stripe MCP server : https://github.com/stripe/agent-toolkit Notion MCP : https://developers.notion.com/docs/mcp MCP specification : https://modelcontextprotocol.io
0
Load More