> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enagrams.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Meetings

> Turn meeting transcripts into coordinated agent work packages

## Overview

Meetings are the bridge between human planning and agent execution. Paste a transcript or record live — Enagrams extracts decisions and action items, then generates scoped work packages that agents receive in their `sync` responses.

## Ingestion Methods

### Paste a Transcript

1. Go to **Dashboard → Meetings**
2. Click **New Meeting**
3. Paste the transcript text
4. Click **Ingest**

Enagrams extracts decisions and action items via LLM, then generates work packages.

### Live Recording (Whisper)

1. Click **Record Meeting** in the Meetings page
2. Allow microphone access
3. Browser captures audio via MediaRecorder and streams chunks every 5 seconds
4. Audio is transcribed by OpenAI Whisper in real-time
5. Click **Stop** — decisions and work packages are automatically generated

### API

```bash theme={null}
POST /meetings/ingest
Authorization: Bearer ek_...

{
  "workspace_id": "ws_...",
  "title": "Sprint Planning",
  "transcript": "Developer A: Let's use Zod for validation. Developer B: Agreed, and we need auth by Friday...",
  "participants": ["Developer A", "Developer B"]
}
```

## What Gets Extracted

**Decisions** — Architectural choices made in the meeting:

```json theme={null}
{
  "title": "Use Zod for validation",
  "rationale": "Type-safe, works with our TypeScript setup",
  "type": "architecture",
  "affected_files": ["src/validators/"],
  "affected_areas": ["validation"]
}
```

**Action items** — Tasks assigned during the meeting:

```json theme={null}
{
  "action": "Build user registration endpoint",
  "assignee": "Developer B",
  "priority": "high",
  "deadline": "2026-04-15"
}
```

**Work packages** — A second LLM pass divides decisions into non-overlapping, file-scoped work units:

```json theme={null}
{
  "title": "Implement Zod validation for auth routes",
  "description": "Add Zod schemas for login, register, and password reset",
  "files": ["src/auth/validators.ts", "src/auth/login.ts"],
  "decisions": ["dec_abc"],
  "assignee": "Developer B"
}
```

## Work Package Flow

```
Meeting ingested
  → Decisions extracted and stored
  → Work packages generated (non-overlapping file sets)
  → Team claims packages in dashboard

Developer B claims "Implement Zod validation"
  → Package status: Claimed → In Progress

Developer B's agent calls sync()
  → sync response includes: {
      "your_work": [{
        "title": "Implement Zod validation for auth routes",
        "files": ["src/auth/validators.ts", "src/auth/login.ts"],
        "decisions": [...]
      }]
    }
  → Agent knows exactly what to build, why, and which files to touch
```

## Meeting Status

| Status       | Description                           |
| ------------ | ------------------------------------- |
| `recording`  | Live recording in progress            |
| `processing` | LLM extraction running                |
| `completed`  | Decisions and work packages available |

## Viewing Meetings

Dashboard → Meetings shows all past meetings with:

* Participant list
* Extracted decisions count
* Work packages generated
* Full transcript
