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

# Rootly AI Meeting Scribe

> Rootly AI records, transcribes, and summarizes incident bridge calls across Zoom, Meet, Webex, Teams, and GoToMeeting — with built-in privacy protections.

## Overview

Rootly AI Meeting Scribe captures and preserves critical incident context that would otherwise live only in live bridge calls. When enabled, Meeting Scribe automatically joins incident bridge meetings to record, transcribe, and summarize discussions — making incident communication more accessible, auditable, and actionable.

By continuously capturing meeting context, Rootly AI Meeting Scribe ensures responders who join late, stakeholders who weren't on the call, and post-incident reviewers all have access to the same shared source of truth.

Meeting Scribe supports **Zoom, Google Meet, Webex, Microsoft Teams, and GoToMeeting**, and integrates directly with Incident Summarization, Incident Catchup, and retrospectives.

<Check>
  Once enabled, Rootly AI Meeting Scribe automatically joins incident bridges and captures transcripts and summaries.
</Check>

## Supported Platforms

Meeting Scribe supports the following virtual meeting platforms:

* **Zoom** (optional auto-join support)
* **Google Meet**
* **Webex**
* **Microsoft Teams**
* **GoToMeeting**

Each platform must be integrated with Rootly before Meeting Scribe can be used.

## Setup — Per Platform

Meeting Scribe piggybacks on your existing meeting-platform integration. Set up the platform first, then enable the scribe toggle. Each platform has its own quirks — the sections below cover what actually matters per platform.

<Frame>
  <img src="https://mintcdn.com/rootly/7ojKISea6oiQMk0o/images/ui/bot-1.webp?fit=max&auto=format&n=7ojKISea6oiQMk0o&q=85&s=640037feae64dea31f6fa536d83543e3" alt="Enable meeting transcript and summary" width="1632" height="190" data-path="images/ui/bot-1.webp" />
</Frame>

<Note>
  **Prefer the Rootly-generated meeting URL.** When an incident starts, Rootly creates the meeting room and pins the link at the top of the incident's Slack channel — the scribe is created automatically for that meeting.

  You *can* attach a different meeting URL to the incident later via the incident's integration-links panel (see [Updating incident integration links](/incidents/managing-incidents/updating-incident-integration-links)), and the scribe will attempt to join that one too. The Rootly-generated meeting is just the most reliable path — it's the one your Slack channel already surfaces to responders, and it avoids ambiguity about which meeting the scribe is scoped to.
</Note>

### Zoom

<Steps>
  <Step title="Install the Zoom integration">
    Follow [Zoom → Installation](/integrations/zoom/zoom#installation) to connect your Zoom account via OAuth.
  </Step>

  <Step title="Enable transcript and summary">
    Go to **Integrations → Zoom**, then toggle on **Meeting transcript and summary**.
  </Step>

  <Step title="Turn on Auto-join bot (recommended)">
    In the same settings pane, enable **Auto-join bot**. When on, the scribe joins Zoom meetings without waiting for a host to admit it — the biggest single reason bots miss incident calls.
  </Step>
</Steps>

Common Zoom-specific issues live at [Zoom Meeting Scribe Troubleshooting](/integrations/zoom/zoom#troubleshooting-meeting-scribe).

### Google Meet

<Steps>
  <Step title="Install the Google Meet integration">
    Follow [Google Meet → Installation](/integrations/google-meet/google-meet#installation). For production use, connect via a **Google Cloud Service Account** rather than personal OAuth — service accounts are stable across staff turnover and give the scribe reliable admission on organization-managed calls.
  </Step>

  <Step title="Enable transcript and summary">
    Go to **Integrations → Google Meet**, then toggle on **Meeting transcript and summary**.
  </Step>

  <Step title="Verify Google Workspace admin settings">
    A restrictive **Meet safety** policy in Google Workspace Admin can block the scribe from being admitted. See [Google Meet Troubleshooting](/integrations/google-meet/google-meet#google-workspace-meet-safety-settings-block-admission) for the exact settings to check.
  </Step>
</Steps>

### Microsoft Teams, Webex, GoToMeeting

Each platform's integration page walks through the connection flow. Once connected, enable Meeting Scribe under **Integrations → \[platform]** with **Meeting transcript and summary**.

* [**Microsoft Teams**](/integrations/microsoft-teams) — video meetings need the **separate** [Microsoft Teams Meeting integration](/integrations/microsoft-teams#microsoft-teams-meeting), not the main Teams integration. It's a distinct OAuth connection with its own permissions.
* [Webex](/integrations/webex/webex)
* [GoToMeeting](/integrations/go-to-meeting)

***

## Limitations & Bot Behavior

Real behaviors that come up during incidents. Knowing these ahead of time prevents "is this a bug?" questions mid-response.

<ParamField path="Waiting-room timeout" type="10 minutes">
  If the scribe is stuck in a waiting room (no one admits it), it leaves after **10 minutes**. **Reinvite it from the Meeting tab** if this happens. Enable **Auto-join bot** on Zoom or use a **Google service account** on Meet to avoid the waiting room in the first place.
</ParamField>

<ParamField path="Nobody-joined timeout" type="5 minutes">
  If the scribe joins successfully but no other participants show up, it leaves after **5 minutes**. Useful to know if you're testing — start the meeting *before* the bot is invited, or reinvite it once responders have joined.
</ParamField>

<ParamField path="Recording sessions per incident" type="up to 10 per platform">
  Each time the bot joins or rejoins, a new recording session is created. An incident can have up to ten sessions per platform. Useful when a bridge is interrupted or the bot has to rejoin after a disconnect.
</ParamField>

<ParamField path="Automatic retries">
  If the meeting hasn't started yet, the bot retries automatically for a short window before giving up. If the bot leaves for any other reason, it does **not** auto-rejoin — reinvite from the Meeting tab.
</ParamField>

<ParamField path="Monthly usage cap" type="per team">
  Teams have a per-month meeting recording cap. Once exceeded, new meetings won't be recorded until the cap resets or a Rootly admin raises the limit.
</ParamField>

<ParamField path="Personal-OAuth Google Meet fragility">
  Personal OAuth connections for Google Meet work for quick setup but are tied to one user's account. If that user leaves the organization or has their OAuth token expire, the scribe stops joining. **Prefer a service account** for production incident response.
</ParamField>

<ParamField path="Meeting URL matters">
  The scribe joins the meeting URL attached to the incident — the Rootly-generated one is created automatically; you can also attach a different meeting URL later via the incident's integration-links panel and the scribe will target that instead. Meeting URLs that aren't attached to any incident aren't picked up.
</ParamField>

## During Incident Bridges

Once admitted to the incident bridge, Meeting Scribe immediately begins capturing the call.

During the meeting, the bot will:

* Announce its presence to participants
* Begin **live transcription** in real time
* Record audio (and video when supported)
* Identify speakers in the transcript
* Stream transcription updates back to Rootly continuously
* Post **Slack notifications** to the incident channel when recording starts and when the transcript is ready

Live transcription is available during the meeting and is included in Rootly AI features such as [Incident Catchup](/ai/incident-catchup). This allows new responders to quickly understand what has already been discussed without interrupting the bridge.

<Frame>
  <img src="https://mintcdn.com/rootly/7ojKISea6oiQMk0o/images/ui/bot-2.webp?fit=max&auto=format&n=7ojKISea6oiQMk0o&q=85&s=ffaf1300e2d7b05fc31e865180a16f08" alt="Meeting Scribe recording and transcription" width="879" height="573" data-path="images/ui/bot-2.webp" />
</Frame>

## After the Incident

After the meeting ends and the incident is resolved, Meeting Scribe processes the captured data and updates the incident with:

* **Full meeting transcript** with speaker labels
* **Rootly AI meeting summary** highlighting key discussion points and decisions
* **Optional video recording**, when supported by the platform
* **Automatic PII redaction**, removing sensitive data such as emails, phone numbers, passwords, and personal identifiers

All artifacts are stored in the **Meeting** tab of the incident and are automatically incorporated into incident summaries, catchup responses, and retrospectives.

<Frame>
  <img src="https://mintcdn.com/rootly/7ojKISea6oiQMk0o/images/ui/bot-3.webp?fit=max&auto=format&n=7ojKISea6oiQMk0o&q=85&s=0d141ff0ea4f121f454217c85339a714" alt="Meeting transcript and summary in incident" width="1838" height="1218" data-path="images/ui/bot-3.webp" />
</Frame>

## How It Works

Meeting Scribe uses the Recall.ai platform to manage meeting participation, transcription, and post-meeting analysis.

When a meeting URL is added to an incident:

1. **Bot creation**<br />Rootly creates a Meeting Scribe bot scoped to the incident and team.
2. **Bot joins the meeting**<br />The bot joins automatically or waits for admission, depending on platform and settings.
3. **Live transcription & recording**<br />Real-time transcription is captured during the call, with speaker identification and word-level timing.
4. **Post-meeting analysis**<br />After the meeting ends, the bot:
   * Generates a full transcript
   * Produces a Rootly AI summary
   * Applies automatic PII redaction
   * Attaches recordings and artifacts to the incident
5. **Incident integration**<br />Meeting transcripts are included in Incident Summarization and Incident Catchup, ensuring meeting context is available across Rootly AI features.

The bot may automatically retry joining meetings in certain scenarios (for example, if the meeting has not started yet or the bot is waiting to be admitted), with safeguards in place to prevent excessive retries.

### Multilingual Support

Rootly's AI Scribe is able to transcribe conversations in 20+ languages. If you or your team do not typically work in English, **reach out to your Rootly account owner who can get you set up with multilingual support**.

The Rootly Scribe is able to auto-detect the spoken language of your call. Your transcription will be in the detected language, and accessible from the **Meeting** tab for the incident in the Rootly Web application for review.

## Recording Sessions

A single incident can have **multiple recording sessions** per platform—up to 10 sessions each. A recording session is created each time the bot joins or rejoins a call, which is distinct from the meeting itself. This is useful when:

* A bridge call is interrupted and the bot needs to rejoin
* The bot is removed and later reinvited to the same meeting
* The bot reconnects after a network disruption

Each session produces its own transcript, summary, and optional video recording. All sessions are displayed chronologically in the **Meeting** tab of the incident.

### Pause and resume

You can **pause** and **resume** a recording mid-call without ending the session. This is useful when sensitive topics arise that should not be captured. Pausing stops transcription and recording; resuming picks up where it left off within the same session.

### Reinviting the bot

If the bot leaves or is removed from a call, you can reinvite it from the **Meeting** tab. Reinviting creates a new session, preserving all prior session data.

<Tip>
  Recording sessions can also be managed programmatically via the Meeting Recordings API. Available operations include listing, creating, pausing, resuming, stopping, and deleting sessions.
</Tip>

## Privacy and Security

Meeting Scribe is built with strong privacy and security controls. Meeting data is used only to support your organization’s incident response workflows and is never shared across customers.

### Subprocessors

Meeting Scribe relies on the following third-party subprocessors to deliver recording, transcription, and analysis capabilities:

| Subprocessor                                         | Purpose                                                                                                           | Data processed                                    |
| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| [Recall.ai](https://recall.ai)                       | Meeting orchestration, recording capture, and platform connectivity                                               | Meeting audio/video streams, bot lifecycle events |
| [AssemblyAI](https://assemblyai.com) (via Recall.ai) | Speech-to-text transcription, summarization, PII redaction, and speaker identification                            | Meeting audio for transcription                   |
| [Amazon S3](https://aws.amazon.com/s3/)              | Encrypted storage of meeting video recordings                                                                     | Video files                                       |
| [OpenAI](https://openai.com)                         | Powers classic Rootly AI incident summarization using meeting transcripts ([learn more](/ai/data-privacy-for-ai)) | Redacted transcripts and summaries                |

<Note>
  All subprocessors are bound by data processing agreements. Data sent to subprocessors is used solely to provide Rootly services and is not used for model training.

  The table above covers Meeting Scribe only. For every subprocessor Rootly uses across the platform, see [Subprocessors](/configuration/subprocessors).
</Note>

### Data flow

1. **Recording** — When a meeting starts, Rootly dispatches a bot via Recall.ai to join the call on the configured platform (Zoom, Google Meet, Microsoft Teams, Webex, or GoToMeeting).
2. **Live transcription** — During the call, the bot streams real-time transcription back to Rootly. Live transcripts are used by features like [Incident Catchup](/ai/incident-catchup) to keep responders informed in real time.
3. **Post-meeting analysis** — After the meeting ends, the full recording is sent to AssemblyAI (through Recall.ai) for final transcription with automatic PII redaction, speaker labeling, and summarization. The PII-redacted transcript replaces the live version.
4. **Storage** — The redacted transcript and summary are stored in Rootly’s database. Video recordings are stored in Amazon S3 with encryption at rest.
5. **AI analysis** — Redacted transcripts feed into Rootly AI features such as Incident Summarization and Incident Catchup, processed via OpenAI under the same [data privacy safeguards](/ai/data-privacy-for-ai) as all other Rootly AI features.

### Automatic PII redaction

All transcripts are automatically processed through AssemblyAI’s PII redaction engine before storage. The following categories are redacted:

<AccordionGroup>
  <Accordion title="View all 36 PII redaction categories" icon="shield-halved">
    * Account numbers
    * Banking information
    * Blood type
    * Credit card CVV
    * Credit card expiration
    * Credit card numbers
    * Dates
    * Dates of birth
    * Driver’s license numbers
    * Drug references
    * Email addresses
    * Events
    * Gender and sexuality
    * Healthcare numbers
    * Injuries
    * IP addresses
    * Languages
    * Locations
    * Medical conditions
    * Medical processes
    * Money amounts
    * Nationalities
    * Number sequences
    * Occupations
    * Organizations
    * Passport numbers
    * Passwords
    * Person ages
    * Person names
    * Phone numbers
    * Political affiliations
    * Religions
    * URLs
    * US Social Security numbers
    * Usernames
    * Vehicle IDs
  </Accordion>
</AccordionGroup>

### Data retention and deletion

Meeting data retention varies by storage location. Third-party subprocessors (AssemblyAI, OpenAI) do not retain data after processing. Recall.ai retains media indefinitely by default, with a configurable retention window. Rootly-managed storage (Amazon S3, database) retains data under your organization’s control until explicitly deleted.

**Rootly-managed storage**

| Storage location    | What is stored                       | Default retention                          | Deletion                                                                                                                  |
| ------------------- | ------------------------------------ | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| **Amazon S3**       | Video recordings (encrypted at rest) | Retained until explicitly deleted by user  | Users can delete video files at any time via the Meeting tab or API. Deleted videos are removed from storage immediately. |
| **Rootly database** | Transcripts and summaries            | Retained with the incident, scoped to team | Deleted when the associated recording session is removed.                                                                 |

**Third-party subprocessors**

| Subprocessor                   | What is processed                        | Default retention                                                                                                                                    | Deletion                                                                                                                                                                                                                                                                                                                                    |
| ------------------------------ | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Recall.ai**                  | Meeting audio/video media                | **Unlimited** by default. Configurable via the Recall.ai retention API parameter.                                                                    | Media can be deleted at any time via the [Delete Bot Media](https://docs.recall.ai/reference/bot_delete_media_create) endpoint. Once explicitly deleted, data is permanently removed from Recall servers and cannot be recovered. See [Recall.ai Storage and Data Retention](https://docs.recall.ai/docs/storage-and-playback) for details. |
| **AssemblyAI** (via Recall.ai) | Meeting audio (for transcription)        | **Not retained after processing.** Audio is sent to AssemblyAI for transcription after the meeting ends and is not stored once processing completes. | AssemblyAI does not retain audio or transcript data after processing.                                                                                                                                                                                                                                                                       |
| **OpenAI**                     | Redacted transcripts (for summarization) | **Not retained after processing.** Data is processed and not stored by OpenAI. OpenAI does not use Rootly data for model training.                   | Covered by Rootly’s [zero-retention API agreement](/ai/data-privacy-for-ai). Organizations can also [bring their own OpenAI API key](https://rootly.com/account/integrations/open_ai_accounts/new) for additional control.                                                                                                                  |

<Tip>
  Recall.ai media retention is managed by Rootly on your behalf. Media is retained indefinitely by default. To adjust the retention window or request immediate deletion of media, contact your Rootly admin or reach out to [**support@rootly.com**](mailto:support@rootly.com).
</Tip>

### Security controls

* **Encryption at rest** for all stored transcripts, summaries, and video recordings
* **Webhook signature verification** (via Svix) ensures authenticity of all Recall.ai events
* **Encrypted credential storage** for all meeting platform OAuth tokens
* **Incident- and team-scoped access** — meeting data is only accessible within the associated incident and team
* **Audit logging** for credential changes and recording deletions
* **No cross-customer data sharing** — your meeting data is never used to improve results for other customers

## Usage Limits

Teams have monthly usage limits for meeting recording time. Usage is tracked automatically and applies across all supported platforms.

If a usage limit is exceeded, the bot will not join new meetings until usage resets or limits are increased. Your Rootly admin can review usage and limits if this occurs.

## Best Practices

* Prefer the Rootly-generated meeting URL pinned in the incident Slack channel — it's the most reliable path, though attaching a different meeting URL via the incident's integration-links panel also works
* Enable auto-join for Zoom when possible
* Admit the bot promptly when it requests access
* Monitor the **Meeting** tab for bot status and artifacts
* Use Incident Catchup to onboard late responders efficiently

## Troubleshooting

For platform-specific issues (bot won't join, admission problems, waiting-room behavior), see the dedicated troubleshooting pages:

<CardGroup cols={2}>
  <Card title="Zoom Troubleshooting" icon="video" href="/integrations/zoom/zoom#troubleshooting-meeting-scribe">
    Auto-join, waiting rooms, host controls, and Zoom-specific failure modes.
  </Card>

  <Card title="Google Meet Troubleshooting" icon="video" href="/integrations/google-meet/google-meet#troubleshooting">
    Service account setup, admin console settings, and admission failures.
  </Card>
</CardGroup>

### Common Issues

<AccordionGroup>
  <Accordion title="The bot isn't joining the meeting" icon="circle-question">
    Three things to check in order:

    1. **Meeting URL is attached to the incident** — the scribe joins the meeting URL attached to the incident. The pinned Rootly-generated link works out of the box; a manually-added URL only works if it's been attached via [Updating incident integration links](/incidents/managing-incidents/updating-incident-integration-links).
    2. **Toggle enabled** — go to **Integrations → \[platform]** and confirm **Meeting transcript and summary** is on.
    3. **Admission** — Zoom + Auto-join disabled or Google Meet without a service account both require a human to admit the bot. See the platform-specific troubleshooting pages linked above.
  </Accordion>

  <Accordion title="The bot joined but left before I did" icon="clock">
    Two possibilities:

    * **Waiting-room timeout (10 minutes).** No one admitted the scribe within 10 minutes and it left. Reinvite from the Meeting tab and admit it promptly, or enable Auto-join (Zoom) / use a service account (Google Meet) so admission isn't required.
    * **Nobody-joined timeout (5 minutes).** The bot got in but no responders joined within 5 minutes. Reinvite once your team is on the call.
  </Accordion>

  <Accordion title="No transcript or summary after the meeting" icon="circle-exclamation">
    Post-meeting processing takes a few minutes to complete after the call ends. Check the **Meeting** tab and refresh. If it's been more than 10 minutes with nothing, confirm the bot actually recorded (there should be a *Recording started* event in the incident timeline).
  </Accordion>

  <Accordion title="Bot joins the wrong meeting" icon="triangle-exclamation">
    You're likely using a meeting URL that wasn't generated by Rootly for this incident. The scribe is scoped to the Rootly-created meeting — reusing a personal meeting room or a manually-generated link won't be tied to the incident. Start a fresh meeting from the incident's Slack channel and reinvite the scribe.
  </Accordion>

  <Accordion title="Usage limit error" icon="gauge-simple-high">
    Your team has exceeded its monthly meeting recording cap. Contact your Rootly admin to review usage or raise the limit.
  </Accordion>

  <Accordion title="Data retention questions" icon="database">
    Retention varies by storage location. Third-party subprocessors (AssemblyAI, OpenAI) don't retain data after processing. Recall.ai retains media indefinitely by default. Rootly-managed storage retains data until explicitly deleted. See [Data retention and deletion](#data-retention-and-deletion) for the full breakdown.
  </Accordion>

  <Accordion title="How do I delete meeting data?" icon="trash">
    Video recordings can be deleted from the Meeting tab or via API, and Recall.ai media can be deleted at any time. AssemblyAI and OpenAI don't retain data after processing. Deleting a recording session in Rootly also removes associated transcripts and summaries.
  </Accordion>
</AccordionGroup>
