Back to Add-ons
Obsidian

Obsidian

Bundled

by TypeWhisper

Action macOSWindows
Obsidian settings

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.1.0 adds fully configurable Markdown note templates, additional metadata, and live sync for later corrections in TypeWhisper History to the macOS plugin. It requires TypeWhisper 1.6.0 or newer on macOS.

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

Platforms and Versions

PlatformVersionFeatures
macOS1.1.0Note and filename templates, daily notes, YAML frontmatter, auto-export, and live sync. Requires TypeWhisper 1.6.0 or newer.
Windows1.0.0Vault selection, subfolder, basic filename template, daily note mode, and automatically generated YAML frontmatter. The 1.1.0 note template, auto-export, and live sync features are not available there yet.

The screenshot above shows the current macOS configuration for version 1.1.0. The following sections describe that feature set; the Windows differences are listed in the platform table.

Setup

  1. Open Settings > Integrations in TypeWhisper and open the Obsidian configuration.
  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 for every transcription.

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 every completed transcription into the selected vault. This works well for a complete voice journal or archive. If the same transcription was already exported through the workflow action target, version 1.1.0 associates the 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.
  • 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.

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