Back to DocsRecipe
NL → Calendar Meeting Booker
Accept natural-language meeting requests via chat, resolve time zones, check availability, and create calendar events — all in one flow.
Overview
This recipe wires a chat interface to a calendar backend. A user types “Schedule 30 min with Alice tomorrow after 2pm” and the system resolves Alice's availability, picks a slot, and returns a confirmed event link.
Ingredients
- LLM endpoint (OpenAI / Anthropic / Groq)
- Google Calendar or Outlook API credentials
- Time-zone database (IANA)
- Availability store (DB or cache)
Flow
- Parse NL input → extract attendees, duration, window.
- Resolve each attendee's time zone from profile.
- Query free/busy for the window across all attendees.
- Select the earliest mutual slot.
- Create calendar event with conferencing link.
- Return confirmation with date, time, and join link.
Edge Cases
- No mutual slot → propose nearest alternatives.
- Ambiguous attendee → ask for disambiguation.
- Past window → reject with hint.
- API rate limits → queue and retry with backoff.
Example Prompt
System: You are a meeting scheduler. Extract: - attendees: string[] - duration_minutes: number - window_start: ISO8601 - window_end: ISO8601 - title: string | null User: "Set up a 45-min sync with Bob and Carol next Tuesday between 9 and noon"
Ready to build? Grab the full source in Recipes and wire it to your own calendar provider.