Skip to main content
Two objects decide what happens in a meeting. Settings hold values: record or not, how the bot records, the transcription language, the summary, the branding. Assignments say where they apply: a scope, a list of conditions that must all hold. Every workspace, member and meeting carries the result as its settings block.

Scopes

A condition is <kind>:<name>. A scope names exactly one who, a workspace or a member, and may add a meeting category. A meeting condition stands alone: it implies its workspace. What you want, as scopes: A category carries only recording: { enabled: true }. With only a workspace or member condition, recording.enabled: true records every meeting. Coming later, answered 422 not_supported for now: several categories in one scope (“external meetings I organize”), series: for every occurrence of a recurring meeting, one settings object reused across workspaces, and named settings.

Set them

A member who has no settings of their own gets them in one call:
The workspace always has settings, and so does a member once they have any: a POST for them answers 409 scope_taken naming the assignment. Read the object’s settings.assignments, take the one with own: true, and change its settings:
Record one more category with the settings that already record the others:
Delete the assignment to stop recording that category. Upcoming meetings are re-evaluated after every change, and each one that changes sends meeting.updated.

Values and codes

A field is a value or a code, never null (422 invalid): Writing inherit is not supported yet, except recording.enabled: "inherit" on a meeting’s settings, which gives the meeting back to its member’s and workspace’s rules.

Which setting wins

For each field of a meeting, the most specific assignment that sets it:
  1. meeting:
  2. member: with a category
  3. member:
  4. workspace: with a category
  5. workspace:
  6. MeetingKit’s default.
A member’s settings start as a copy of the workspace’s when the member is set up, and are their own from then on: changing the workspace’s later reaches members without settings of their own, not the others. Set the company defaults before you create members. The settings block on the meeting says what applies and, in sources, which assignment supplied each field. When none did, reason says why: no_meeting_url, unsupported_platform, member_paused and bot_cancelled for recording, and happyscribe_default.