Meeting
Create and manage team meetings, occurrences, check-ins, attendance history, and reminders.
📄️ Add a Meeting
Creates a recurring team meeting. Requires the `team:update` permission on the meeting team. When `downline` is true, active members of the team and its downline teams are included. A downline member can list, get, and check in to the meeting through their membership even when restricted team visibility prevents them from viewing the parent team itself. When false or omitted, only direct members of the meeting team are included.
📄️ Get a Meeting
Gets one meeting and its resolved team timezone. Current meeting members can read an active meeting; other callers need `team:list` on its team. Set `archived` to include an archived meeting. When `downline` is true, active members of the team and its downline teams are included. A downline member can list, get, and check in to the meeting through their membership even when restricted team visibility prevents them from viewing the parent team itself. When false or omitted, only direct members of the meeting team are included.
📄️ List Meetings
Lists meetings for a user or team. Omit `targetId` to use the authenticated user. Requires `team:list` on the target user, including the authenticated user, or on the target team. A user result includes meetings for their direct teams plus downline-enabled meetings from ancestor teams, including restricted parent teams the user cannot otherwise view. A team result lists meetings configured directly on it. Set `archived` to include archived meetings. When `downline` is true, active members of the team and its downline teams are included. A downline member can list, get, and check in to the meeting through their membership even when restricted team visibility prevents them from viewing the parent team itself. When false or omitted, only direct members of the meeting team are included.
📄️ Remove a Meeting
Archives a meeting by default. Send `archive: false` to permanently delete a meeting that has no attendance history. Requires `team:update` on the meeting team. Archiving preserves attendance history and allows a later restore through `/meeting/update`.
📄️ Update a Meeting
Replaces a meeting's configuration. Requires `team:update` on its current team and, when moving it, its new team. Schedule or eligibility changes are rejected while check-in is open. Omit `meetingUrl` to keep the saved link or send null to remove it. When `downline` is true, active members of the team and its downline teams are included. A downline member can list, get, and check in to the meeting through their membership even when restricted team visibility prevents them from viewing the parent team itself. When false or omitted, only direct members of the meeting team are included.
📄️ Respond to a Meeting
Checks the authenticated user in to an open meeting, or records that they are not attending. The user must be an eligible member: direct membership for a regular meeting, or membership in the team or any downline team when `downline` is true. This membership works even when restricted visibility prevents a downline member from viewing the parent team. A location is required when the meeting enforces a maximum distance. Omitting `meetingId` uses the legacy office check-in flow, which only accepts `response: 'checkin'`; prefer a meeting ID for configured meetings.
📄️ Get Meeting Attendance History
Returns attendance history for one meeting. `version` must be 2 and `meetingId` is required. The meeting must belong to the caller's company. Requires `team:list` on the meeting team unless `userId` is the authenticated user. With neither `teamId` nor `userId`, `teamHistory` contains each occurrence and its aggregate attendance; otherwise `attendance` contains eligible members per occurrence, filtered by the optional team or user. A team filter can name the meeting team or, when `downline` is true, one of its downline teams even if that team cannot view the parent team. The UTC epoch-millisecond range must span at least 24 hours; omitting it uses the last four weeks.
📄️ Nudge Meeting Members
Sends an on-demand reminder to eligible members who have not responded during the open check-in window. Omit `userIds` to target every pending member, or provide IDs to target a subset. Requires `team:update` on the meeting team. For a downline meeting, eligible members include the active downline members even when restricted visibility prevents them from viewing the parent team.
📄️ List Meeting Occurrences
Lists resolved occurrences whose final start is in the inclusive UTC epoch-millisecond range, including recurring occurrences, one-off overrides, and locked occurrences. The range can span at most 400 days. Current meeting members can read an active meeting; other callers need `team:list` on its team.
📄️ Remove a Meeting Occurrence Override
Deletes a one-off override so the occurrence follows the recurring schedule again. Requires `team:update` on the meeting team. It is rejected after the occurrence check-in window opens or when restoring the recurring time would put the occurrence in the past.
📄️ Update a Meeting Occurrence
Creates or changes a one-off override without changing the recurring schedule. Use `scheduled` with a new `scheduledStart` or duration to reschedule it, or `cancelled` to cancel it. Requires `team:update` on the meeting team and is rejected after the check-in window opens.