Recording Webhooks

Recording Status Webhook

This webhook is sent whenever the recording's status is changed and is delivered via Svix to the endpoints configured in your Recall dashboard.

{
  "event": "recording.processing", // recording.done, recording.failed, recording.deleted
  "data": {
    "data": {
      "code": string,
      "sub_code": string | null,
      "updated_at": string
    },
    "recording": {
      "id": string,
      "metadata": object
    },
    "bot": {
      "id": string,
      "metadata": object
    }
  }
}
EventDescription
recording.processingThe recording has started
recording.doneThe recording has successfully completed. All data for media objects on the recording is now available
recording.failedThe recording failed to be captured. The data.sub_code will contain machine readable code for the failure
recording.deletedThe recording has been deleted from Recall systems.

Media Object Status Webhook

This webhook is sent whenever the media object's status is changed and is delivered via Svix to the endpoints configured in your Recall dashboard. The following media object are supported

  • participant_events
  • transcript
  • video_mixed
  • video_separate
  • audio_mixed
  • audio_separate
  • meeting_metadata

Example structure:

{
  "event": "participant_events.processing",
  "data": {
    "data": {
      "code": string,
      "sub_code": string | null,
      "updated_at": string
    },
    "participant_events": {
      "id": string,
      "metadata": object,
    },
    "recording": {
      "id": string,
      "metadata": object
    },
    "bot": {
      "id": string,
      "metadata": object
    }
  }
}
EventDescription
participant_events.processingThe media object has started capturing
participant_events.doneThe media object has successfully completed. All data for media objects on the recording is now available
participant_events.failedThe media object failed to be captured. The data.sub_code will contain machine readable code for the failure
participant_events.deletedThe media object has been deleted from Recall systems.

Transcript Status Webhooks

{
  "event": "transcript.processing", // done, failed, deleted
  "data": {
    "data": {
      "code": string,
      "sub_code": string | null,
      "updated_at": string
    },
    "transcript": {
      "id": string,
      "metadata": object,
    },
    "recording": {
      "id": string,
      "metadata": object
    },
    "bot": {
      "id": string,
      "metadata": object
    }
  }
}
EventDescription
transcript.processingThe media object has started capturing
transcript.doneThe media object has successfully completed. All data for media objects on the recording is now available
transcript.failedThe media object failed to be captured. The data.sub_code will contain machine readable code for the failure. See below for list of sub codes
transcript.deletedThe media object has been deleted from Recall systems.

Transcript Failure Sub Codes

EventSub CodeReason
transcript.failedprovider_connection_failedRecall is not able to connect to the 3rd party transcription provider. Common reasons for these include:

- Insufficient funds in the transcription provider account for which the API key is provided
- Using paid features on a free account
- Temporary service unavailability from the transcription provider
transcript.failedzoom_global_captions_disabledMeeting captions are disabled by the Zoom account
transcript.failedzoom_host_disabled_meeting_captionsThe host of Zoom meeting has disabled meeting captions
transcript.failedzoom_captions_failureThere was an error in enabling meeting captions for the Zoom call