Skip to content

Platform edition

Obsidian for macOS

Save dictations and Recorder transcripts as customizable Markdown notes in your Obsidian vault, with templates, auto-export, and live sync.

  • by TypeWhisper
  • Marketplace
Version
1.2.0
Plugin ID
com.typewhisper.obsidian
Requirements
TypeWhisper 1.8.0 or newer · macOS 14.0 or newer

Inside this edition

Obsidian settings in TypeWhisper for macOS
The macOS edition detects existing vaults and reveals all template, daily-note, auto-export, and live-sync options after a vault is selected. Auto-Export can include dictations, Recorder transcripts, or both.

Features in this edition

  • Customizable Markdown note templates
  • Auto-export for dictations, Recorder transcripts, or both
  • Meeting notes with title and attendees in the frontmatter
  • Live sync for later History corrections
  • Flexible daily notes and YAML frontmatter

Overview

The Obsidian plugin saves TypeWhisper transcriptions as regular Markdown files directly inside a folder in your vault. You can create selected notes through a workflow action target or enable Auto-Export to save every completed transcription automatically.

Version 1.2.0 can also save Recorder transcripts, including calendar meetings, and lets Auto-Export leave out dictations. It requires TypeWhisper 1.8.0 or newer on macOS. Version 1.1.0 added configurable note templates, additional metadata, and live sync for later corrections in TypeWhisper History.

Sources: macOS plugin source, implementation PR #1089

The basic flow is:

Dictation → optional workflow processing → Obsidian action or Auto-Export → Markdown file in the vault

Recording → transcript → Auto-Export → Markdown file in the vault

Setup

  1. In TypeWhisper, open Settings > Discover plugins and install Obsidian. The add-on then appears in the Settings sidebar, and its page opens.
  2. Select a detected vault. If it does not appear in the list, choose Browse… and select the vault folder manually.
  3. Optionally set a Subfolder. The TypeWhisper default saves notes under <Vault>/TypeWhisper/, for example.
  4. Choose between individual notes and Daily Note Mode.
  5. Customize the filename, note template, frontmatter, and tags.
  6. Decide whether to export selected dictations through the Save to Obsidian action target or enable Auto-Export, and choose whether it saves Dictations, Recorder transcripts, or both.

The plugin creates the configured subfolder when needed. For individual notes, it avoids overwriting existing files by adding a number such as Note 1.md when a filename already exists.

Two Ways to Export

Selected Export Through a Workflow

Use an action target when only selected dictations should go to Obsidian or when an LLM should structure them first:

  1. Create a Custom Workflow under Settings > Workflows.
  2. Copy the Workflow Instruction from the Obsidian settings or write your own.
  3. Select Save to Obsidian as the Action Target.
  4. Assign a manual shortcut or suitable workflow rules.

The included instruction cleans up the dictation and returns only Obsidian-compatible Markdown. Because the workflow uses an action target, its result is saved as a note instead of also being inserted into the foreground app. See the Workflows guide for triggers, matching rules, and action targets.

Automatic Export

Enable Auto-Export to write completed transcriptions into the selected vault automatically. Two switches below it choose what is exported:

  • Dictations is on by default and saves every completed dictation. This works well for a complete voice journal or archive.
  • Recorder transcripts is off by default and saves each finished recording as its own note. See Recorder and Meeting Transcripts.

Turn off Dictations and turn on Recorder transcripts to keep only meetings and recordings in the vault. If a dictation was already exported through the workflow action target, the plugin associates its completion with the existing note instead of creating a second file through Auto-Export.

Filenames

The default template is:

{{DATE}} {{TIME}} {{APP}}

This produces a filename such as 2026-08-10 17-23-52 Safari.md. The preview in the plugin settings shows the current result before export.

PlaceholderResult
{{DATE}}Date in YYYY-MM-DD format
{{TIME}}Time in filename-safe HH-MM-SS format
{{APP}}Active app name, such as Safari
{{LANGUAGE}}Detected language, such as de or en

To keep names compatible with Obsidian and the file system, the plugin removes invalid characters such as /, :, *, ?, ", <, >, |, [ and ].

Note Templates

The Note Template controls the complete Markdown body of each individual note. The {{TRANSCRIPT}} default saves only the final processed transcript. You can include headings, Obsidian callouts, links, and metadata directly in the template.

PlaceholderContent
{{TRANSCRIPT}}Final transcript, including any workflow processing
{{RAW_TRANSCRIPT}}Original transcript before workflow processing
{{DATE}}Recording date as YYYY-MM-DD
{{TIME}}Recording time as HH-MM-SS
{{APP}}Active app
{{LANGUAGE}}Detected language
{{URL}}Active URL when the source app provides it
{{ENGINE}}Transcription engine used
{{MODEL}}Model used, when available
{{DURATION}}Recording duration in seconds with one decimal place
{{WORDS}}Word count of the final transcript

Unavailable optional metadata is replaced with an empty value. For a workflow action export, the engine, model, and duration may only become available with the completion event; with live sync enabled, the plugin adds them to the same note.

Examples

1. Structured Meeting Note

Filename:

{{DATE}} Meeting

Note template:

# Meeting on {{DATE}}

{{TRANSCRIPT}}

---
Source: {{APP}}
Duration: {{DURATION}} seconds · {{WORDS}} words

Combine this template with a workflow that structures the dictation into Summary, Decisions, and Action Items. The workflow result replaces {{TRANSCRIPT}}; {{RAW_TRANSCRIPT}} remains available if you also want to preserve the original dictation.

2. Research Note with a Source

Filename:

{{DATE}} {{APP}} Research

Note template:

# Research

{{TRANSCRIPT}}

> [!info] Source
> {{URL}}

Language: `{{LANGUAGE}}` · Engine: `{{ENGINE}}`

If the active app does not provide a URL to TypeWhisper, {{URL}} remains empty.

3. Compare the Final and Original Transcript

# Edited Note

{{TRANSCRIPT}}

<details>
<summary>Original dictation</summary>

{{RAW_TRANSCRIPT}}

</details>

This is useful when a workflow removes filler words or restructures spoken text but you still want to keep the raw transcript in the same file.

YAML Frontmatter

With YAML Frontmatter enabled, the plugin adds Obsidian Properties at the beginning of the file. Depending on the available context, they can include date, app, bundle ID, URL, language, engine, model, duration, word count, processing steps, and your tags.

Example:

---
date: 2026-08-10T15:23:52Z
app: "Safari"
bundleId: "com.apple.Safari"
url: "https://example.com/article"
language: "en"
engine: "parakeet"
model: "TDT"
duration: 42.5
words: 118
tags:
  - "typewhisper"
  - "research"
---

Enter tags as a comma-separated list in the settings. Frontmatter is added before your note template, so you do not need to include it in the template yourself.

Daily Note Mode

In Daily Note Mode, the plugin does not create a new file for every dictation. It appends all entries to one shared file, named YYYY-MM-DD.md by default.

Four append formats are available for new entries:

FormatTemplateResult
Timestamp section## {{TIME}} + {{TEXT}}Gives each entry a heading such as ## 17:23; sections are separated by a horizontal rule.
Plain append{{TEXT}}Adds the final text as its own paragraph.
Bullet list- {{TEXT}}Adds each entry as a list item.
CustomYour own templateSupports {{TEXT}}, {{TIME}}, {{DATE}}, {{APP}}, {{LANGUAGE}}, and {{URL}}.

Example source journal:

### {{TIME}} · {{APP}}

{{TEXT}}

Source: {{URL}}

Frontmatter is written once when a new daily file is created. A generic daily file such as {{DATE}}.md intentionally omits app-specific properties; when its filename includes {{APP}}, that metadata can be included.

Live Sync for History Edits

Live Sync History Edits is enabled by default and applies to individual notes only. When you later correct the related transcript in TypeWhisper History, the plugin rewrites the same Markdown file with the updated text and metadata. The association survives app and plugin restarts.

Keep these details in mind:

  • The file is regenerated from the configured note template. Manual changes to that file in Obsidian may therefore be overwritten.
  • Daily Note Mode intentionally remains append-only; live sync is disabled there so a correction cannot modify the wrong section. When Auto-Export saves Recorder transcripts, the switch stays available and only updates the separate notes of recordings.
  • The plugin tracks at most the latest 500 associations and removes associations after 30 days.
  • Only existing Markdown files inside the currently configured vault are updated. Files outside the vault are never changed.

If you mainly continue editing exported notes in Obsidian, disable live sync to protect those changes.

Recorder and Meeting Transcripts

With Auto-Export and Recorder transcripts on, every transcript the Recorder saves becomes a note in the configured subfolder. This covers manual recordings, recordings started by Meeting Automation, and recordings started through the API.

  • Calendar meetings keep the Markdown file the Recorder writes next to the recording. Its frontmatter contains the meeting title, date, start and end time, location, organizer, and attendees, so Dataview can list meetings by attendee or date. With YAML Frontmatter on, the plugin adds your tags.
  • Other recordings use your Note Template and frontmatter, with {{APP}} set to Recorder and the time the transcript was saved as date and time.
  • The note is named after the recording file, for example 20261022 - Weekly sync.md.
  • Recordings always get their own note, also in Daily Note Mode.
  • With Live Sync History Edits on, a new transcription of the same recording updates its note instead of creating a second one.

The note contains the transcript text without speaker names.

GoalSettings
Only selected, processed notesAuto-Export off; Custom Workflow with Save to Obsidian action target; live sync on
Complete transcription archiveAuto-Export on; individual notes; filename {{DATE}} {{TIME}} {{APP}}
Continuous voice journalAuto-Export on; Daily Note Mode on; timestamp section or bullet list
Maintain notes manually in Obsidian after exportIndividual notes; live sync off
Recordings and meetings only, no dictationsAuto-Export on; Dictations off; Recorder transcripts on

Stay close to TypeWhisper

Follow for release notes, workflow tips, and product updates while the app downloads.