Calendar

Event management with recurrence support, external sync, and full agent access.

Overview

asyncat's calendar stores events in SQLite. It supports timed events, all-day events, and recurring events via RRule strings. Events can be created by you in the UI, by the agent via tools, or synced from Google Calendar or Outlook via integrations.

The agent can read and write calendar events — useful for scheduling tasks as part of a plan, checking availability before booking time, and creating reminders that the scheduler picks up.

Event fields

FieldTypeDescription
titlestringEvent title or summary.
startISO 8601 datetimeEvent start time.
endISO 8601 datetimeEvent end time.
allDaybooleanWhether the event runs all day (no specific time).
recurrenceRRule stringOptional. Recurrence pattern — e.g. FREQ=WEEKLY;BYDAY=MO.
descriptionstringOptional event notes or details.

Integrations

Connect external calendars in Settings → Integrations:

IntegrationNotes
Google CalendarOAuth. Reads and writes events. Syncs on a configurable interval.
Microsoft OutlookOAuth via Microsoft Graph. Reads and writes events.

When integrations are active, external events appear alongside local asyncat events. The agent can read and schedule across all connected calendars.

Agent access

ToolDescription
get_events(start?, end?)List calendar events in a date range. Defaults to the next 7 days.
calendar_event_create(title, start, end, ...)Create a new event.
calendar_event_update(id, updates)Update event fields by ID.
calendar_event_delete(id)Delete an event by ID.