Voicenotes Integration
Sync voice notes from voicenotes.com into the workspace.
Setup
- Get access token from: https://voicenotes.com/app?obsidian=true#settings
- Set environment variable:
export VOICENOTES_TOKEN="your-token-here"
Quick Start
# Verify connection
./scripts/get-user.sh | jq .
Fetch recent notes (JSON)
./scripts/fetch-notes.sh | jq '.data[:3]'
Sync all notes to markdown files
./scripts/sync-to-markdown.sh --output-dir ./voicenotes
Scripts
fetch-notes.sh
Fetch voice notes as JSON.
./scripts/fetch-notes.sh # All notes
./scripts/fetch-notes.sh --limit 10 # Last 10 notes
./scripts/fetch-notes.sh --since 2024-01-01 # Notes since date
get-user.sh
Verify token and get user info.
./scripts/get-user.sh | jq '{name, email}'
sync-to-markdown.sh
Sync notes to markdown files with frontmatter.
./scripts/sync-to-markdown.sh --output-dir ./voicenotes
Output format:
---
voicenotes_id: abc123
created: 2024-01-15T10:30:00Z
tags: [idea, project]
---
Note Title
Transcript
The transcribed content...
Summary
AI-generated summary...
API Reference
Base URL:
https://api.voicenotes.com/api/integrations/obsidian-sync
Headers required:
Authorization: Bearer {token}
X-API-KEY: {token}
Endpoints:
GET /user/info
- User details
GET /recordings
- List voice notes (paginated)
GET /recordings/{id}/signed-url
- Audio download URL
Data Structure
Each voice note contains:
recording_id
- Unique identifier
title
- Note title
transcript
- Full transcript text
creations[]
- AI summaries, action items, etc.
tags[]
- User tags
created_at
/ updated_at
- Timestamps
duration
- Recording length in seconds
Tips
- Notes are paginated; check
links.next
for more pages
- Use
--since
to fetch only new notes since last sync
- AI creations include summaries, todos, and custom prompts
- Rate limited to ~60 requests/minute