Connect a calendar and the day marks itself

Point Earkeep at Google Calendar, Apple Calendar, Microsoft Outlook, or any ICS URL, and every event on your day becomes a span on its own. Each meeting starts when it starts and stops when it stops, titled from the agenda, because capture was already running. There is no join step and no button to press when a call begins.

The problem: marking the span is still a step

Always-on capture already removes the worst decision: you never have to predict which conversation will matter, because the transcript exists either way. But it leaves one small piece of work behind. At the end of a day with eight meetings in it, you have one continuous transcript and eight spans to draw across it.

That work is not hard, but it is exactly the kind of small, repeated, end-of-day task that quietly doesn't happen. And your calendar already knows the answer. It knows the meeting was called "Roadmap review", that it ran from 14:00 to 15:00, and that it was a different meeting from the one before it.

So Earkeep reads it, and the marking stops being your job.

How it works

Every event becomes a span. Earkeep matches each event on your connected calendar to the stretch of the day's transcript it covers, and keeps that stretch as a meeting. You end a day of eight meetings with eight named transcripts and nothing to file.

The name comes from the agenda. A kept meeting arrives titled with the event's own name rather than a timestamp, so a week of saved meetings reads like your calendar rather than like a log.

Nothing is recorded differently. A calendar connection changes only which spans get kept, not what gets captured or how. Capture and transcription are the same continuous, local pipeline either way, so a meeting that isn't on any calendar is still in the transcript, waiting for you to drag a span across it by hand.

Reading your calendar happens on your own device. The connection is used only to read event names, times, and similar metadata, locally, so Earkeep knows where the meetings were. Your calendar is not copied to a server, because there is no Earkeep server to copy it to. See private by design for the whole network picture.

A feed pasted once, and the day's events arriving on the agenda as spans that name themselves.

Three ways to connect

Two apps inside a dashed "This Mac" boundary marked "no network of our own, no tokens": the macOS Calendar app with its iCloud, Google and Exchange accounts, a read-only EventKit arrow across to Earkeep's agenda of the day's three events, and below it the calendar-access sentence macOS asks once

Apple Calendar: nothing leaves the machine

Earkeep reads the calendars already on your Mac, which means everything the Calendar app is subscribed to: iCloud, and any Google or Exchange account you have added to it there.

There is no account to connect and no token to store, because there is no network step to make one for. macOS asks once whether Earkeep may read your calendars, and after that it is two apps on the same computer.

The browser does the sign-in at accounts.google.com or login.microsoftonline.com and lands back on Earkeep's own "Calendar connected" page; below it Earkeep's calendar settings show read-only scopes, Google Calendar connected to a work account, Microsoft Outlook not connected, and the refresh token stored in the system keychain

Google Calendar and Microsoft Outlook: sign in, read-only

Connect the account whose events you want Earkeep to read, whichever of the two your work week actually lives in. The sign-in happens in your own browser, and Earkeep asks for read access and nothing else.

It never writes to your calendar. The only thing Earkeep ever writes is a span marker in your own transcript, and the token that keeps the connection alive is kept in the macOS keychain rather than in a file.

Earkeep's "Calendar link (ICS)" dialog headed "no account, nothing to approve", a published feed URL just pasted into the focused field beside an Add button, and below it the row it becomes: Calendar link (ICS), connected, named from the feed

Any ICS URL: nothing for IT to approve

Paste a link, and Earkeep reads the same feed any other calendar client would. This one matters more than it looks, and it is the reason it is on the list.

The two connections above mean an OAuth flow, and in a managed workplace that can mean waiting on IT approval or admin consent before it works at all, if it ever will. An ICS URL sidesteps the question: it is a link your calendar app already generates, so there is nothing for IT to approve and no admin rights to ask for.

When the meeting doesn't match the invite

Calendars describe intentions, and conversations don't always agree with them. Every version of that is already covered, and none of it costs you a word of the transcript, because capture was never keyed to the calendar in the first place:

The meeting started before the invite said. People were already talking at five to the hour, and it is all in the transcript. Pull the span's edge up to where the conversation actually began.

It started late. The first ten minutes are the sound of people waiting. Pull the edge down and the meeting starts where the meeting started.

It finished early. Trim the tail, or leave it: an extra quiet stretch at the end of a kept meeting costs nothing but a few lines.

It overran by an hour. Nothing said after the scheduled end was lost, because the transcript never stopped at the scheduled end. Drag the edge out to the real one.

It was really one conversation across two invites, or never happened at all. Draw a single span across both blocks, or drop the one for the meeting that got cancelled in a chat message nobody put on the calendar.

So an automatic span is a good first draft rather than a verdict, and correcting one is a drag of an edge, not a form to fill in. And when a change on your calendar would reshape a meeting you have already saved, Earkeep asks first rather than quietly rewriting something you kept.

Related

  • Always-on capture: the continuous transcript that makes automatic spans possible, and how to mark them by hand.
  • Private by design: what your calendar connection does and doesn't send anywhere.
  • For project managers: turning a day of back-to-back calls into individually kept meetings without touching anything between them.
  • For people managers: why 1:1 notes captured this way can look like an eidetic memory.

Frequently asked questions

Do I have to connect a calendar to use Earkeep?

No. A calendar connection removes the last manual step; without one, you select spans on the timeline yourself. Both paths produce the same kind of kept meeting.

What if my workplace won't approve an OAuth connection?

Use an ICS calendar URL instead. It's the same link your calendar app already generates for any other client, so there's no OAuth flow, no IT approval, and no admin consent involved. Earkeep reads the feed directly.

What if a meeting ran over its calendar slot?

The underlying transcript is continuous regardless of what your calendar said, so nothing said after the scheduled end time is lost. Drag the span's edge out to the actual end of the conversation, or select the whole thing by hand.

What happens to a meeting I already saved if the calendar event changes?

Earkeep asks before reshaping a meeting you've kept. A calendar edit doesn't silently rewrite a saved transcript's boundaries or title.

Does connecting a calendar send my events anywhere?

No. The connection is read on your own device, and Earkeep has no server to send events to. It reads event names, times, and similar metadata purely to know where the meetings were in your day.

What about a meeting that was never on my calendar?

It's still in the transcript, because capture doesn't depend on the calendar at all. Drag a span across it whenever you realize it mattered, exactly as you would without a calendar connected.

Let the calendar do the filing

14-day full trial, no account required.