Call Summary - Codex
When Tuple transcription completes, opens Codex in a terminal to summarize the call (read via the `tuple` CLI), write a title and summary back onto the call, and stay available for follow-up questions.
Opens Codex in a terminal when Tuple transcription completes, to summarize the call.
When call-transcription-complete fires, this trigger writes a focused prompt and opens your preferred terminal running Codex. Codex finds the call, reads its stored transcript with the tuple CLI, produces a concise summary (decisions, action items, open questions), writes a title and summary back onto the call so they show up in Tuple's Call History, and stays available for transcript-backed follow-up questions.
This is not a live-call companion (that's the sidekick triggers), so there's no tuple connect and nothing to follow in real time — it's a one-shot over the finished call.
How it reads the call
Guided by the prompt, Codex uses the tuple CLI:
tuple call current(if you're still on the call) ortuple transcription list(newest first) to find the call id.tuple transcription show <id>to read the full transcript (add--with-eventsfor join/leave/screen events).tuple transcription set-title <id> "…"andtuple transcription set-summary <id> "…"to record the result on the call.
Nothing is hard-coded about the model — Codex uses whatever you have configured.
Prerequisites
- macOS
- Codex installed so
codexworks in a new terminal - The
tupleCLI on your interactive shell PATH (withtranscriptionsupport)- Install it from the Tuple app: its Transcription settings have an Install button that links
tupleonto your PATH.
- Install it from the Tuple app: its Transcription settings have an Install button that links
- Tuple transcription enabled for the call
Installation
Drop this directory into your Tuple triggers folder:
~/.tuple/triggers/call-summary-codex/
The trigger fires when call transcription completes.
How it works
call-transcription-complete fires with no call-specific arguments. This trigger:
- Creates a working directory,
${TMPDIR:-/tmp}/tuple-call-summary-codex/<timestamp>-<pid>, and writes the prompt (call-summary-codex-prompt.md) into it. - Writes an executable
launch-call-summary-codex.commandwrapper there. - Opens it in your preferred terminal via
open(setPREFERRED_TERMtoghostty | iterm | alacritty | terminal, or leave empty for your default.commandhandler). No AppleScript, so it triggers no macOS accessibility prompt. - The wrapper starts a login-interactive zsh,
cds to that directory, and runscodex --ask-for-approval on-request --sandbox read-only -- "$(cat call-summary-codex-prompt.md)".
For local script testing without opening a terminal, set CALL_SUMMARY_CODEX_DRY_RUN=1.