Calendar Wizard

Getting started guide — Last updated February 2026

Calendar Wizard is a Telegram bot that manages your Google Calendar using natural language. Instead of opening a calendar app, you send a message like "Team meeting Friday at 2pm for 1 hour" and the bot creates the event. No app to install beyond Telegram.

Find the Bot

Search for @nds_klaus_bot in Telegram, or open t.me/nds_klaus_bot from any device.

What Calendar Wizard Does

Calendar Wizard connects to your Google Calendar and lets you:

Calendar Wizard does not: access your Gmail, store your messages, share your data with third parties, or do anything with your calendar besides what you explicitly ask it to do.

Getting Started

  1. Find and start the bot.
    In Telegram, search @nds_klaus_bot or open t.me/nds_klaus_bot. Tap the Start button. The bot will send a welcome message.
  2. Connect your Google Calendar.
    Type /connect. The bot will reply with an authorization link. Tap the link — it opens Google's sign-in page in your browser. Sign in, review the permissions, and approve. You will be redirected back and the bot will confirm the connection.
  3. Set your timezone.
    Type /timezone America/Chicago (substitute your timezone). This step is required for the bot to interpret times like "3pm" correctly. See Set Your Timezone for a list of common timezone codes.
  4. Create your first event.
    Type something like "Dentist appointment Tuesday at 3pm". The bot will show you what it parsed and ask you to confirm before saving. Reply yes (or just y) to confirm.

Connecting Your Google Calendar

Calendar Wizard uses Google's standard OAuth 2.0 flow. Here is what happens at each step:

Step 1: Initiate the connection

Send /connect to the bot. The bot generates a unique authorization URL tied to your Telegram user ID.

Step 2: Authorize on Google's site

Tapping the link opens accounts.google.com (Google's domain, not ours). You sign in there. We never see your Google password. Google will show you what permissions you are granting:

About the Permission Wording

Google's permission dialog uses broad language. In practice, Calendar Wizard only reads event data and creates or modifies events you ask it to. It does not share your calendar with anyone or delete events unless you explicitly ask it to.

Step 3: Confirmation

After approving, Google redirects you back. The bot will send you a message confirming the connection and showing which Google account was connected.

Disconnecting

You can disconnect at any time in two ways:

Setting Your Timezone

Timezone must be set before you can create time-specific events. Use IANA timezone names (the same format used by most programming languages and operating systems).

/timezone America/New_York
/timezone Europe/Berlin
/timezone Asia/Tokyo
/timezone America/Los_Angeles
/timezone UTC

Common timezone codes:

Region Timezone Code
US Eastern America/New_York
US Central America/Chicago
US Mountain America/Denver
US Pacific America/Los_Angeles
UK / Ireland Europe/London
Central Europe Europe/Berlin
Eastern Europe Europe/Kiev
India Asia/Kolkata
Japan / Korea Asia/Tokyo
Australia Eastern Australia/Sydney

To see your current timezone, send /timezone with no argument. The full list of valid timezone names is available at Wikipedia: List of tz database time zones.

Creating Events

You can create events by describing them in plain English. The bot uses natural language parsing to extract the event details.

Simple events

Dentist appointment Tuesday at 3pm
Coffee with Sarah tomorrow at 10:30am
Doctor tomorrow 9am for 30 minutes
Flight to Berlin March 15 at 6:45am

Events with duration

Team meeting Friday 2pm for 2 hours
Workshop Saturday from 9am to 5pm
Lunch with Alex noon for 1 hour

Recurring events

Team standup every weekday at 9am
Gym every Monday Wednesday Friday at 7am
Weekly review every Friday at 3pm

Events with location

Dentist at 3pm Tuesday at 123 Main Street
Conference at Messe Berlin on Thursday at 10am

Confirmation flow

After you describe an event, the bot will show you a summary of what it parsed:

Got it. I'll create:

Title: Team standup
Date: Monday, March 2 2026
Time: 9:00 AM – 9:30 AM (Europe/Berlin)
Repeats: Every weekday (Mon–Fri)

Confirm? (yes / no)

Reply yes (or y) to save the event to Google Calendar. Reply no (or n) to cancel. You can also reply with corrections: "actually make it 9:30am" and the bot will re-parse.

Setting Reminders

Calendar Wizard can send you a Telegram message before an event starts. Reminders are configured per-event or as a global default.

Add a reminder when creating an event

Dentist Tuesday 3pm, remind me 30 minutes before
Team call Friday 2pm with 1 hour reminder

Add a reminder to an existing event

/remind [event name or ID] 1 hour before

Set a global default reminder

/settings reminder 15 minutes

The global default applies to all new events unless overridden. To turn off default reminders: /settings reminder off.

How reminders are delivered

The bot sends a Telegram message to you at the configured time before the event. Reminders use a background job that runs every minute to check for upcoming events. If the bot is offline for any reason, missed reminders will not be replayed.

Full Command List

Command Description
/start Show the welcome message and quick-start instructions
/connect Connect (or reconnect) your Google Calendar via OAuth
/disconnect Remove your stored Google OAuth token and stop calendar access
/timezone [tz] Set your timezone (America/New_York, etc). No argument = show current timezone.
/upcoming Show your next 10 upcoming events
/today Show events for today
/tomorrow Show events for tomorrow
/week Show events for the next 7 days
/delete [event name] Delete an event by name. The bot will show matching events and ask you to confirm.
/remind [event] [time] Add a reminder to an existing event, e.g. /remind standup 15 minutes before
/settings Show current settings (timezone, default reminder)
/settings reminder [time] Set default reminder for all new events, e.g. /settings reminder 30 minutes. Use off to disable.
/status Show connection status and which Google account is linked
/help Show a quick reference of all commands
/delete_account Delete your account and all stored data from our system. This does not affect your Google Calendar contents.

Frequently Asked Questions

Does Calendar Wizard work with calendars other than Google?

Not currently. Google Calendar is the only supported provider. Support for other calendar systems (CalDAV, Apple Calendar, Outlook) may be added in the future.

Can I use Calendar Wizard with multiple Google accounts?

Each Telegram account can connect one Google Calendar account at a time. If you need to switch accounts, run /disconnect then /connect with the new account.

Does it work with shared calendars and other people's events?

Calendar Wizard operates on calendars you own or have edit access to in Google Calendar. If you have been shared a calendar with editor access, it will appear in the bot's calendar list. Read-only shared calendars will show events but you cannot create new events on them.

What happens if I revoke Google access but don't disconnect the bot?

The stored OAuth token will fail on the next API call. The bot will send you a message asking you to reconnect. Your account row in our database is preserved; you can reconnect with /connect to resume using the bot.

Can the bot read my existing calendar events?

Yes. When you run /upcoming, /today, or similar commands, the bot reads your calendar events via the Google Calendar API. This requires the OAuth token to be connected. Events are cached for up to 90 days to reduce API calls; see the Data Transparency page for details.

Is this service free?

Yes. Calendar Wizard is currently free and in open beta. There are no in-app purchases or subscriptions at this time.

The bot is not responding. What should I do?

First, check that you have typed a valid command (see the Full Command List above). If the bot still does not respond after a few minutes, email james@westover.dev and we will investigate.

How do I delete my account?

Send /delete_account to the bot, or email james@westover.dev with the subject "Delete my data". See the Your Rights section of the Privacy Policy for full details.

Westover Labs · Westover Labs · westover.dev