Skip to content

Deploy bots to Google Meet, Microsoft Teams, and Zoom to interact with meetings in real-time while keeping your data private and costs low

License

Notifications You must be signed in to change notification settings

Payme-Works/meeboter

Repository files navigation

Meeboter

Meeboter

Deploy bots to Google Meet, Teams, and Zoom. Your servers, your data.


MIT License Contributors Stars


What it does

Meeboter joins video meetings as a bot participant, enabling:

- Chat: Send messages programmatically
- Recording: Capture audio/video to S3
- Events: Real-time participant tracking via webhooks
- Fast deployment: Bot pool system: ~30s vs 7+ min cold start

Supports: Google Meet, Microsoft Teams, and Zoom (chat, recording, participant tracking)


Quick Start

git clone https://github.com/Payme-Works/meeboter.git
cd meeboter
bun install
docker compose up -d
cp apps/milo/.env.example apps/milo/.env
bun turbo db:migrate --filter=@meeboter/milo
bun turbo dev --filter=@meeboter/milo

Open localhost:3000


Usage

Dashboard

For manual operations, testing, and monitoring:

  1. Open the web UI at localhost:3000
  2. Navigate to BotsNew Bot
  3. Paste meeting URL, configure options
  4. Click Deploy
  5. Monitor status, logs, and events in real-time

API

For programmatic automation and product integrations:

# Create a bot
POST /bots
{"meetingUrl": "https://meet.google.com/xxx"}

# Deploy it
POST /bots/{id}/deploy

# Send chat message
POST /chat/messages
{"botId": 123, "message": "Hello!"}

# Get events
GET /events/bot/{botId}

OpenAPI docs →


Deployment

Platform Model Cost Best For
Coolify Pool-based ~$50-90/mo Self-hosted, predictable workloads
Kubernetes Pod-based ~$60-200/mo Existing K8s, multi-cloud
AWS ECS Task-based ~$80-500/mo Auto-scaling, pay-per-use

See docs/DEPLOYMENT.md for setup guides and ARCHITECTURE.md for detailed cost analysis.


Architecture

Your App → Meeboter API → Platform Service → Meeting Platforms
                ↓               ↓
           PostgreSQL    S3 (recordings)

Tech Stack:

- API: Next.js 15, tRPC, Drizzle ORM
- Bots: Playwright (Meet), Puppeteer (Teams/Zoom), FFmpeg
- Database: PostgreSQL 15
- Storage: S3-compatible (MinIO, AWS S3)
- Runtime: Bun + Alpine Linux (ARM64/x86)

Multi-Platform Deployment:

Platform Model Deploy Time Cost Model
Coolify Pool-based ~30s Fixed server
Kubernetes Pod-based ~30-60s Fixed cluster
AWS ECS Task-based ~60-90s Pay-per-use

Hybrid Mode — Automatic failover across platforms with PLATFORM_PRIORITY configuration.

Reference Architecture: Proxmox + Coolify + AWS
+-------------------------------------------------------------------------+
|                      PROXMOX HOST (bare-metal)                          |
|                                                                         |
|  +-----------------------------+                                        |
|  |     CT 100: Coolify         |                                        |
|  |                             |                                        |
|  |  +-----------------------+  |     +--------------------------------+ |
|  |  | Milo API (Next.js)    |--+---->|        AWS ECS Cluster         | |
|  |  | Port 3000             |  |     |                                | |
|  |  +-----------+-----------+  |     |  +------+ +------+ +------+    | |
|  |              |              |     |  |Task A| |Task B| |Task C|    | |
|  |  +-----------+-----------+  |     |  | Done | | Done | | Run  |    | |
|  |  | PostgreSQL | MinIO    |  |     |  +------+ +------+ +------+    | |
|  |  +-----------------------+  |     |                                | |
|  |                             |     |  Fargate Spot (90%) + ARM64    | |
|  |  +-----------------------+  |     |  0.5 vCPU / 2 GB per task      | |
|  |  | Bot Pool (20 slots)   |  |     |  Up to 100 concurrent bots     | |
|  |  | ~30s deploy time      |  |     +--------------------------------+ |
|  |  +-----------------------+  |                                        |
|  +-----------------------------+                                        |
+-------------------------------------------------------------------------+

Cost Breakdown: - Proxmox server (Hetzner AX52): ~$80/mo
- AWS ECS (500 bots/day, 45 min avg): ~$100/mo
- Total: ~$180/mo for hybrid setup with overflow capacity


Project Structure

meeboter/
├── apps/
│   ├── milo/                    # API server (Next.js + tRPC)
│   │   ├── src/server/api/      # tRPC routers and services
│   │   └── drizzle/             # Database migrations
│   └── bots/                    # Bot engine
│       └── providers/
│           ├── Dockerfile       # Shared base image
│           ├── google-meet/     # Playwright-based
│           ├── microsoft-teams/ # Puppeteer-based
│           └── zoom/            # Puppeteer-based
├── terraform/
│   └── bots/                    # AWS ECS Fargate infrastructure
├── packages/                    # Shared packages
└── docs/                        # Documentation

Documentation

- ARCHITECTURE.md: System design and cost analysis
- docs/DEPLOYMENT.md: Platform deployment guides
- apps/milo/README.md: API server documentation
- apps/bots/ARCHITECTURE.md: Bot engine and AWS infrastructure
- API Docs: OpenAPI/Scalar (when running)


Contributing

bun install
bun turbo dev --filter=@meeboter/milo
bun run lint
bun run typecheck
bun run test

License

MIT — use it however you want.



Built with Next.js, tRPC, Playwright, and shadcn/ui

About

Deploy bots to Google Meet, Microsoft Teams, and Zoom to interact with meetings in real-time while keeping your data private and costs low

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •