Skip to content
Agentmart
Submit a tool

otter.ai

Otter.ai recordings: list, rename, trash, fetch speaker-labelled transcripts, and download mp3 audio from a logged-in Otter account.

Skill by overseers-desk

IndexedMIT★ 1
Write a review

Chalk Labs

Need help deploying otter.ai?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/overseers-desk-otter-ai

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Otter.ai recordings: list, rename, trash, fetch speaker-labelled transcripts, and download mp3 audio from a logged-in Otter account.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/otter-ai

Tools it pre-approves 2

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash,
  • Read

What's inside

Skill name
otter.ai
Description
Otter.ai recordings: list, rename, trash, fetch speaker-labelled transcripts, and download mp3 audio from a logged-in Otter account.
License
MIT
Allowed tools
Bash,, Read
Instructions
119 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands
  • Instructions call the network

Agent Skills spec issues

  • name: only lowercase letters, digits and single hyphens allowed

Files (6)

  • SKILL.md
  • ot-canonical.tcl
  • ot-fetch.tcl
  • ot-list.tcl
  • ot-rename.tcl
  • otter-cdp.tcl

SKILL.md (first lines)

## Execution model

The subcommands run under the serialised-browsing harness: `browser-serialiser`
loads this skill into a policed safe interpreter and drives the browser through
the command surface (no raw CDP, anti-ban pacing enforced). Invoke by reference:
`browser-serialiser otter.ai/otter-cdp <subcommand> <args>`. Each launch takes
~15s for the browser.

Turning a recording into a corrected, searchable record in a business repo is the
`knowledge-capture` command's job; it calls the subcommands here for the Otter
steps.

## Prerequisites

- A logged-in Otter.ai session in the user-data-dir the serialiser targets (the
  user logs in via the browser UI). If a subcommand returns
  `{"error": "Not logged in..."}`, the harness saw a login/checkpoint redirect and
  stopped; the user needs to log in to otter.ai in their browser first.

## Capabilities

### 1. List recordings

```bash
browser-serialiser otter.ai/otter-cdp list [--page-size N] [--last-load-ts TS]
```

Returns JSON with a `speeches` array. Each entry has `otid`, `title`, `created_at`
(epoch), `duration` (seconds), `summary`, `link`. Default page size 50; to
paginate, pass `--last-load-ts` from the previous response's `last_load_ts`.

### 2. Rename a recording

```bash
browser-serialiser otter.ai/otter-cdp rename <otid> "<new title>"
```

Returns `{"status": "OK", "verified": true, ...}` once the change is read back and
confirmed. The `otid` comes from `list` or an otter.ai URL
(`https://otter.ai/u/<otid>`). Otter allows `/` in titles, so a path-like
`<business>/<name>.txt` is a valid title. `knowledge-capture` uses that shape as
its done-signal, so a later run reads the prefix and skips the recording.

### 3. Move a recording to Trash

```bash
browser-serialiser otter.ai/otter-cdp trash <otid>
```

Moves the recording to Otter Trash, recoverable from the web UI for ~30 days.
**There is deliberately no hard-delete subcommand.** Otter's permanent-delete
endpoints bypass Trash and are unrecoverable; on 2026-05-13 a real recording was
lost that way. Permanently delete only from the Otter web UI, where the
consequence is explicit.

### 4. Fetch a transcript

```bash
browser-serialiser otter.ai/otter-cdp fetch <otid>
```

Returns `{"otid", "title", "created_at", "duration", "segments", "transcript"}`.
The transcript comes straight from Otter's `/forward/api/v1/speech` endpoint (the
same call the recording page makes to render) and is reconstructed into
speaker-labelled turns: each segment's text grouped by speaker, named from the
recording's speaker list, falling back to a diarisation label
(`Speaker N`) when a segment has no assigned speaker.

### 5. Fetch a recording's audio pointer

```bash
browser-serialiser otter.ai/otter-cdp audio <otid>
```

Returns `{"otid", "title", "created_at", "duration", "audio_format", "audio_url",
"download_url"}`. `audio_url` is a presigned S3 URL for the recording's mp3,
valid for about two days and needing no cookies, so the bytes are pulled with
plain curl rather than through the browser:

```bash
curl -o meeting.mp3 "<audio_url>"
```

`audio_url` is null on a recording with no audio (`audio_enabled` false or
retention-blocked); `download_url` (api.aisense.com) needs the Otter session and
is returned only as a fallback pointer. Same `/forward/api/v1/speech` endpoint
as `fetch`, so no new API surface.

## How it works

The serialised-browsing harness launches the browser with the user's logged-in
user-data-dir and loads this skill into a policed safe interpreter (file / exec /
socket / raw-CDP removed; the harness owns pacing and the 429/login backoff). The
skill reaches the browser only through the command surface:

1. `nav` to `otter.ai/my-notes` to establish session context — the covering view
   for the `/forward/api/v1/*` endpoints (view-before-fetch).
2. `eval` runs page-context JavaScript `fetch()` against Otter's internal API,
   carried by the page's own session cookie and CSRF token.
3. Each subcommand returns a JSON document, pretty-printed to stdout.

The skill does not use Google Chrome; it runs under whatever Chrome-compatible
browser the harness targets. The `otter.ai` view-before-fetch entries live in
`lib/serialiser-harness.tcl`.

## API endpoints used

| Operation | Method | Path | Auth |
|---|---|---|---|
| List speeches | GET | `/forward/api/v1/speeches` | session cookie + x-csrftoken |
| Fetch transcript | GET | `/forward/api/v1/speech?otid=` | session cookie + x-csrftoken |
| Rename | POST | `/forward/api/v1/set_speech_title` | session cookie + x-csrftoken |
| Trash (recoverable) | POST | `/forward/api/v1/move_to_trash_bin` | session cookie + x-csrftoken |
| User info | GET | `/forward/api/v1/user` | session cookie + x-csrftoken |

The CSRF token is read from `document.cookie` (the `csrftoken` cookie is not
httponly). The session cookie (`sessionid`) is httponly and sent automatically.

From overseers-desk/magazines, MIT.

More from overseers-desk/magazines

Signals

Stars
1
Forks
0
Open issues
36
Last commit (this folder)
Sep 2, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from overseers-desk

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get otter.ai running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying otter.ai?

CallGet help
Cite this page

otter.ai skill. Agent Mart. https://agentmart.dev/skills/overseers-desk-otter-ai (last updated 2026-10-24)