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
quickstart
npm install -g samoagent
export RECALL_API_KEY=...

samoagent join "https://meet.google.com/..." \
  --ws-video \
  --name Samo \
  --dict postgresfm

samoagent watch
samoagent frame
samoagent chat "I can take this one."
samoagent leave

What the agent gets

A small, auditable tool belt for live calls.

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.