assign_staff_locations
ChatGPTUse this when an owner or admin asks to assign locations. Pass current expectedLocationIds and the complete desired list. Empty removes assignments.
create_move
ChatGPTUse this when the user clearly asks to create, save, or add one move to an authorized ReformCue library. This tool creates one private move, verifies it, and never overwrites or publishes an existing move. Preview, draft, suggest, and review requests are not authorization to save.
create_routine
ChatGPTUse this when presenting a routine preview or creating a routine. Set mode=preview for preview, draft, suggest, and review requests: it checks authorized moves and exact timing without writing any records. Set mode=save only when the user asks to create, save, or add a routine: it validates, saves atomically, verifies persistence, and returns a direct account link. If rejected, fix the returned errors and retry; no routine was saved. Never present an unvalidated generated routine as an exact-duration plan.
create_staff_note
ChatGPTUse this when an owner or admin asks to create a staff note. Saves Markdown with category, pin and location audience. Optional notifications use APNs; notify only when explicitly requested. Inspect notes after an uncertain response.
create_studio_announcement
ChatGPTUse this only when an owner or admin explicitly asks to announce something to staff. Audience IDs come from studio context; sending may notify recipients through APNs immediately or at scheduledAt. Inspect existing announcements after an uncertain response.
delete_staff_note
ChatGPTUse this when an owner or admin explicitly asks to delete one note. Read its version first; deletion cleans up its images, comments and receipts.
delete_studio_announcement
ChatGPTUse this when a studio owner explicitly asks to remove an announcement. Read its updatedAt first. Admins cannot delete announcements.
delete_studio_calendar_event
ChatGPTUse this when an owner or admin explicitly asks to delete a non-class calendar event after reading its updatedAt. Classes must be edited in the class schedule.
delete_studio_chat_message
ChatGPTUse this when the user explicitly asks to delete one message in an authorized channel. Instructors can delete only their own messages.
get_moves
ChatGPTUse this when the model needs moves from an authorized ReformCue library to build or validate a routine.
get_reformcue_context
ChatGPTUse this when beginning a ReformCue routine workflow or when the target personal or Studio library and permissions are not yet known.
get_routine
ChatGPTUse this when the user references a specific previous routine or the model needs its detailed structure before creating a related routine.
get_routine_style_profile
ChatGPTUse this when the user asks for a routine based on their usual, recent, named, or Studio programming style.
get_routines
ChatGPTUse this when the user or model needs to find prior ReformCue routines by name, folder, date, duration, kind, difficulty, or library.
get_staff_note
ChatGPTUse this when the user needs one specific staff note or before editing it. Returns Markdown, embedded image URLs, acknowledgement status and current version, subject to permissions.
get_staff_note_activity
ChatGPTUse this when the user asks to view replies/comments or acknowledgement receipts for one authorized staff note. Returns the latest 200 replies in chronological order with body, author and createdAt (Unix milliseconds). Instructors see replies; managers also see receipts.
get_studio_announcement
ChatGPTUse this when reading one authorized announcement or before editing it. Returns its full content, audience and updatedAt.
get_studio_calendar
ChatGPTUse this when reading a studio month of events and class records, including Walla links. Events include date/endDate (YYYY-MM-DD), local startTime/endTime (24-hour HH:mm), timeZone and isAllDay. Classes include startAt/endAt and updatedAt in Unix milliseconds and unconfirmed-time flags. Classes include a one-day UTC boundary margin; recurring classes are not expanded.
get_studio_chat_messages
ChatGPTUse this when the user asks to read recent messages in an authorized channel. Messages include createdAt in Unix milliseconds. Use groupId for a private group, locationId for a location, or omit both for Everyone; use before for older pages.
get_studio_context
ChatGPTUse this when starting studio work to identify the signed-in studio, role, permission flags, locations and manageable staff. Excludes emails, invite codes and billing details.
import_studio_calendar
ChatGPTUse this when an owner or admin explicitly asks to import reviewed events into their studio calendar. Creates new source keys or updates existing ones; may replace imported event fields and linked class records. Requires updatedAt for every existing sourceKey from a fresh calendar read; omit new keys from expectedExisting. Walla class links may trigger public Walla location lookup. Does not notify staff. Inspect the calendar before retrying an uncertain import.
list_staff_notes
ChatGPTUse this when finding staff notes by title or category. Returns bounded metadata, never note bodies or passwords; pinned notes appear first.
list_studio_announcements
ChatGPTUse this when finding recent announcements and their audience without loading every announcement body.
list_studio_chat_channels
ChatGPTUse this when finding Everyone, authorized location channels or private groups. Returns channel IDs, unread counts and recent message previews.
preview_studio_calendar_import
ChatGPTUse this when an owner or admin asks to preview pasted monthly studio calendar text. Returns parsed events and warnings without saving or notifying anyone. Inspect ambiguous times and Walla class links before importing reviewed events.
save_studio_calendar_event
ChatGPTUse this when an owner or admin asks to create or edit one studio calendar item. Set type=event for a dated event or type=class for a class, whether or not it has a Walla link. Category is an optional event subtype; omit it for classes. Pass all other fields; edits require itemId and expectedUpdatedAt from get_studio_calendar. Classes need a start time. Walla links may trigger public location lookup; optional notifications use APNs. Notify only on explicit request.
send_studio_chat_message
ChatGPTUse this only when the user explicitly asks to post a message to a studio chat channel. Use the selected channel's groupId or locationId from list_studio_chat_channels; omit both only for Everyone. This may notify staff through APNs; inspect messages after an uncertain response.
update_staff_note
ChatGPTUse this when an owner or admin asks to edit a note. Pass the latest version and only changed fields. Omitted fields and image references are preserved. Optional notifications use APNs. Conflicts require rereading.
update_studio_announcement
ChatGPTUse this only when an owner or admin explicitly asks to edit an announcement. Read its latest updatedAt first and pass changed fields only. Edits may change or resend APNs notifications.