How pattern-ai-labs/agentcall works
Purpose and Integration Surface
join-meeting is an AgentCall skill, not a standalone application. It lets coding-agent runtimes join Google Meet, Zoom, or Teams and treat a live meeting as an I/O channel for speech, transcripts, chat, screenshots, avatar video, and screensharing. The primary agent-facing contract is SKILL.md; platform packaging is supplied by .claude-plugin/plugin.json and gemini-extension.json.
Runtime Entrypoints
The skill selects either Python 3.10+ or Node.js 18+ scripts. Shell dispatch is centralized in scripts/run.sh. Equivalent language implementations expose operational commands:
• Join/control call: scripts/python/join.py, scripts/node/join.js
• Bidirectional meeting bridge: scripts/python/bridge.py, scripts/node/bridge.js
• Agent-initiated outbound calls: scripts/python/agentcall.py, scripts/node/agentcall.js
These subprocesses communicate status, events, and commands through stdout/stdin so a host coding agent can supervise them.
Identity, Registration, and Service Boundary
Before calls, registration and API-key handling establish access to AgentCall’s hosted service. scripts/python/register.py and scripts/node/register.js implement first-run account/key setup; keys persist outside the repository in the user AgentCall configuration. scripts/python/check_update.py and scripts/node/check_update.js support lifecycle/version checks. AgentCall is the central external service for meeting transport, TTS, transcription, call state, and associated hosted capabilities.
Meeting Connection and Event Bridge
join creates or reconnects a meeting participant, while bridge maintains the long-running live interaction channel. The bridge receives real-time transcript/call events, accepts instructions such as speaking or chat actions, and manages WebSocket reconnection and active-call recovery. Visual-mode variants, scripts/python/bridge-visual.py and scripts/node/bridge-visual.js, add camera/avatar and presentation-oriented capabilities. The boundary is explicit: agent reasoning remains in the host agent process; media/session operations remain in AgentCall scripts and APIs.
Agent Control Loop
A coding agent launches a bridge subprocess, reads emitted events, decides what to say or do using its existing workspace context, then writes commands back to stdin. scripts/node/stdin-commands.js is the Node command parser/control layer; Python bridge behavior is exercised through tests/test_bridge_stdin.py. This design permits direct agent-controlled speech or collaborative timing through GetSun voice intelligence, without embedding an LLM runtime in this repository.
Visual and Presentation Pipeline
Webpage AV modes use hosted/custom webpages as the bot’s camera feed and can screenshare dynamic URLs. Reusable HTML/JS sources are under ui-templates/, including ui-templates/avatar/index.html, ui-templates/dashboard/index.html, and ui-templates/voice-agent/index.html. Audio-oriented browser behavior is represented by ui-templates/agentcall-audio.js. scripts/python/tunnel.py and scripts/node/tunnel.js expose local content for meeting-accessible presentation or visual URLs.
Operational Patterns and Reference Implementations
The repository documents its protocol and advanced control semantics in references/api.md, references/guides/collaborative-mode.md, and references/guides/crash-recovery.md. Runnable examples demonstrate the intended host-agent orchestration rather than a shared application framework: examples/meeting-assistant/assistant.py, examples/meeting-assistant-smart/assistant.py, and examples/coding-companion/bridge.py. They show how transcript events, voice responses, tools, and persistent coding context combine around the bridge.
Main entry points: bridge.py Live meeting bridge · run.sh Runtime dispatcher · bridge-visual.py Visual bridge · tunnel.py Local content tunnel
Components 17
Skill Contract
- Skill instructions · Primary contract for coding-agent runtimes.
SKILL.md - Plugin packaging
.claude-plugin/plugin.json - Protocol reference
references/api.md - Recovery guidance
references/guides/crash-recovery.md
AgentCall Runtime
- Runtime dispatcher · Selects Python or Node implementations.
scripts/run.sh - Registration and updates · Sets up hosted-service access and checks versions.
scripts/python/register.py - Join and call control · Creates or reconnects a meeting participant.
scripts/python/join.py - Live meeting bridge · Streams call events and accepts agent commands.
scripts/python/bridge.py - Node stdin commands
scripts/node/stdin-commands.js - Outbound calling
scripts/python/agentcall.py
Host Agent Integration
- Coding agent · Keeps reasoning and workspace context outside this skill.
- Orchestration examples · Shows transcript-driven host-agent control loops.
examples/meeting-assistant/assistant.py
Visual Pipeline
- Visual bridge · Adds avatar-camera and presentation capabilities.
scripts/python/bridge-visual.py - Local content tunnel · Makes local visual content reachable from meetings.
scripts/python/tunnel.py - Avatar webpage
ui-templates/avatar/index.html - Dashboard webpage
ui-templates/dashboard/index.html
Other components
- AgentCall hosted service · Provides meeting transport, media, transcription, TTS, and call state.
Connections 22
- Skill instructions → Runtime dispatcher: invokes
- Plugin packaging → Skill instructions: packages
- Runtime dispatcher → Registration and updates: runs setup
- Runtime dispatcher → Join and call control: launches
- Runtime dispatcher → Live meeting bridge: launches
- Runtime dispatcher → Outbound calling: launches
- Registration and updates → AgentCall hosted service: establishes access
- Join and call control → AgentCall hosted service: joins meeting through
- Live meeting bridge → AgentCall hosted service: streams events and actions
- Outbound calling → AgentCall hosted service: initiates calls through
- Coding agent → Live meeting bridge: starts subprocess
- Live meeting bridge → Coding agent: stdout events
- Coding agent → Live meeting bridge: stdin commands
- Node stdin commands → Live meeting bridge: parses Node commands
- Orchestration examples → Coding agent: demonstrates orchestration
- Visual bridge → Live meeting bridge: extends
- Visual bridge → AgentCall hosted service: sends visual media
- Local content tunnel → Visual bridge: provides reachable URLs
- Avatar webpage → Local content tunnel: exposes
- Dashboard webpage → Local content tunnel: exposes
- Protocol reference → Live meeting bridge: documents protocol
- Recovery guidance → Live meeting bridge: documents recovery