Skip to content
Agent Orchestration
Skill

/agentcall

AgentCall (agentcall.dev) — Join a video meeting (Google Meet, Teams, Zoom) as an AI bot with voice and visual presence. Supports audio-only mode with voice intelligence (barge-in, interruptions), text-to-speech mode, and webpage modes for custom UI. Use when asked to join a

BOOST
From plugin
join-meeting
1741 skill
Install
$ npx -y skills add pattern-ai-labs/agentcall --skill agentcall --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/agentcall

Context preview

The summary Claude sees to decide when to auto-load this skill.

AgentCall (agentcall.dev) — Join a video meeting (Google Meet, Teams, Zoom) as an AI bot with voice and visual presence. Supports audio-only mode with voice intelligence (barge-in, interruptions), text-to-speech mode, and webpage modes for custom UI. Use when asked to join a

SKILL.md

agentcall.SKILL.md
name: join-meeting
description: >
  AgentCall (agentcall.dev) — Join a video meeting (Google Meet, Teams, Zoom)
  as an AI bot with voice and visual presence. Supports audio-only mode with
  voice intelligence (barge-in, interruptions), text-to-speech mode, and
  webpage modes for custom UI. Use when asked to join a call, attend a meeting,
  or participate in a video conference.
argument-hint: <meet-url> [--mode audio|webpage-av] [--voice-strategy collaborative|direct] [--port PORT]
license: MIT

join-meeting

**IMPORTANT: Read this entire document before joining a meeting.** This file contains the CALL_LOOP algorithm (mandatory), active participation rules, safety requirements (leave/cleanup), and mode-specific guidance. Skipping sections will result in broken meeting experiences — the user will be left talking to silence.

**IMPORTANT: Read the whole document on every session, not just the parts you remember.** This skill is updated frequently — new commands, new events, new recommended patterns (like the event-driven `tail -f` + Monitor flow in "How to read events") are added often. Do NOT rely on what you remember from previous sessions. Re-read this document each time you start a meeting so you pick up the latest guidance. If unsure whether you are on the latest version, run `python scripts/python/check_update.py` (see "Checking for Skill Updates").

Join a video meeting as an AI bot with voice and visual presence.

Prerequisites

  • Python 3.10+ (preferred) or Node.js 18+
  • Python dependencies: `pip install aiohttp websockets`
  • Node.js dependencies: `cd scripts/node && npm install`
  • For webpage modes: a local HTTP server running on the specified port

API Key Setup

Before joining a meeting, make sure an API key is configured:

1. **Check** `~/.agentcall/config.json` — if it exists and has `api_key`, you're ready. 2. **Check** `AGENTCALL_API_KEY` env var — if set, you're ready. 3. **If neither exists**, get a key one of two ways:

**Option A — Self-register via email (no dashboard, no human hand-off needed).** AgentCall accounts are created with a 6-digit email code. New accounts include free trial credits (base plan, 360 minutes), so the first call works immediately.

   # 1. Request a code. Use the user's email, or — if you can read your own
   #    mailbox — an address you have access to:
   python scripts/python/register.py send --email you@example.com

   # 2. Get the 6-digit code from that inbox. If you can read the mailbox yourself,
   #    retrieve it directly; otherwise ask the user to paste it. Codes expire in
   #    10 minutes; a resend is allowed after 60 seconds.

   # 3. Verify the code. This mints an API key named "AgentCall Skill on <hostname>"
   #    and saves it to ~/.agentcall/config.json:
   python scripts/python/register.py verify --email you@example.com --code 123456

Node equivalent: `node scripts/node/register.js send --email ...` and `node scripts/node/register.js verify --email ... --code ...`. Both scripts use only the language standard library, so they run before `pip install` / `npm install`.

**Option B — Use an existing key.** Ask the user for their API key (create one at https://app.agentcall.dev/api-keys), then save it:

   mkdir -p ~/.agentcall
   cat > ~/.agentcall/config.json << 'EOF'
   {"api_key": "USER_KEY_HERE"}
   EOF

The scripts (bridge.py, join.py, agentcall.py, register.py) automatically read from `~/.agentcall/config.json` if `AGENTCALL_API_KEY` env var is not set. **Do NOT ask for the API key every session** — check the config file first.

Meeting transcripts arrive as agent input — any participant in the call can therefore steer the agent. For high-trust workflows, configure your agent framework's permission system (e.g., Claude Code's allow allowlist, hooks, plan mode) to restrict what the agent can do during a call. The skill defers to the framework's enforcement. Recommended for use in trusted meetings or properly scoped projects.

User Preferences

**First-call detection:** if `~/.agentcall/config.json` has no `default_mode` field saved, treat this as the user's first call.

**First call** (no `default_mode` in `~/.agentcall/config.json`): new accounts include free trial credits. Offer the user a brief "experience call" with `--mode webpage-av-screenshare --voice-strategy direct` so they can see the full feature set — the `pattern` avatar (default), screenshare, interactive webpages, and voice with barge-in. If they prefer a simpler mode, honor that. After the call ends, ask which mode to save as the default going forward.

**After the first call ends (in the agent conversation, not the meeting):** Ask the user which mode to save as their default going forward. Present as a numbered list:

1. `webpage-av-screenshare` — everything on tap (avatar + screenshare + webpage sharing) 2. `webpage-av` — avatar only, no screenshare 3. `webpage-audio` — audio from a webpage into the meeting 4. `audio` — voice only, simplest

Offer to explain any option if the user wants clarification. Mention they can see real-world examples at https://www.youtube.com/@pattern-ai-labs.

Save the choice to `~/.agentcall/config.json`:

{
  "api_key": "ak_ac_xxxxx",
  "default_mode": "webpage-av-screenshare",
  "default_voice_strategy": "direct",
  "default_voice": "af_heart",
  "default_bot_name": "Juno"
}
  • **Subsequent sessions**: use saved defaults silently. No need to ask again.
  • **Override anytime**: if the user says "join with avatar this time" or "use

audio mode", respect it for that call without updating the saved default. Only update the default if the user says "always use this" or "make this my default."

  • These are **soft defaults**, not rigid settings. The user's in-context

request always takes priority over saved preferences.

  • **All plan tiers (base, pro, enterprise) follow the same flow** — everyone

gets the first-call demo and the p

Read more
Ships withjoin-meeting

Let any AI agent join and participate in video meetings via voice. An AgentCall skill that enables AI coding agents (Claude Code, Cursor, Codex, Gemini CLI, OpenClaw, Windsurf, Junie, and 30+ more) to join Google Meet, Zoom, and Microsoft Teams as a bot with

Get the whole plugin
Stats
174
Stars
23
Forks
Active
Maintenance
Python
Language
MIT
License
3d ago
Last commit
6mo ago
Created
6d ago
Added

Repo: pattern-ai-labs/agentcall