Skip to content

Bring your notes over

If you used Granola, you can bring your notes into KeptNote. You export them from Granola first, then import the files here.

How it works

KeptNote does not read Granola’s data directly. It has no Granola login, and it does not look inside the Granola app. KeptNote has one general import for files from another app. Its panel says that Granola, Otter, Fathom and Fireflies can all export your notes. So the path has two parts: export from Granola, then import into KeptNote. You do not need Granola to be open, or even installed, for the second part.

Import your notes

  1. In Granola, export your notes. Choose an export that gives you CSV, Markdown or plain text files. Look in Granola for its export option, and see Granola’s own help if you cannot find it.

  2. Put the files in one folder, or keep the single file.

  3. In KeptNote, choose Import from Another App… in the File menu. If your library is empty, Home also shows a link: Coming from another app? Bring your notes with you.

  4. A panel titled Import meetings from another app opens in your Downloads folder. It says: Choose a CSV, Markdown or text export, or a folder of them. Choose one or more files, or a folder, and press Import.

  5. When it finishes, a message says Import finished and how many meetings were added.

If KeptNote finds nothing it can read, it says Nothing to import. Most apps export a CSV or a folder of Markdown files.

What KeptNote reads

  • A folder. KeptNote reads the files directly inside it, with the endings csv, md, markdown and txt. It does not open folders inside that folder.
  • A CSV file. Each row is one meeting. KeptNote reads the header to find the columns. A column named like title, name, subject or meeting is the title. A column named like date, created, time or when is the date. A column named like note, content, summary, body, text or transcript is the body. If there are several body columns, KeptNote joins them. With no header it takes column 1 as the title, 2 as the date and 3 as the body. A row without a date it can read is skipped without a message.
  • A Markdown or text file. One file is one meeting. KeptNote takes the title from a line that starts with title: at the top, or the first heading, or the file name. It takes the date from a line that starts with date:, or the date the file was last changed. A file with no text is skipped.

Dates in these forms work: 2026-10-08, 2026-10-08T14:30:00, 10/08/2026, 08/10/2026 and Oct 8, 2026.

What you get in KeptNote

Each import becomes a finished meeting with a title, a date and a note. The note starts with a line that says where it came from: Imported from and the source. KeptNote guesses the source from your file or folder names, for example Granola or Otter. If it cannot tell, it says another app.

You can search these notes, move them into folders, copy them and export them like any other note. If you ask a question inside an imported note, the answer comes from that note. Ask across all meetings searches transcripts only, so imported notes do not appear in those answers.

What the import leaves out

  • No audio and no transcript. Because there is no transcript, the note says This meeting was imported with its note only, so it has no transcript. and its points do not link to a recorded moment.
  • No attendees, no folders, and no link to your calendar.
  • No action items are pulled out as check boxes.

If you import twice

KeptNote skips a meeting that is already in your library. It matches on the exact title and the same minute. The finish message tells you how many it skipped, and how many files it could not read.

Was something unclear? Write to hello@keptnote.com.