Calendar & external tasks

Last reviewed: 2026-08-12 Plainva can connect your existing calendar and task accounts — CalDAV (Nextcloud, Fastmail, mailbox.org …), Google (Calendar + Tasks) and Microsoft (Outlook calendar + To Do) — and work with them in both directions. Your notes stay the center: events can become meeting notes, and external task lists mirror into your standard task database as ordinary notes.

Experimental. The calendar talks to live external accounts (CalDAV, Google, Microsoft) that can’t be exercised in Plainva’s automated tests. It works and is used daily, but treat it as a preview: keep a backup, and please report anything that looks off.

Connecting an account

Open Settings → your vault → Cloud accounts → Connect account…, pick a provider and tick Calendar & tasks in the services step:

The assistant shows a per-service status (“connected — n calendars found”). You then manage the calendars (checked ones appear in the calendar tab) and the task lists (deliberately unchecked by default — ticking one starts the task sync described below) in the Calendar area; the Meetings folder (where meeting notes are created) and the Default calendar live there too. Passwords and tokens live in your operating system’s keychain.

Every device signs in for itself. If you use settings sync, the account details travel with you, but the sign-in never does — it deliberately stays on the device. An account picked up that way appears in the list on the other device but is not signed in there yet; in the mobile app it then carries a sign in marker and the calendar explains it instead of staying empty. Connecting once is enough.

When a sign-in expires. The calendar area then shows the error on the affected account and says what to do about it: if the sign-in expired or was revoked, it offers Sign in again — one round trip that brings every service of that account back for Microsoft and Google (files, calendar, mail). If the provider configuration is at fault (wrong or deleted client ID, an API missing in the project), the hint points there instead of offering a new sign-in; for a network error, a later attempt is enough. With a Google project in testing mode the usual cause is the 7-day limit — details in the Drive guide. While an account cannot be reached, Plainva no longer claims it offers no task lists: the list stays empty, with the error above it. The same holds in the mobile app: the account row names the reason, and Sign in again repairs the account in place.

The calendar tab

Google’s status entries — working location, focus time and out of office — appear as their own row, or as a quiet band behind the day, rather than as another appointment block: “Working from home” is not a meeting, and a day with three of those and one meeting must not look like four meetings. Plainva reads them and never writes them — creating an out-of-office entry in Google automatically declines invitations, and that is not a side effect a calendar view should trigger.

Open it from the left action rail (calendar icon) or the command palette (Open calendar). Five views are available via the switch in the header: Day, 3 days and Week show a time grid with an hour gutter on the left; events sit as blocks at their start time, their height is the duration, overlapping events sit side by side, and a red line marks “now”. All-day events and (with the task overlay on) due tasks sit in the strip above the grid. Month shows the month grid (one colored dot per calendar) plus a single-day time grid for the selected day on the right. Agenda lists the upcoming weeks grouped by day. Today jumps back; the arrows page by the current period (a day, three days, a week or a month). The first day of the week follows the Week starts on setting (Settings → App → Appearance: Monday, Saturday or Sunday) — it also applies to the sidebar calendar. The view refreshes automatically every few minutes; the refresh button forces it. For Microsoft calendars and most CalDAV servers Plainva now fetches only the changes instead of the whole range every time — noticeably less data, especially on the phone. A full refresh still runs at least once an hour so nothing lingers that a change feed missed; and nothing is ever deleted except what the provider explicitly reports as deleted. With Google every refresh is a full one: its API does not allow change lists together with a date range. Events that have already ended read dimmer (like Google Calendar), so today’s remaining agenda stands out. A multi-day event is one continuous bar across the days it covers — one label, one click target, instead of an entry per day. Where it runs past the end of the week it is cut straight at the edge and continues in the next row without repeating the title. The all-day strip of the day, three-day and week views works the same way.

Event → meeting note

The note icon on any event creates (or re-opens) its meeting note — a normal note in your meetings folder named YYYY-MM-DD Title.md, pre-filled with the date, location and attendees, plus a small plainva.pim marker in the frontmatter that ties it to the event. Clicking the same event again always opens the same note; a note of yours that happens to share the name is never touched.

External task lists in your task database

Reminder lists (Apple Reminders over iCloud CalDAV, Nextcloud task lists) are their own collections on the server, so they appear under Task lists — never under Calendars. If a connected account shows no task lists, the section says so and offers Look again; when the lookup itself failed, the reason is shown instead and your previous selection is kept.

Tick a task list on a connected account and its tasks appear as notes in your standard task database: the title becomes the note (H1), the due date lands in the database’s date column, and completion maps to the database’s done checkbox property (the status column follows it; a database without a checkbox column uses the status convention — first option = open, last = done). The sync is two-way and field-wise:

Two safety rules protect your data: deleting the note never deletes the remote task (it just stops syncing and is not re-imported), and a remotely deleted task never deletes your note (it simply becomes a normal note). Renaming or moving a task note is fine — the frontmatter marker keeps the link.

Current limits: tasks created as plain notes are not pushed to the provider (create them remotely or via the task database), and everything on this page is desktop-first for now.

Copies created by Block in other calendars carry a provider-specific Plainva link on Google, Microsoft and CalDAV. Calendar views show that relationship with a link icon; after a refresh, source and block are matched again instead of becoming unrelated duplicates.

Reminders on the computer

Under Settings → Calendar → Reminders you switch on Remind me of appointments; the first time, the system asks once for permission. Whatever reminder the appointment itself carries wins — only when it says nothing does the Lead time apply, and all-day appointments speak up at the time chosen under All-day appointments. Due tasks additionally takes in the tasks of your task database, and Only these calendars narrows down where reminders come from (nothing ticked means all of them, and a calendar connected later is included by itself).

The difference from the phone is in the setting, not in fine print. On the phone the operating system takes the reminder over and wakes it even with the app closed. On the computer there is no such handover: Plainva does the waking itself and therefore has to be running. With the app closed a reminder is missed and is not made up for later. In exchange there is no ceiling here.

The notification itself carries no button — the desktop does not offer one. The action lives in the in-app message instead: Show in calendar for an appointment, Open task for a task. The window never pushes itself to the front while doing so.

Keeping it running in the background

Because a reminder on the computer only arrives while Plainva is running, Settings → Startup & behavior → Background offers two switches — separate, because they are two different wishes, and both off by default:

The second switch proves itself. Not every desktop shows a tray — and whether an icon really appears cannot be predicted reliably. So Plainva puts it up and asks whether you can see it. Only a yes keeps the setting; say no and the icon is removed again and the switch stays off. That way the window can never vanish without a way back. The same safeguard applies at the next start: if the icon cannot be created then, the setting switches itself off.

The Reminders appear line below says at any time what currently holds — while Plainva is running or even with the window closed.

Worth knowing: while Plainva keeps running in the background, so do syncing, the calendar refresh and the backup check. The vault is up to date the next time you open it — the app works while you are not looking at it.

Showing databases in the calendar

The calendar can show entries from your databases alongside your appointments. The Show: bar above the view lists every .base view of type calendar or timeline that names a date column. One click shows it, another hides it again.

An entry shown this way stays recognisable as a note: dashed edge, a diamond in front, never the filled shape of an appointment. Clicking it opens the same preview a database row already has. Dragging it to another day writes the note’s date column — exactly what editing that cell in the table does. If the column carries a time, the entry sits at its hour in the day grid; without one it sits in the all-day strip.

Which views are shown belongs to the vault and travels through settings sync: your calendar looks the same on your computer and on your phone.

And the other way round: in a database’s calendar view, the Appointments in the background button shows the day’s real appointments as a quiet line — you can see what you are planning against. They are deliberately backdrop only: not rows of that database, and not clickable.

Putting a database entry in the calendar

An entry with a date can become a real appointment at your provider. The entry’s row menu (or its action sheet on the phone) offers Add to calendar. The appointment takes the entry’s date — with a time if the column carries one, otherwise as an all-day appointment — and carries a link back to the note.

From then on the two stay linked, by three fixed rules:

This is a different thing from blocking time on a task: there you reserve time for something, and the task’s date stays where it is. Here you say: this entry IS this appointment.