From their README

alfred-otter Build Status

Alfred workflow for

The development is supported by - a service that allows you to publish your Roam notes as a beautiful static website (digital garden)


Show all recent recordings & copy the transcription of selected recording:

Result (in RoamResearch):

Search recordings by matches in the transcription


  • - paste content of the transcription into the foremost application

  • - copy transcription of the selected recording an all newer ones. Result example (in RoamResearch):


$ npm install --global alfred-otter

Or download it from releases

Requires Node.js 12+ and the Alfred Powerpack.


  1. Specify email and password variables in Workflow Environment variables:

  2. In Alfred, type otter (this will retrieve all recent recordings). You can add a query after the keyword to search for speeches with a transcript matching it.

  3. You can also specify the exportTemplate Workflow Environment variable to adjust the way entries get copied into your clipboard. Standard export template designed for copying into RoamResearch is

${fullTranscript}n - Recorded at::${new Date(speech.end_time * 1000).toLocaleString()}n -${speech.otid}n - {{audio: ${speech.audio_url} }}

It references speech and fullTranscript variables bound within toOutputItem function defined in fetch-text.ts.

  1. The default limit on number of speeches fetched when you are not specifying any search terms is 35. You can change that by changing the value of numberOfEntriesToFetch variable in the workflow settings.


Apache 2.0 © Vladyslav Sitalo