Skip to main content
When your bot leaves a call, it doesn’t stop. It gets an after-call work phase: it has left the room, but the transcript and whiteboard are still readable, and it does one last defined thing before shutting down. By default that’s a written summary of the call, saved to a folder. Two conditions, both usually true: an agent must still be driving the bot when it leaves, and the afterCallWorkSeconds preference must be above 0 (default 300). No agent, or set to 0 → teardown is immediate and nothing is written (gate: main.js:686-717 · default: preferences-schema.js:104-108). The window is extendable. 300 seconds is the default backstop, not the ceiling — the preference accepts up to 1800 seconds (preferences-schema.js, max constraint). If your after-call work involves real model calls (a rendered recap, a long receipt), raise it before leaving: set_preference("afterCallWorkSeconds", 1800). And it’s a backstop, not a schedule — finish early, call end_session, and teardown is immediate.

Changing what it does

The instruction lives in your bot’s own CLAUDE.md, so this is a conversation, not a settings screen. Say something like:
“Add an ‘After the call’ section to your CLAUDE.md. When a call ends you get an after-call phase where the transcript is still readable — in it, write up what we decided and file it as a GitHub issue.”
Your bot edits its own file. Next call, that’s what happens instead. Things people put there: notes to a folder · a GitHub issue per decision · an email to whoever was on the call · a rendered recap video · nothing at all.
It degrades correctly by design. A bot with no API keys writes a markdown file — which is a complete, useful outcome, not a fallback. Fancier results come from your tools, not from us.

How long it gets

The agent ends the phase itself when it’s done, so a normal call costs a few extra seconds. There’s a five-minute backstop if it never reports back.

The share-card prototype

Separately, there’s an example share card — a browser renderer for a small JSON object encoded in the URL fragment.
That prototype is not part of the automatic flow above, and it is not signed or verified. Anyone with the link can read and alter its contents. Don’t put secrets, private transcript text, or private participant names in one.