Skip to main content
ollim-bot provides full read/write access to your primary Google Calendar. You can list, show, add, update, and delete events through CLI commands, and the agent can present events in Discord embeds with a delete button for one-click removal.

Prerequisites

Setup

No additional setup is required. Once you’ve completed the Google integration setup, Calendar is ready to use.

Usage

The ollim-bot cal subcommand provides six operations.

List today’s events

ollim-bot cal today
Shows events for the current day. Each line displays the event ID, date, time range, and title:
  abc123def  2026-02-24  09:00-10:00  Team standup
  ghi456jkl  2026-02-24  (all-day)     Project deadline

List upcoming events

ollim-bot cal upcoming
Shows events for the next 7 days by default. Use --days to change the window:
ollim-bot cal upcoming --days 14
ArgumentRequiredDefaultDescription
--daysNo7Number of days to look ahead

Show event details

ollim-bot cal show <event_id>
Displays detailed information including title, time, location, description, link, attendees (by email), status, and event ID.

Add an event

ollim-bot cal add "Team lunch" --start 2026-02-25T12:00 --end 2026-02-25T13:00 --description "At the Italian place"
ArgumentRequiredDescription
summary (positional)YesEvent title
--startYesStart time in YYYY-MM-DDTHH:MM format
--endYesEnd time in YYYY-MM-DDTHH:MM format
--descriptionNoEvent description
Times without a timezone are treated as the configured timezone (OLLIM_TIMEZONE).

Update an event

ollim-bot cal update <event_id> --summary "Updated title" --start 2026-02-25T13:00 --end 2026-02-25T14:00
At least one of --summary, --start, --end, or --description must be provided.

Delete an event

ollim-bot cal delete <event_id>
Permanently deletes the event from your primary calendar.
All operations use your primary Google Calendar. ollim-bot does not support secondary calendars or calendar selection.
One function is exported from google/calendar.py for use by the button handler in views.py:
FunctionSignatureReturns
delete_eventdelete_event(event_id: str) -> strEvent summary
This is called via asyncio.to_thread in the button handler to avoid blocking the event loop.

Troubleshooting

Your Google connection may have expired or been revoked. The bot detects this automatically and prompts you to reconnect — run /google-auth to re-authenticate.
Event IDs are displayed as the first column in ollim-bot cal today and ollim-bot cal upcoming output. When using embed buttons, the agent handles this automatically.
All times are handled in the configured timezone (OLLIM_TIMEZONE, defaults to auto-detected system timezone with a UTC fallback). Times you enter without a timezone are assumed to be in this timezone.

Next steps

Google Tasks

Manage your task list through similar CLI and agent interactions.

Google integration

Shared OAuth setup and all available Google services.

Embeds & buttons

How the agent builds Discord embeds with action buttons.

CLI reference

Full reference for all ollim-bot CLI subcommands.