Calendar

Week view, free time windows, and scheduling with the assistant.

The Calendar tab shows a unified week view of events from all connected calendars: Google Calendar, Outlook, CalDAV (iCloud, Fastmail, Nextcloud), or any combination.

Two or more calendars

With more than one calendar account connected, each account gets its own colour, and events wear their account's colour in the week grid and the month view. A legend above the grid names each account in its colour and marks which one is the default — the calendar new events are created on unless you name another (see Settings → Default accounts).

Showing and hiding an account. Click an account in the legend to hide its events from the view; click again to bring them back. The choice is saved to your account, so a calendar hidden on your laptop stays hidden on your phone.

Hiding is visual only. The assistant's clash detection, free-time windows, and the briefing still see every connected calendar — hiding your personal calendar never lets a meeting be booked over a personal event. With a single calendar connected there is no legend and no colours; the calendar looks exactly as it always has.

The week view

Events are displayed in a time grid spanning the week. Each day column shows events at their scheduled time, with all-day events in a row above the grid.

  • Today returns the view to the current week.
  • Previous/Next arrows move one week at a time.
  • Day picker tabs along the top select individual days for a focused view.

The current week label shows the date range being viewed.

Today strip

At the top of the calendar, a "today" strip shows the current day's events in a compact horizontal timeline. Below it, free windows are displayed as chips: blocks of unbooked time where something could be scheduled. These make it easy to spot availability at a glance.

Empty state

If nothing is scheduled for the visible week, a note says so. If no calendar is connected, a banner links to Settings to connect one.

Event details

Click any event in the grid to open a detail popover showing:

  • Title and time.
  • Location, if set on the event.
  • Join meeting link for video conferences (Google Meet, Zoom, Teams). Click to join in a new tab.
  • Calendar name showing which connected calendar the event belongs to.
  • Attendees listed by name or email.
  • Description with any notes or agenda attached to the event.

An Ask about this button at the bottom pre-fills the chat with a reference to the event, so questions and changes can be made in context: "Move this to 3pm", "Who else is attending?", or "Draft a message to the organiser saying I'll be 10 minutes late."

Press Escape or click outside the popover to close it.

Meeting invites

When a meeting invitation arrives by email (an .ics attachment from Google Calendar, Outlook, or any standards-compliant calendar app), the assistant parses the invite and understands the proposed time, location, organiser, and attendees.

Accepting an invite

Ask the assistant to accept it: "Accept the meeting invite from Kate" or "Add that invite to my calendar." Before adding the event, the assistant checks for conflicts. If the proposed slot clashes with an existing event, the conflict is flagged and the event won't be added without confirmation.

Accepted invites are added to the calendar without notifying other attendees (no surprise notifications to the organiser). Sending a confirmation reply is a separate step, handled through the normal draft-and-approve email flow.

Declining or asking questions

To decline, ask the assistant to draft a reply to the organiser. The draft goes to Approvals as usual. To propose a different time, ask: "Reply to Kate's invite suggesting Friday at 2pm instead."

The invite details (time, attendees, location) are embedded in the email's vault note, so the assistant has full context when answering questions about any invitation.

Scheduling with the assistant

The calendar includes a chat panel (on the right, or as a bottom sheet on mobile) dedicated to scheduling. The assistant sees the calendar data for the visible week and can:

  • Find free time. "Find me an hour for exercise tomorrow." "When am I free on Thursday afternoon?"
  • Book events. "Book lunch with Sarah on Thursday at 12:30." "Schedule a team call next Monday at 9am for 45 minutes."
  • Move events. "Move the 3pm meeting to 4pm." "Push the dentist appointment to next week."
  • Check for clashes. "Do I have any clashes coming up?" "Is there a conflict on Wednesday?"
  • Summarise the week. "What does my week look like?"

The assistant checks for clashes before booking anything, so double-bookings are flagged before they land on the calendar.

Any event booked with other people needs one decision: video link, or not. Say which and the assistant obeys it — "set up a Google Meet with Ricky on Thursday" creates the event with a real Meet link in the invitation; "lunch with Helen at Tipo 00" creates it without one, because a venue was named.

If neither is clear from the request, the assistant asks before booking rather than guessing. This is deliberate: an invitation that reaches someone without a way to join looks complete and isn't, and the omission usually surfaces at the meeting's start time.

The link in an invitation is always one the calendar provider issued — Google Meet on Google accounts, Teams on Outlook. The assistant never writes a meeting URL of its own into an event or an email. CalDAV accounts (iCloud, Fastmail, Nextcloud) have no conferencing service, so the assistant says so rather than creating a video meeting that doesn't exist.

Sent an invitation and then realised the Meet link is missing? "Add a Google Meet link to that meeting" fixes the event itself, and every attendee receives the updated invitation carrying the link — no second event, no follow-up email.

Booking "a catch-up with Johann" means Johann gets an invitation — the assistant adds the person you name as an attendee, looking up their email from your contacts or asking you for it. A meeting that names someone can't quietly go out with an empty guest list; if you genuinely want an event that's just a reminder for yourself, say so. Need to invite someone to a meeting that already exists (or take someone off it)? "Invite Kate to Thursday's planning session" updates the existing event in place — the new attendee receives a real invitation, and nobody else's copy is disturbed.

Suggestion buttons at the bottom of the empty chat offer common starting points: "What does my week look like?", "Find me an hour for exercise tomorrow", and "Do I have any clashes coming up?"

On mobile, the Plan with assistant pill at the bottom of the screen opens the chat as a bottom sheet.

Sync

Calendar events sync on the same schedule as email (configurable in Settings → Connections). Press Sync now in the calendar header for an immediate pull from all connected calendars.

Changes made through the assistant (new events, moves, cancellations) are pushed back to the source calendar. An event created here appears in Google Calendar, Outlook, or whichever provider the calendar belongs to.