Skip to content

Repository files navigation

Raycal

Paste good meeting options from your real Cal.com availability without leaving the conversation.

  • Schedule in one keystroke. A no-view command finds, rechecks, formats, and pastes 30-minute options.
  • Avoid offering the same slot twice. Active suggestions rotate for three hours and reconcile with Cal.com bookings.
  • Keep every calendar in the conflict boundary. Every calendar selected in Cal.com blocks availability for every booking profile.
  • Use your own names and rules. Profiles, host timezone, working hours, weekend fallback, and Asia-call behavior are configurable.

Raycal reads availability and prepares text. It does not create bookings or send invitations.

npm install
npm run dev

Set up one working profile

  1. Create a dedicated API key in Cal.com and enter it in Raycal's Raycast preferences.
  2. In Cal.com, connect every calendar that should block your availability and enable conflict checking for each one.
  3. Create or choose a Cal.com event type. Multi-duration event types are the fastest setup: one event type can cover 15, 30, 45, 60, and 90 minutes.
  4. Run Raycal Setup / Health in Raycast.
  5. Open Configure Profile, give it a useful name, and choose the discovered event type. Raycal reads the event type's live booking URL and destination calendar; it never guesses a URL or changes Cal.com settings.
  6. Run the profile's 30-minute command once. Run Sync Suggestions once if Raycast has not yet enabled its 15-minute background refresh.

Setup fails closed when an event type is missing, does not support the requested duration, lacks a booking URL, or points at an unavailable destination calendar.

Give commands the names you actually use

Raycast extension command titles are static, so profile names appear as dynamic subtitles. For a first-class launcher named after your calendar:

  1. Open Raycal Setup / Health.
  2. Select a configured profile.
  3. Choose Create “Suggest Times — [Profile]” Quicklink.
  4. Assign that Quicklink a global hotkey in Raycast Settings.

The Quicklink launches the same scheduling command. It keeps conflict checking, active-offer deduplication, Recent Suggestions, release actions, and booking reconciliation.

Use it inline

The three 30-minute commands paste immediately and never open a picker. If selected text contains a high-confidence location or timezone, Raycal uses it to favor reasonable recipient-local hours. Supported context includes:

  • timezone identifiers such as America/New_York and offsets such as GMT+5:30;
  • common codes such as PT, ET, GMT, CET, JST, and SGT;
  • cities such as New York, NYC, Miami, Toronto, San Francisco, SF, Seattle, Los Angeles, and Vancouver;
  • common international locations including London, Western Europe, India, China, Japan, Singapore, Hong Kong, Korea, and Australia.

Ambiguous codes such as CST, IST, and BST are ignored without clearer location text. Missing context defaults to your own configured timezone.

Use Suggest Times — Advanced for another duration, profile, region, or Important mode. Search components can appear in any order: et60, eu30, pt90, team60p, and 60ptteam all work. Profile fragments use the names you chose. Press Enter for Standard or Option–Enter for Important.

Use Recent Suggestions to inspect or release anonymous offer batches early.

Configure scheduling rules without losing a working setup

Edit Scheduling Preferences covers the common choices: host timezone, standard hours, preferred hours, weekend fallback, and a late Important+Asia option. New installations start with conservative 9am–5pm weekdays and no weekend or late-night fallback.

Copy Configuration Backup exports the full versioned JSON, including advanced windows, notice, search horizon, expiry, profile names, and live event-type IDs. Importing that backup restores the behavior without changing the Cal.com API key or Raycast hotkeys.

Why we built this

Booking pages work well after someone decides to book. They are slow at the moment you need to write, “Would either of these times work?” Raycal keeps Cal.com as the availability and booking authority while making that reply fast enough to use inline.

Privacy and development

Raycal stores profile configuration and anonymous offer batches in Raycast LocalStorage. An offer batch contains the event type, profile, duration, coarse region, and slot timestamps. Selected text, recipient identity, attendee details, calendar-event contents, and API keys are not written into suggestion history or booking URLs.

npm test
npm run typecheck
npm run lint
npm run build

About

Suggest smart meeting times from Cal.com without leaving the conversation

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages