Voice Capture
You speak an idea into your phone — and it shows up on its own in Notion, in a spreadsheet, in an email or in your own journal. No programming involved: all it takes is a key from the app and one ready-made scenario.
A key is the password an outside tool uses to sign in to your transcripts. You create it in the app and can revoke it any time.
vcr_ and you'll see it only once. From then on the
server keeps just its fingerprint, so it can't show it to you again — a lost key can't
be looked up, you simply create a new one.https://europe-west3-voice-recorder-2026.cloudfunctions.net/v2_get_recording?key=vcr_…
Keep it in your notes for now — in a moment you'll paste it into Make or into a Shortcut.That address behaves like a password. Whoever has it reads your transcripts. Don't send it over ordinary chat, don't put it in a public repository, and don't leave it sitting in the browser on a shared computer.
What the key can do: read your recordings, transcripts and AI outputs.
What the key can't do: delete anything, change settings, touch your account or
download audio. Even if it leaked, nobody can delete anything of yours with it.
You can have up to five keys — it's worth giving each tool its own, so you can revoke just that one. Once revoked, it stops working within about a minute.
Make is a drawing canvas for automations: you put “from where” on the left, “to where” on the right, and it flows across on its own. The free plan handles 1,000 operations a month, which is plenty for voice notes.
We'll build a scenario that checks for new transcripts every hour and passes them on.
&limit=20 at the endGETitems list. Add the Flow Control →
Iterator module and give it items from the HTTP module in the Array field.
From this point on, everything to the right runs separately for each note.status Equal to
READY. The rest get picked up on the next pass.| field | what's in it |
|---|---|
title | the name the AI came up with |
transcript.text | the full verbatim transcript |
recorded_at | when you were speaking |
duration | length in seconds |
outputs[].sections.summary | the summary, when the recording has an AI output |
id | a unique ID — handy against duplicates |
The scenario above always takes the last twenty — so on every run it also hits the ones it has already sent. Two ways out, pick whichever suits you:
The simpler one: let it check the destination. In Notion add a text field
Recording ID to the database, put a Notion → Search Objects module
matching on id before the write step, and behind it a filter “continue only if nothing was found”.
The cleaner one: let Make remember where it got to. The response includes a
next_since field — a marker saying “you've read up to here”.
cursor.&since=.next_since from the HTTP module.The server then returns only what has arrived since last time, all by itself. Send the value
from next_since back exactly as it came — don't convert it, don't round it.
Do you prefer Zapier or n8n? The procedure is the same, only the names differ: Zapier has “Webhooks by Zapier → GET” and n8n the “HTTP Request” module.
Notion has no way of reaching into Voice Capture by itself, so Make from the previous chapter goes in between. Once you have that running, only a few steps are left.
title,
Date ← recorded_at, Transcript ← transcript.text,
Recording ID ← id.From now on all you do is talk into your phone and the notes land in Notion on their own.
A shortcut is a little program without programming — you assemble it from blocks. This one pulls out the latest transcript and does whatever you want with it.
&limit=1 at the end.items.1.transcript.text
That says “take the first recording and the transcript text out of it”. Shortcuts numbers from one.Want the AI summary instead of the verbatim transcript? Swap the key in the third step for:
items.1.outputs.1.sections.summary
Just bear in mind that the summary only exists if you had an AI output created for the recording.
Recording from a Shortcut isn't possible yet. The key from the app can only read, so a Shortcut can pull transcripts out but can't create a new recording. If you need that, drop me a line — I can issue a key with write access by hand.
This isn't automation and needs no key — you just keep asking about it. The point is not having to hunt for the app icon the moment something occurs to you.
Press and hold on the Lock Screen → Customize → Lock Screen → tap the strip under the clock → pick Quick note. You can then start recording without unlocking the phone.
Got an iPhone 15 Pro or newer? Settings → Action Button, scroll to Shortcut and pick Voice Capture. Holding the side button then records even blind in your pocket.
On iOS 18 and newer: pull Control Center down from the top, press and hold an empty spot, tap Add a Control and find Record a note.
| what you see | what to do |
|---|---|
401 or “Unauthorized” |
The key is mistyped or revoked. Create a new one and paste the whole address again — with no trailing spaces. |
| An empty list comes back | Either you have no recordings sent to the servers (check in Settings what you allow to be sent), or your since points into the future. |
| The transcript is missing but the recording is there | It's still being processed. status goes AWAITING_TRANSCRIPT → TRANSCRIBING → READY; take only READY. |
status is NO_CREDIT |
You've run out of minutes. Top them up in the app and have the recording transcribed again. |
The transcript is empty and no_speech is true |
There was no speech in the recording. That isn't an error — the app would rather return nothing than invent the content. |
| An old note shows up as new | A recording made offline arrives only once the phone is online. That's why it pays to watch for duplicates by id. |
There's no hard limit set yet, but take it in batches (limit up to 100), not in a
loop one at a time. Checking once an hour is more than enough for voice notes — for every key
the app shows when it was last used.
Want to write it yourself? The full description of the interface, with examples in Python and shell, is in the technical documentation.