update_booking_link
Change one of the user's booking links (list_booking_links): title, minutes, description, days with from/to or ranges (only the days given change; no days: all its open days), tz, slug, location, notice, window, buffer, max_per_day, ends, questions, reminders, routines, account, hosts (a team link); active: true turns a disabled one back on (refused from an agent's own turn inside Caddie). Only what you give changes. A new title changes its URL unless its address was set by hand; the old one still leads there.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | bookable until, "HH:MM" in the link's timezone (tz) (default 17:00) | |
| tz | No | the timezone its hours are in, IANA ("Asia/Kolkata"); a new link's default is the user's. Changed, the hours keep their clock times in the new zone | |
| days | No | the days these hours are for, "mon"…"sun" (new link: default mon to fri; a change: only these days change, the others keep their hours) | |
| ends | No | YYYY-MM-DD: the last day it can be booked ("never" to remove) | |
| from | No | bookable from, "HH:MM" in the link's timezone (tz; a new link's is the user's) (default 09:00) | |
| link | Yes | which link: its title, its slug or its URL (list_booking_links) | |
| slug | No | the end of its URL (usecaddie.app/meet/<handle>/<slug>): letters, numbers and dashes; "" to follow the title again. The old address still leads there | |
| hosts | No | a team link: people from one of the user's workspaces host it. mode "any": a time shows when any one of them is free and the booking goes on that person's calendar, shared out evenly; "all": only when the user and every required person are free, all invited. everyone: the whole workspace, newcomers too; else people (names or emails). optional (mode all): invited, but their calendars don't decide the times. {"workspace": ""} makes it the user's alone again. Only what you give changes. From an agent's own turn inside Caddie it's refused: ask the user | |
| place | No | ||
| title | No | ||
| active | No | ||
| ranges | No | instead of from/to, for a split day: [["09:00","13:00"],["14:00","18:00"]] in the link's timezone (tz); [] makes those days unbookable | |
| account | No | which connected Google account's calendar bookings go on, by its email ("" for the first) | |
| minutes | No | how long a call is, 5 to 480 | |
| location | No | a Google Meet (default), a phone call, or a place (place: where) | |
| max_days | No | up to this many days ahead, 1 to 60 (default 30) | |
| questions | No | the booking form's own questions (name and email are always asked), in order; replaces them all ([] for none). Answers go on the calendar event | |
| reminders | No | reminder emails to the guest a day and an hour before; only what you give changes. *_subject and *_body replace Caddie's words ("" for Caddie's); {name}, {title}, {owner}, {when} and {place} are filled in | |
| description | No | a line or two shown on the booking page | |
| max_per_day | No | at most this many bookings a day (0: no limit) | |
| notice_hours | No | at least this many hours ahead (default 4) | |
| open_routines | No | routines or habits (names or ids, list_habits) people can book over; replaces the list ([] for none) | |
| block_routines | No | the user's routines and habits (lunch, gym, sleep) block bookings (default true) | |
| buffer_minutes | No | free time kept around each call |