Voicenotes
Scanned@shawnhansen
npx machina-cli add skill @shawnhansen/voicenotes --openclawVoicenotes 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 detailsGET /recordings- List voice notes (paginated)GET /recordings/{id}/signed-url- Audio download URL
Data Structure
Each voice note contains:
recording_id- Unique identifiertitle- Note titletranscript- Full transcript textcreations[]- AI summaries, action items, etc.tags[]- User tagscreated_at/updated_at- Timestampsduration- Recording length in seconds
Tips
- Notes are paginated; check
links.nextfor more pages - Use
--sinceto fetch only new notes since last sync - AI creations include summaries, todos, and custom prompts
- Rate limited to ~60 requests/minute
Overview
Voicenotes lets you retrieve voice recordings, transcripts, and AI summaries from Voicenotes.com and bring them into your workspace. The integration supports fetching notes, syncing to markdown with frontmatter, and searching transcripts for quick access.
How This Skill Works
Authenticate with the VOICENOTES_TOKEN environment variable and run the provided scripts to fetch recordings, verify the user, and export notes as markdown. The API uses Bearer token authentication and requires an API key header; notes are paginated, so you can iterate with the next link and optionally filter with --since to fetch new notes.
When to Use It
- You need recent voice notes for a project and want to review transcripts.
- You want to search through transcripts for keywords across your notes.
- You want to convert notes into markdown files with frontmatter for a knowledge base.
- You need to verify the connected account and retrieve user details.
- You want to fetch notes since a specific date to catch up after a pause.
Quick Start
- Step 1: Verify connection: ./scripts/get-user.sh | jq .
- Step 2: Fetch recent notes (JSON): ./scripts/fetch-notes.sh | jq '.data[:3]'
- Step 3: Sync all notes to markdown: ./scripts/sync-to-markdown.sh --output-dir ./voicenotes
Best Practices
- Store the token securely in the VOICENOTES_TOKEN environment variable.
- Use fetch-notes.sh with --limit and --since to control scope.
- Monitor pagination with links.next to retrieve all notes.
- Prefer sync-to-markdown.sh to create structured markdown with frontmatter.
- Respect the rate limit of about 60 requests per minute.
Example Use Cases
- A product manager syncs customer interview notes with transcripts and AI summaries into a centralized Markdown knowledge base.
- A researcher collects weekly team meeting transcripts for a literature review and stores them as markdown notes.
- A journalist archives interviews with downloadable audio URLs and searchable transcripts.
- A content team builds a knowledge base by converting voice notes into Markdown pages with frontmatter.
- A personal assistant exports the last week's notes to Markdown for backup and quick access.