Summary
Build a client.shifts helper + MCP tools covering Front's shift /
on-call schedule surface (10 endpoints).
Status
Deferred — filed as part of the #16 workspace-admin partition.
Schedule management is admin work. Pick up when a concrete agent use
case appears — likely "is teammate X on call right now?" or
"who's on call for inbox Y?" — rather than admin-side shift creation.
Scope
- Generated modules under
frontapp_public_api_client/api/shifts/:
- Reads:
list_shifts / list_team_shifts / list_teammate_shifts /
list_shifts_teammates / get_shift
- Mutations:
create_shift / create_team_shift /
update_shift / add_teammates_to_shift /
remove_teammates_from_shift
- New
helpers/shifts.py + client.shifts lazy property.
- MCP tools — reads + mutation tools with
confirm_or_preview.
A who_is_on_call(inbox_id) tool is the concrete agent value — open
question whether to expose the raw shift catalog or only the
derived "who's on call right now" lookup.
- Tests + docs.
Umbrella
Part of #16 (workspace admin partition). Tier 3.
Summary
Build a
client.shiftshelper + MCP tools covering Front's shift /on-call schedule surface (10 endpoints).
Status
Deferred — filed as part of the #16 workspace-admin partition.
Schedule management is admin work. Pick up when a concrete agent use
case appears — likely "is teammate X on call right now?" or
"who's on call for inbox Y?" — rather than admin-side shift creation.
Scope
frontapp_public_api_client/api/shifts/:list_shifts/list_team_shifts/list_teammate_shifts/list_shifts_teammates/get_shiftcreate_shift/create_team_shift/update_shift/add_teammates_to_shift/remove_teammates_from_shifthelpers/shifts.py+client.shiftslazy property.confirm_or_preview.A
who_is_on_call(inbox_id)tool is the concrete agent value — openquestion whether to expose the raw shift catalog or only the
derived "who's on call right now" lookup.
Umbrella
Part of #16 (workspace admin partition). Tier 3.