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
| Field | Type | Description |
|---|---|---|
title | string | Event title or summary. |
start | ISO 8601 datetime | Event start time. |
end | ISO 8601 datetime | Event end time. |
allDay | boolean | Whether the event runs all day (no specific time). |
recurrence | RRule string | Optional. Recurrence pattern — e.g. FREQ=WEEKLY;BYDAY=MO. |
description | string | Optional event notes or details. |
Integrations
Connect external calendars in Settings → Integrations:
| Integration | Notes |
|---|---|
| Google Calendar | OAuth. Reads and writes events. Syncs on a configurable interval. |
| Microsoft Outlook | OAuth 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
| Tool | Description |
|---|---|
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. |