A skill your agent uses when building features that join, record, or transcribe Zoom/Meet/Teams/Webex calls — meeting bots, call notetakers, sales-call summarizers, interview transcribers.

MITAuto-check passedBackend & APIs

Install Meetings

skills CLI
$ npx skills add butterbase-ai/butterbase-skills --skill meetings -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install butterbase-ai/butterbase-skills meetings --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/butterbase-ai/butterbase-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/meetings .claude/skills/meetings && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
meetings
GitHub stars
534
Token cost
~1.6k tokens
SKILL.md length
557 words
Files
1
Skills in repo
39
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when building features that join, record, or transcribe Zoom/Meet/Teams/Webex calls — meeting bots, call notetakers, sales-call summarizers, interview transcribers.

  • Works in 7 steps: When to Use → The Four SDK Methods → Typical Flow → …
  • Building features that join
  • SKILL.md covers 1. When to Use, 2. The Four SDK Methods, 3. Typical Flow and 4. Webhook Handler Skeleton, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Meetings is an agent skill from butterbase-ai/butterbase-skills. Use when building features that join, record, or transcribe Zoom/Meet/Teams/Webex calls — meeting bots, call notetakers, sales-call summarizers, interview transcribers. Covers ctx.ai.meetings.start/get/stop/list, webhook setup, and credit metering.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Webhooks, Transcription and Payments and billing. The repository describes itself as: Plugin for Butterbase.ai. The licence is MIT.

When your agent uses it

  • Building features that join
  • Transcribe Zoom/Meet/Teams/Webex calls — meeting bots
  • Call notetakers
  • Sales-call summarizers

Example prompts

  • “/meetings”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. When to Use
  2. The Four SDK Methods
  3. Typical Flow
  4. Webhook Handler Skeleton
  5. Cost-Aware Design
  6. Vendor-Neutral Note
  7. What This Skill Does NOT Cover

What it can do on your machine

Read from SKILL.md and the folder at commit aa8ae69. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Meetings loads about 1.6k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 557 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from butterbase-ai/butterbase-skills at commit aa8ae69, republished under its MIT licence (© butterbase-ai). 557 words, ~1,566 tokens.

Download SKILL.mdSave it as .claude/skills/meetings/SKILL.md (or your agent's skills folder).
name
meetings
description
Use when building features that join, record, or transcribe Zoom/Meet/Teams/Webex calls — meeting bots, call notetakers, sales-call summarizers, interview transcribers. Covers ctx.ai.meetings.start/get/stop/list, webhook setup, and credit metering.

Meeting Bots on Butterbase

Guide for building features that spawn meeting bots via ctx.ai.meetings. Covers the four SDK methods, webhook handling, idempotency, and cost-aware design.


1. When to Use

Reach for this skill when your feature involves any of:

  • Meeting notetaker — bot joins a recurring standup or sales call and stores a transcript.
  • Sales call enricher — join a customer call, wait for bot.done, then run an LLM over the transcript to populate a CRM record.
  • Interview pipeline — record and transcribe candidate interviews, then score against a rubric.
  • Voice-of-customer transcripts — capture support or discovery calls; feed chunks into a RAG collection for future search.

If you need only audio/video file upload without a live meeting join, use manage_storage instead.


2. The Four SDK Methods

MethodWhat it doesOne-line example
bb.ai.meetings.start(opts)Spawns a bot and returns immediately with status: "joining"const { data: bot } = await bb.ai.meetings.start({ meetingUrl, transcript: true })
bb.ai.meetings.get(id)Fetches current status + artifact URLsconst { data } = await bb.ai.meetings.get(bot.id)
bb.ai.meetings.stop(id)Removes the bot from the call earlyawait bb.ai.meetings.stop(bot.id)
bb.ai.meetings.list(opts)Lists bots with optional status, limit, cursor filtersawait bb.ai.meetings.list({ status: 'done', limit: 50 })

All methods return { data, error } — always check error before using data.


3. Typical Flow

  1. Configure webhook — call manage_ai with action: "configure_meetings_webhook", passing forward_url pointing at a deployed Butterbase function or your own endpoint.
  2. Start the bot — app calls bb.ai.meetings.start(...). Status begins as joining.
  3. Bot joins — status progresses joining → waiting_room → in_call → recording. The bot.in_call_recording event fires.
  4. Call ends — bot status moves to ended, then done once artifacts are processed.
  5. Webhook fires bot.done — your handler receives the event. The bot's recordingUrl and transcriptUrl are now populated.
  6. Fetch artifacts — download the recording or transcript using the URLs from bb.ai.meetings.get(id).
  7. Write to substrate / database — store the transcript text, link to the relevant entity (deal, candidate, customer), or insert into a RAG collection.
  8. Trigger downstream extract — run an LLM summarization, action-item extraction, or scoring job.

Show full SKILL.md (237 more words)Show less

4. Webhook Handler Skeleton

Deploy this as a Butterbase function with trigger: { type: "http", config: { method: "POST", auth: "none" } }.

typescript
export async function handler(req: Request, ctx: any): Promise<Response> {
  const event = req.headers.get('x-bb-event');
  const body = await req.text();
  const payload = JSON.parse(body);

  const botId: string = payload.data?.bot_id ?? payload.data?.id;

  // Idempotency: skip if we already processed this bot + event combo.
  const claimed = await ctx.idempotency.claim(`meeting:${botId}:${event}`);
  if (!claimed) {
    return new Response('duplicate', { status: 200 });
  }

  switch (event) {
    case 'bot.done': {
      // Artifacts are ready — store a reference or kick off extraction.
      await ctx.db.query(
        `UPDATE meeting_jobs SET status = 'done', bot_id = $1 WHERE external_ref = $2`,
        [botId, payload.data?.metadata?.jobRef ?? botId]
      );
      break;
    }
    case 'transcript.done': {
      // Transcript artifact URL is now available. Kick off downstream processing.
      await ctx.db.query(
        `INSERT INTO transcript_queue (bot_id, created_at) VALUES ($1, now())`,
        [botId]
      );
      break;
    }
    case 'bot.fatal': {
      await ctx.db.query(
        `UPDATE meeting_jobs SET status = 'fatal' WHERE bot_id = $1`,
        [botId]
      );
      break;
    }
    default:
      // Other events (bot.in_call_recording, recording.done, transcript.failed) — handle as needed.
      break;
  }

  return new Response('ok', { status: 200 });
}

Key points:

  • Use ctx.idempotency.claim(key) — the meetings service may retry for up to 24 hours.
  • Verify x-bb-key-id matches the first 16 characters of your current webhook secret to detect stale post-rotation events.
  • Return 200 even for events you don't handle — a non-2xx response triggers a retry.

5. Cost-Aware Design

Before dispatching a bot in a user-pays context, call estimateCost and surface the projected charge:

typescript
const { data: estimate } = await bb.ai.meetings.estimateCost({
  durationMinutes: 60,
  transcript: true,
});
// estimate.usd — show this to the user or check against a quota

Rates (v1):

DimensionRate
Recording (mp4 or audio_only)$0.50/hr + markup, prorated per second
Transcription$0.15/hr + markup, prorated per second

Both charges are applied against the app's AI credit balance once the bot reaches done.

For user-pays apps, hold a projected credit reservation at bot-start time and display a live cost counter using the bot's current duration (polled from bb.ai.meetings.get).


6. Vendor-Neutral Note

The underlying meetings infrastructure may change providers without notice. Do not depend on undocumented fields in the event payload or on provider-specific bot behavior.


7. What This Skill Does NOT Cover

  • Real-time streaming transcripts — word-by-word transcript streaming during an active call is on the roadmap; not available in v1.
  • Multi-region bot routing — all bots are spawned from US East in v1; per-region dispatch is on the roadmap.
  • Browser-side recording — ctx.ai.meetings must be called from a serverless function or server-side code, not directly from the browser. Use a Butterbase function as a backend proxy.

© butterbase-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/meetings of butterbase-ai/butterbase-skills.

Open the folder on GitHubat commit aa8ae69

Compare with similar skills

Meetings next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Meetings compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Meetings this skillbutterbase-ai/butterbase-skills534—~1.6kAutomated safety check: PassMIT
Stripe Best Practicesfossasia/eventyay1.7k1 repos~1.7kAutomated safety check: PassApache-2.0
Pinme Uniwebpayglitternetwork/pinme3.8k—~7.3kAutomated safety check: PassMIT
PayRam Bitcoin PaymentsPayRam/payram-mcp158—~2.1kAutomated safety check: PassNone
cmux Billing Runbookmanaflow-ai/cmux28k—~2.8kAutomated safety check: PassCustom licence
Stripe Patternsbybren-llc/safe-agentic-workflow423—~1.2kAutomated safety check: PassMIT

Similar skills

  • Stripe Best Practices

    fossasia/eventyay

    Guides Stripe integration decisions across development and test environment planning (separate sandboxes vs the shared test mode sandbox), API selection (Checkout Sessions vs PaymentIntents)…

    1.7k GitHub starsUsed in 1 repo~1.7k tokens
    Backend & APIsAuto-check passed
  • Pinme Uniwebpay

    glitternetwork/pinme

    A skill your agent uses when generating, modifying, or reviewing PinMe Worker (Cloudflare Worker TypeScript) code that accepts payments through UniwebPay — payment links, products/prices, checkout…

    3.8k GitHub stars~7.3k tokensUpdated 29 days ago
    Backend & APIsAuto-check passed
  • PayRam Bitcoin Payments

    PayRam/payram-mcp

    Explains accepting on-chain Bitcoin with PayRam's self-hosted setup: HD wallet deposit addresses, mobile app signing for sweeps, and the same payment API as other coins.

    158 GitHub stars~2.1k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • cmux Billing Runbook

    manaflow-ai/cmux

    Runbook for the cmux billing code: Stripe Checkout, customer portal, subscription changes, webhooks and how Pro plan entitlement is resolved from Stack metadata.

    28k GitHub stars~2.8k tokensUpdated today
    Backend & APIsAuto-check passed
  • Stripe Patterns

    bybren-llc/safe-agentic-workflow

    Stripe payment integration patterns for checkout flows, webhooks, and subscriptions.

    423 GitHub stars~1.2k tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed
  • Stripe Integration Expert

    alirezarezvani/claude-skills

    Production-grade Stripe integrations: subscriptions with trials and proration, one-time payments, usage-based billing, checkout sessions, idempotent webhook handlers, customer portal, and invoicing.

    28k GitHub starsUsed in 1 repo~3.7k tokens
    Backend & APIsAuto-check passed

More from butterbase-ai/butterbase-skills

All 39 skills in this repo
  • AI

    butterbase-ai/butterbase-skills

    A skill your agent uses when calling the app's AI gateway from agent tools — chat completions, embeddings, listing models, configuring defaults or BYOK, reading token/cost usage

    534 GitHub stars~1.1k tokensUpdated 5 days ago
    Auto-check passed
  • Auth Setup

    butterbase-ai/butterbase-skills

    A skill your agent uses when configuring OAuth providers (Google/GitHub/Apple/X/etc.), setting up post-login auth hooks, tuning JWT lifetimes, or generating service API keys

    534 GitHub stars~2.2k tokensUpdated 5 days ago
    Auto-check passed
  • Build App

    butterbase-ai/butterbase-skills

    A skill your agent uses when building a new Butterbase app from scratch, creating a full-stack application, or when the user asks to set up a complete backend with database, auth, and deployment

    534 GitHub stars~4.9k tokensUpdated 5 days ago
    Auto-check passed
  • Contributing

    butterbase-ai/butterbase-skills

    A skill your agent uses when contributing to the Butterbase codebase, adding new MCP tools, creating API routes, writing migrations, or understanding the monorepo architecture

    534 GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check passed
  • Debug Rls

    butterbase-ai/butterbase-skills

    A skill your agent uses when users report access denied errors, see wrong data, RLS policies are not working, or when troubleshooting Row-Level Security issues in Butterbase

    534 GitHub stars~3.5k tokensUpdated 5 days ago
    Auto-check passed
  • Deploy Frontend

    butterbase-ai/butterbase-skills

    A skill your agent uses when deploying a frontend (React, Next.js, or static HTML) to a live URL on Butterbase, or when troubleshooting deployment issues like MIME type errors or blank pages

    534 GitHub stars~2.8k tokensUpdated 5 days ago
    Auto-check passed

Categories

Questions about Meetings

What does Meetings do?

A skill your agent uses when building features that join, record, or transcribe Zoom/Meet/Teams/Webex calls — meeting bots, call notetakers, sales-call summarizers, interview transcribers. Meetings is an agent skill from butterbase-ai/butterbase-skills. Use when building features that join, record, or transcribe Zoom/Meet/Teams/Webex calls — meeting bots, call notetakers, sales-call summarizers, interview transcribers.

When should I use Meetings?

Meetings fits situations like: building features that join; transcribe Zoom/Meet/Teams/Webex calls — meeting bots; call notetakers; sales-call summarizers.

How do I install Meetings in Claude Code?

Run `npx skills add butterbase-ai/butterbase-skills --skill meetings -a claude-code`. Or copy the skill folder (skills/meetings in butterbase-ai/butterbase-skills) into .claude/skills/meetings in your project. Claude Code loads it when a task matches its description.

How do I install Meetings in Codex?

Run `npx skills add butterbase-ai/butterbase-skills --skill meetings -a codex`. Or copy the skill folder (skills/meetings in butterbase-ai/butterbase-skills) into .agents/skills/meetings in your project. Codex loads it when a task matches its description.

Can I use Meetings in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add butterbase-ai/butterbase-skills --skill meetings -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/meetings, .gemini/skills/meetings, .github/skills/meetings and .opencode/skills/meetings in your project.

What does Meetings need to run?

SKILL.md names no scripts, command-line tools or credentials: Meetings is instructions for the agent only.

Does Meetings access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Meetings safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Meetings use?

Meetings is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Meetings use?

About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Meetings?

Skills that share tags, products or a category with Meetings: Stripe Best Practices (fossasia/eventyay, 1.7k stars), Pinme Uniwebpay (glitternetwork/pinme, 3.8k stars), PayRam Bitcoin Payments (PayRam/payram-mcp, 158 stars) and cmux Billing Runbook (manaflow-ai/cmux, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Meetings?

butterbase-ai (a GitHub organization) maintains it in butterbase-ai/butterbase-skills, which has 534 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 5, 2026.

Source: butterbase-ai/butterbase-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.