Call Summary - Pi
When Tuple Capture completes, opens Pi in a terminal to summarize the triggering recording, write a title and summary back onto the call, and stay available for follow-up questions.
Opens Pi in a terminal when Tuple Capture completes, to summarize the call.
When call-capture-complete fires, this trigger writes a focused prompt and opens your preferred terminal running Pi. Pi uses the triggering call and recording IDs, reads that recording's 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, Pi uses the tuple CLI:
TUPLE_TRIGGER_CALL_IDandTUPLE_TRIGGER_RECORDING_IDselect the call and exact Capture session that fired the trigger.tuple capture show --recording "$TUPLE_TRIGGER_RECORDING_ID" --exclude events,contentreads its transcript-only records.tuple call edit "$TUPLE_TRIGGER_CALL_ID" --title "…" --summary "…"records the result on the call.
Nothing is hard-coded about the model — Pi uses whichever provider and model you have configured.
Prerequisites
- macOS
- Pi installed so
piworks in a new terminal, with a provider authenticated (pi, then/login) - The
tupleCLI on your interactive shell PATH (withcapturesupport)- Install it from the Tuple app: its Capture settings have an Install button that links
tupleonto your PATH.
- Install it from the Tuple app: its Capture settings have an Install button that links
- Tuple Capture enabled for the call
Installation
Drop this directory into your Tuple triggers folder:
~/.tuple/triggers/call-summary-pi/
The trigger fires when call Capture completes.
How it works
call-capture-complete supplies the call and recording IDs through environment variables, not positional arguments. This trigger:
- Creates a working directory,
${TMPDIR:-/tmp}/tuple-call-summary-pi/<timestamp>-<pid>, and writes the prompt (call-summary-pi-prompt.md) into it. - Writes an executable
launch-call-summary-pi.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 runspi "$(cat call-summary-pi-prompt.md)".
For local script testing without opening a terminal, set CALL_SUMMARY_PI_DRY_RUN=1.