Open-source CLI for AI call agents

Put your AI agent in the meeting.

samoagent is an open-source CLI that lets an AI agent join Zoom or Google Meet, stream the live transcript, send chat only when instructed, and inspect the current call frame on demand.

Open source Apache-2.0
npm CLI install
Recall.ai bot backend
Zoom + Meet call targets
Frames on demand

No new flow to learn. You just tell your coding agent — Claude Code, Codex, or any tool that can run a shell — “join the Zoom/Google Meet call using samoagent”, and the agent runs samoagent for you.

Born at PostgresAI Works with Recall.ai Zoom Google Meet
Claude Code REC
>we're debugging a slow query on the call — join us on Zoom with samoagent and follow along
On it — joining the call and tailing the transcript now.
Bash(samoagent join "https://meet.google.com/abc-defg-hij" --dict postgresfm)
bot joining the call… connected
Bash(samoagent watch)
[14:02:11] Sofia: the p99 on the orders query just doubled
[14:02:18] Marcus: can you pull the plan and share it here?
Bash(samoagent frame)
frame captured → ~/.samoagent/frames/latest.png
Bash(samoagent chat "Seq scan on orders — missing index on (created_at). Patch incoming.")
chat sent to the meeting

What the agent gets

You never type these yourself. Under the hood, your agent has a small, auditable tool belt it reaches for during a call.

join Bring a Recall.ai bot into Zoom or Google Meet.
watch Stream transcript lines as the meeting happens.
frame Capture the current call frame only when requested.
chat Send meeting chat through an explicit command.
leave Exit the call and stop local runtime state.

Why it exists

Agents need live meeting context, but they need a narrow interface, not desktop scraping or chat spam.

Observe safely

Transcript and frame access are explicit tool calls.

Act deliberately

Meeting chat only happens through samoagent chat.

Build faster

Use it for copilots, demo agents, incident reviews, interviews, and internal agents.

How it works

Your agent runs samoagent as a local tool. samoagent starts the callback server. Recall.ai joins the meeting and streams events back.

Default video path uses WebSocket frames, so personal use should be fine with free ngrok HTTP.
RTMP is still available for mixed video, but that optional path uses ngrok TCP.
Webhook, frame, and runtime files are token-protected and kept under ~/.samoagent/ by default.
AI agent Chooses when to join, listen, inspect, chat, or leave.
samoagent CLI join, watch, frame, chat, leave
Local callback server Receives transcript and frame events over HTTPS/WSS.
Recall.ai bot Joins Zoom/Meet and streams meeting signals back.

Build a meeting-aware agent

Install the CLI, wire it into your agent loop, and star the repo if it saves you time.