Recording control for meeting bots

Learn how to start, stop, pause, and resume meeting bot recordings, including how each action affects media, transcription, and participant events.

A recording groups captured conversation data, such as audio, video, transcripts, participant events, and other data captured in a meeting. Its configuration determines which outputs and real-time events are enabled.

A bot will join a call and start recording automatically by default. That said, recording controls let you decide when to capture data and whether to continue an existing recording or create a new one. Meeting bots allow four actions which are Start Recording, Stop Recording, Pause Recording, and Resume Recording.

While the bot remains in the meeting, pausing or stopping recording changes its status to in_call_not_recording. Once recording starts or resumes, its status changes to in_call_recording. Monitor bot status events to track these changes.

Start & Stop Recording

Start Recording and Stop Recording define the beginning and end of a recording. Each new recording is separate and has its own recording ID.

How it works

  • Start Recording creates a new recording using the settings in the request body. Settings are not inherited from the previous recording.
  • Stop Recording ends capture for the current recording, including new audio/video, transcription input, and participant events. Previously captured data can finish processing afterward.

A stopped recording cannot be resumed. To capture more data afterward, use Start Recording to begin a new recording. Both sequences below create two sepa

rate recordings:

  • Start Recording → Stop Recording → Start Recording
  • Start Recording → Start Recording
📘

Calling Start Recording when the recording is not stopped

Calling Start Recording while a recording is active or paused ends the current recording and creates a new one. Use recording and bot status events to confirm that recording has begun.

When to use it

Use Start Recording and Stop Recording for use cases such as:

  • User-controlled recording: Let users select “Record” to begin recording and “Stop” to finish.
  • Recording a specific segment: Capture a presentation, product demo, or interview without recording the rest of the conversation.
  • Creating separate recordings: Stop between agenda items and start again for the next topic so each topic has its own recording.

Manually start recording

With manual recording, the bot joins the meeting without starting a recording. Your application decides when recording begins. To start recording manually:

  1. Set recording_config: null in your Create Bot request. The bot can join the meeting without starting a recording.
  2. After the bot joins, call Start Recording with the recording settings you want to use.
  3. Call Stop Recording when you have captured what you need.

Until a recording starts, there are no recording-based audio, video, transcript, or participant-event streams. Joining the meeting or receiving recording permission does not enable a missing recording configuration.

The configured start_recording_on condition also applies when you call Start Recording. Monitor bot status events for bot.in_call_recording to confirm that recording has started.

⚠️

No recording data is captured until recording starts

When no recording exists - including after Stop Recording or when a bot joins with recording_config: null- Recall does not capture, store, or deliver new recording data. This includes all Recordings and Media data (e.g., audio, video, transcription input, participant events, chat messages).

Call Start Recording with the desired configuration to begin capturing data. Events that occur while recording is stopped or not configured are not recorded for later delivery.

Bot lifecycle webhooks continue. Stopping does not delete previously captured data, which may still finish processing and be delivered afterward.

Pause & Resume Recording

Pause Recording and Resume Recording let you temporarily suspend audio/video/transcript capture and continue the same recording later. The recording keeps its ID and configuration.

How it works

  • Pause Recording pauses new audio/video capture and real-time transcription of new meeting content. Configured participant events continue while paused.
  • Resume Recording continues the same recording with its existing settings and real-time endpoints.

Resume Recording does not create a recording or enable data types that were not configured. It applies only to an existing paused recording. For example Pause → Resume resumes the original recording.

The paused interval remains on the recording timeline. In standard mixed recordings, it appears as silence and black video. Transcript timestamps stay aligned with that timeline. If you remove the paused interval from the media afterward, adjust the transcript timestamps accordingly.

When to use it

Use Pause Recording and Resume Recording for use cases such as:

  • Taking a break: Pause during a break and resume afterward, keeping the recorded portions together in one recording.
  • Keeping participant events active: Pause new audio/video capture and transcription while continuing to receive configured participant events, such as joins, leaves, and chat messages where supported.
  • Temporarily excluding audio/video: Pause before a section you do not want to record (e.g., sharing sensitive info), then resume afterward. Configured participant and chat events continue.

Recording state and event delivery

The table below describes new data captured by a recording. Event availability and delivery depend on the supported events, recording settings, and endpoint subscriptions.

StateNew audio/video and transcription inputParticipant and chat events
RecordingCaptured as configuredCaptured and delivered as configured
PausedNo new meeting audio/video or transcription inputContinue as configured
StoppedNot capturedNo new events captured by that recording
Created with recording_config: null, before any recording startsNot capturedNo recording-based event stream

There are a few things to note about pausing or stopping a recording:

📘

Previously captured media, delayed transcription results, and queued or retried events may still be processed and delivered after pausing or stopping. In standard mixed recordings, paused intervals contain silence and black video.

While paused, no new meeting audio is captured or sent for transcription. Transcription of audio captured before the pause may finish afterward.

FAQs

Why is there a silent black screen in my recording?

The paused interval remains in the recording as elapsed time. In standard mixed recordings, this appears as silence and black video.

How do transcript timestamps align after pausing and resuming?

Transcript timestamps include the paused interval and stay aligned with the recording. If you remove that interval from the media, adjust the transcript timestamps accordingly.

What is the difference between pausing and stopping a recording?

  • Paused: New meeting audio/video capture and transcription input are paused. Configured participant events, including chat messages, continue to be captured and delivered.
  • Stopped or no recording configured: No new meeting media, transcription input, or participant events are captured for recording or real-time delivery. This includes bots created with recording_config: null before Start Recording is called.

Pausing or stopping does not remove the bot from the meeting. Applicable bot lifecycle webhooks continue, and automatic-leave rules still apply.

Previously accepted data may still be processed and delivered after pausing or stopping. Paused media outputs may contain silence or black/fallback frames.


Did this page help you?