Prerequisites
- A Linux host (Ubuntu 24.04 recommended for production),
git, and Docker engine ≥ v26 (make allchecks and refuses older engines). A Mac with Docker Desktop works for a local evaluation — everything runs in containers either way. - A transcription (STT) token — get one free at
vexa.ai/account, or self-host transcription on a GPU. Without it, bots join and record but produce no transcript.
1. Install and start
make all brings up the whole stack and prints an API key + your URLs when it finishes:
| Surface | URL |
|---|---|
| Terminal (web workbench UI) | http://localhost:13000 |
| API gateway | http://localhost:18056 |
make all seeds .env from .env.example on first run and mints a self-host API key for you
(via deploy/compose/bin/provision-token). The seeded .env ships with every credential empty
— make all prints a warning box (and ⚠ lines in the banner) until you fill them: the STT pair for
win 1 (transcripts), one model credential for win 2 (agent chat) — either in .env or under
Settings → Models in the Terminal. To mint additional scoped keys yourself, see
Authentication.2. First win — capture a meeting (UI)
Send a bot to a meeting
Start a Google Meet, Zoom, or Teams call, copy the join URL, and add it from the UI. A bot joins
the call as a participant — no plugin, no host setup.
2′. Same thing over the API
Use the keymake all printed, then send a bot and read the transcript:
3. Second win — ask your workspace a question
Every captured meeting compiles into your workspace — a Markdown knowledge base an agent reads and writes like a developer in a repo. Chat with it:message-delta frames carry the reply, commit
frames mark anything the agent recorded. See the Agent API.
4. Third win — connect your calendar
Stop pasting links: give Vexa your calendar’s secret ICS address (Google Calendar → Settings → your calendar → Integrate calendar → Secret address in iCal format, the…/private-…/basic.ics
one — not the public address above it) and every upcoming meeting with a Meet/Zoom/Teams link
imports on its own — and the bot auto-joins at start time. Connecting syncs immediately and
tells you what it imported; on a Google Workspace domain the secret-address field may need a
one-time admin unlock (how).
Next steps
Plan and share a meeting
Prepare a shared knowledge space and invite the people you’re meeting.
Get a report after every meeting
A routine that writes notes, decisions, and follow-ups when a call ends.
Brief me every morning
An unattended agent on a cron schedule.
Authentication
Mint, scope, and rotate API keys for the full stack.
Deploy to production
Docker Compose self-host, configuration, and air-gapped transcription.