Reschedule meeting
reschedule_meetingMove an ALREADY-CONFIRMED (booked) meeting to a new time, in place. The existing calendar event is patched to the new time — SAME event, SAME video call link, SAME attendees, same calendar invite (no new invite, no new link). The invitee gets a "your meeting moved to {new time}" email. This is the answer to "move my 2pm to Thursday" / "push the Acme call an hour."
Use this ONLY for a confirmed meeting. For a meeting still awaiting the invitee's pick (not yet booked), there's nothing to move — cancel it and propose new times instead (the tool returns a clear not_confirmed error in that case).
new_start is an ISO 8601 instant. Get a valid time from find_times first when you need to check the host's calendar — but you can also pass a specific time the user named. Duration is preserved from the current booking unless you pass new_duration_min. The new time is freebusy-checked against every host (the move is refused if a host is busy then); the host's own saved workday / buffers / minimum-notice are NOT re-applied — the host is the authority over their own meeting.
Confirm the new time with the user before calling (it edits a live calendar event and emails the invitee). Returns the meeting's full state + the new when-label + the video call link. Reschedule is host-driven only; the invitee doesn't re-pick.
When to use: Move an already-booked meeting to a new time without re-doing anything. The same calendar event is edited in place — same video call link, same attendees, same invite — and the invitee gets a "moved to {new time}" note. Only for confirmed meetings; for one still awaiting a pick, cancel and propose again instead. The new time is freebusy-checked against every host.
Example: Move my 2pm with Sara to Thursday at the same time.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| new_start | Yes | ISO 8601 start of the new time (e.g. a find_times slot's starts_at, or a specific time the user named). Must be in the future and different from the current start. | |
| meeting_id | Yes | The confirmed meeting's id, from search_records or get_record. | |
| new_duration_min | No | Optional new duration in minutes. Omit to keep the meeting's current length. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | ||
| note | No | ||
| slots | No | ||
| meeting | No | ||
| guidance | No | ||
| meet_link | No | ||
| timed_out | No | ||
| meeting_id | No | ||
| rescheduled | No | ||
| new_when_label | No | ||
| co_host_repair_needed | No |