Voice Note Transcriber → Obsidian
Fetch voice-note emails from IMAP, transcribe audio attachments with OpenAI Whisper, and save the result as a fleeting note in your Obsidian vault.
Quick start
python3 {skillDir}/scripts/transcribe_voice_notes.py
Configuration
Set environment variables (or let the skill read from OpenClaw config):
| Variable | Required | Description |
|---|---|---|
EMAIL_ADDRESS | ✅ | IMAP login address |
EMAIL_PASSWORD | ✅ | App-specific password |
OPENAI_API_KEY | ✅ | OpenAI API key |
OBSIDIAN_VAULT_PATH | ✅ | Absolute path to Obsidian vault root |
EMAIL_PROVIDER | Provider key: gmail (default), outlook, 163.com, 126.com | |
FLEETING_FOLDER | Vault subfolder for fleeting notes (default: 0-Inbox) | |
VOICE_NOTE_KEYWORD | Subject filter keyword (default: Voice Note) | |
MARK_EMAIL_READ | true / false (default: true) |
OpenClaw config example
{
skills: {
"voice-note-transcriber": {
obsidianVaultPath: "/home/user/Documents/MyVault",
fleetingFolder: "0-Inbox",
emailProvider: "gmail",
subjectKeyword: "Voice Note",
markEmailRead: true,
},
},
}
What it does
- Connects to IMAP and fetches unread emails whose subject contains the configured keyword.
- Downloads audio attachments (
.mp3,.wav,.m4a,.webm,.ogg,.flac) to a temp directory. - Transcribes each attachment via the OpenAI Whisper API (
whisper-1). - Writes a Markdown note with YAML frontmatter to the vault's fleeting folder.
- Optionally marks the source email as read.
Output note format
---
tags:
- type/transcript
- source/voice-note
date: 2025-05-12
email_subject: "Voice Note — weekly recap"
email_from: sender@example.com
---
# Voice Note Transcript — 2025-05-12
## Transcript
(transcribed text here)
## Source
- **Subject:** Voice Note — weekly recap
- **From:** sender@example.com
- **Date:** Mon, 12 May 2025 08:00:00 +0800
Troubleshooting
| Symptom | Fix |
|---|---|
| "Missing OPENAI_API_KEY" | Export OPENAI_API_KEY or set it in OpenClaw config |
| Notes not appearing in Obsidian | Check OBSIDIAN_VAULT_PATH is the vault root (not a subfolder) and FLEETING_FOLDER exists inside it |
| No emails found | Verify EMAIL_PROVIDER, credentials, and VOICE_NOTE_KEYWORD match your mailbox |
| Attachment not transcribed | Ensure the attachment has a recognised audio extension |
Publishing to ClawHub
clawhub publish ~/.openclaw/skills/voice-note-transcriber \
--slug voice-note-transcriber \
--name "Voice Note Transcriber" \
--version 1.0.0 \
--changelog "Initial release"