setMeetingSessionData({ data }, 'replace' | 'shallow-merge')


Allows you to set arbitrary data on a meeting that is synced to all participants.

By default, calling setMeetingSessionData() will "replace" the existing meeting session data. Specifying "shallow-merge" will allow for a shallow merge of the newly provided data with the existing data.

Example usage of "replace":

Example usage of "shallow-merge":

Note: these examples illustrate how the mechanisms of "replace" and "shallow-merge" work. These examples are not illustrative of the timing between calls. Meeting session data can take an unspecified amount of time to update, which is why we recommend that you listen to "meeting-session-state-updated" for changes in meeting session data.

The data argument should be a map-like Javascript object that:

  • is serializable to JSON
  • has a max payload size of 100KB
  • can be shallow merged

The rate of syncing data to and from clients is limited, so this system is not suited for high traffic real-time use cases where sub-second interactions matter. Current rate limits make it so that you should not expect updates more than once per second.

Calls to setMeetingSessionData() that occur more frequently than every second are not dropped, they are simply batched and synced later. Note that since rate limiting occurs both client- and server-side, if multiple clients are making "replace" updates (or "shallow-merge" updates acting on the same keys) in rapid succession, precise ordering of those updates is not guaranteed.

There is no value returned as a result of calling this method. If you want to know when meeting session data has updated, you can listen to the "meeting-session-state-updated" event or periodically check meetingSessionState().