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

# Bot Controls

> Pause, resume, and kick your meeting bot during a live call.

## Overview

When an Ospri bot is actively in a meeting, you have real-time control over its recording. Each user controls their own bot independently — if three team members are in the same meeting, each has their own bot and can only control theirs.

## Available Controls

### Pause Recording

Temporarily stops the bot from recording. The bot remains in the meeting but does not capture audio or video.

**Use cases:** Sensitive discussions, off-the-record conversations, bathroom breaks.

<Steps>
  <Step title="Find the live meeting">
    Go to the **Upcoming** tab and find the meeting marked with a red **LIVE NOW** badge.
  </Step>

  <Step title="Click Pause">
    Click the **Pause** button on the event card.
  </Step>

  <Step title="Confirm status change">
    The meeting status changes to **Paused** (amber pulsing badge). A toast confirms: "Recording paused"
  </Step>
</Steps>

### Resume Recording

Restarts recording after a pause.

1. On the paused event card, click **Resume**
2. Recording continues from where it left off
3. Status changes back to **Recording** (red pulsing badge)
4. Toast confirms: "Recording resumed"

### Kick Bot

Removes the bot from the meeting entirely. The bot leaves the call and the recording is finalized.

1. Click the **Kick** button on the event card (or in the Recordings tab for live meetings)
2. The bot immediately leaves the meeting
3. Status changes to **Kicked** (orange badge)
4. Toast confirms: "Bot removed from meeting"

<Warning>
  Kicking a bot is permanent for that meeting session. The bot will not rejoin. The recording up to the kick point is preserved. If you want to temporarily stop recording, use **Pause** instead.
</Warning>

## In-Meeting Chat Controls

Meeting participants can also control the bot by typing commands in the video call's chat (e.g., the Microsoft Teams meeting chat):

| Command  | Action                          |
| -------- | ------------------------------- |
| `pause`  | Pause recording                 |
| `resume` | Resume recording                |
| `stop`   | Remove the bot from the meeting |
| `leave`  | Remove the bot from the meeting |

You can optionally prefix with `@ospri` (e.g., `@ospri pause`). The bot's webhook handler processes these chat messages and executes the corresponding action.

## Bot Chat Greeting

When the bot joins a meeting, it automatically sends a greeting message in the meeting chat:

> "Hi! I am your Ospri Notetaker. I will be capturing notes for this meeting. Type pause to pause recording or leave to remove me."

The bot name in the greeting matches your configured bot name from Bot Settings.

## Automatic Leave Behavior

Bots are configured to automatically leave under these conditions:

| Condition            | Timeout    | Description                                                      |
| -------------------- | ---------- | ---------------------------------------------------------------- |
| **Everyone left**    | 30 seconds | After all human participants leave the meeting                   |
| **No one joined**    | 5 minutes  | If no participants join within 5 minutes of the bot entering     |
| **Waiting room**     | 10 minutes | If the bot is stuck in the waiting room                          |
| **Silence detected** | 2 minutes  | After 2 minutes of silence (activates 1 minute into the meeting) |
| **Only bots remain** | 2 minutes  | If only bots (no humans) are detected in the meeting             |

These timeouts ensure bots do not linger in empty meetings and consume unnecessary resources.

## Bot Settings

To customize your bot name:

<Steps>
  <Step title="Click Bot Settings">
    Click the gear icon in the Meetings header.
  </Step>

  <Step title="Set your bot name">
    Enter your preferred bot name. Default is "Ospri Notetaker (Your Name)".
  </Step>

  <Step title="Save">
    Click save. Toast confirms: "Bot preferences saved"
  </Step>
</Steps>

Your bot name is stored in your `profiles` table and used for all future meetings. Each team member can have a different bot name.

## Per-User Bots

Ospri Brain uses a **per-user bot** model:

* Each team member with a connected calendar gets their own bot
* If Alex, Jeremy, and Steve are all in the same meeting, each can have their own bot
* Each person can only pause, resume, or kick their own bot
* A **deduplication key** prevents the same user from having multiple bots in the same meeting

<Info>
  Admin users can kick any bot, not just their own.
</Info>

## Add Bot Manually

For ad-hoc recording without calendar sync:

<Steps>
  <Step title="Click Add Bot">
    Click the robot icon in the Meetings header.
  </Step>

  <Step title="Paste meeting URL">
    Enter a Teams, Zoom, or Google Meet link in the dialog.
  </Step>

  <Step title="Send Bot">
    Click **Send Bot**. The bot joins within seconds. Toast confirms: "Bot joining meeting"
  </Step>
</Steps>

The dialog accepts any valid video meeting URL. If the URL is invalid or the bot pool is at capacity, you will see an error message.
