Find time across busy calendars
Free/busy queries spanning days and people, returning open slots — in plain language, not a Calendly back-and-forth.
The most useful Calendar question isn't "what's on my schedule." It's "when am I free?" — and most people answer that by staring at a week view and squinting.
Kin answers it in a sentence.
You: When am I free for a 1-hour meeting this week?
Kin: Looking at your calendar, you have these open windows for at least 60 minutes:
• Mon 2:00–4:30 PM • Wed 10:30 AM–12:00 PM • Wed 3:00–5:00 PM • Fri 9:00 AM–11:00 AM
Want me to schedule something in one of those?
This is check_calendar_availability — Google Calendar's free/busy endpoint — combined with a bit of intent ("for at least 60 minutes," "this week," "in business hours").
Adding constraints
You: Any time tomorrow afternoon for a 30-minute slot?
Kin restricts the window to tomorrow 12:00–18:00 in your timezone and returns matching gaps.
You: Find me a slot before lunch every day this week.
Iterates Monday through Friday, returns the morning availability for each.
Why this matters
The reason most calendar tools fail at this isn't the API — it's the interface. A list of busy intervals is hard for humans to invert mentally into "what's open." A small model that reads the busy intervals and returns gaps is the missing piece.
Combine with contact lookup
You: Do I have time for a coffee with Alex next week?
Kin: Alex's email is alex@studio.com (from your contacts). Looking at your calendar next week, I have open slots Tue 10am, Wed 2pm, Thu 11am — all at least 60 minutes. Want me to send an invite for one?
Two tools called in sequence: read_contacts then check_calendar_availability, then create_calendar_event once you confirm.