Skip to main content
Use this guide to move from the legacy event system to the current Embedded API event format.
Due by 2026-08-20. Legacy events are still dispatched for backward compatibility, but support ends on this date. Migrate to the new event format now and track timing in Scheduled Deprecations.

Overview

The legacy event system uses the CORTI_EMBEDDED_EVENT wrapper format with camelCase event names. These events are still sent alongside the new dot-notation events, but support will be removed in a future release.

Reference

Event wrapper differences

The wrapper type stays the same, but the event name and payload contract change.

Legacy event structure

All legacy events follow this structure:

New event structure

The new event format uses dot-notation event names and includes a confidential field:

Mapping from legacy event names

Migration path

1

Replace legacy event names

Update your event subscriptions from camelCase names to the current dot-notation names, for example recordingStarted to recording.started.
2

Adapt to the current event shape

Handle the confidential field and update any payload parsing to match the current event reference pages.
3

Remove legacy-only checks

Remove logic that depends on deprecated: true and stop relying on the legacy event variants during the migration window.
The CORTI_EMBEDDED_EVENT type wrapper remains the same in both legacy and new formats. You still check for event.data?.type === 'CORTI_EMBEDDED_EVENT'.Only the event names and payload structures have changed.
You can use the deprecated: true field to programmatically detect and log warnings for legacy events in your integration, helping you track migration progress.

Before and after examples

ready

Emitted when the embedded app is loaded and ready to receive messages.
Replacement: Use embedded.ready instead.
Before
After

loaded

Emitted when navigation to a specific path has completed.
Replacement: Use interaction.loaded instead.
Before
After

recordingStarted

Emitted when recording has started.
Replacement: Use recording.started instead.
Before
After

recordingStopped

Emitted when recording has stopped.
Replacement: Use recording.stopped instead.
Before
After

documentGenerated

Emitted when a document has been generated.
Replacement: Use document.generated instead.
Before
After

documentUpdated

Emitted when a document has been updated.
Replacement: Use document.updated instead.
Before
After

documentSynced

Emitted when a document has been synced to EHR.
Replacement: Use document.synced instead.
Before
After

usage

Emitted when credits have been consumed because of either of these triggers:
  • Ending/pausing a recording: credits consumed for transcription and fact extraction
  • Ending dictation: credits consumed for transcription
  • Generating a document: credits consumed for text generation
This value is not accumulative and only refers to the latest trigger. Replacement: Use account.creditsConsumed instead.
Before
After

Listening for legacy events

Timeline

  • Current: Both legacy and new events are dispatched during the migration window
  • Future: Legacy event support ends on 2026-08-20
  • Action required: Migrate to the new event format before the deadline

Current Event Reference

Review the current Embedded API event names, payloads, and generated reference pages.

Scheduled Deprecations

Check rollout timing and upcoming shutdown dates for embedded changes.

Corti Assistant Release Notes

Follow release announcements related to Embedded API changes and migrations.