create_events
ChatGPTAdd one or more events to a page or planner. For an all day event set isAllDay and give startDate. For a timed event give startDate and startTime, and a time zone if it differs from the calendar's own. Events carry canEdit. When it is false the event is a read only copy and the write will be refused, and readOnlyReason says which kind: synced_from_connected_calendar means it belongs to a calendar the user connected, shared_from_another_calendar means another calendar owns it. Check canEdit before offering to change an event, and tell the user where the change has to be made instead.
delete_event
ChatGPTPermanently remove an event from a page or planner. This cannot be undone.
get_calendar
ChatGPTGet the details of one Agenda Hero calendar by id: its title, kind (page or planner), time zone, editUrl (where the user edits it in Agenda Hero, or views it when it is private), publicUrl (null when it is not published), and its categories, labels, and whoLabels, which name the metadata on its events. canEdit says whether this connection can change the calendar's events; update_event's metadata needs it, and accepts only these categories and labels.
get_event
ChatGPTGet one event on a page or planner by its id. Events hidden on this calendar are left out, and so is a repeating event with no occurrence left to show. Otherwise a repeating event can skip single occurrences, because they were hidden or removed from the series: hiddenDates lists their dates, and those occurrences are not on the calendar either, so leave them out too. Events carry canEdit. When it is false the event is a read only copy and the write will be refused, and readOnlyReason says which kind: synced_from_connected_calendar means it belongs to a calendar the user connected, shared_from_another_calendar means another calendar owns it. Check canEdit before offering to change an event, and tell the user where the change has to be made instead. Each event also carries metadata: this calendar's category, labels, whoLabels, and notes for it. Change them with update_event's metadata, which needs edit access to the calendar (get_calendar's canEdit). shaded says whether the event is shaded on this calendar, the way the app marks a day off such as a holiday. emoji is the emoji shown with the event on this calendar, or null when it has none. shortTitle is the shorter title shown where space is tight, or null when the full title is shown everywhere.
list_calendars
ChatGPTList the Agenda Hero calendars this user can open, across every organization they belong to. A calendar is a page or a planner. Returns the id, title, kind, and time zone of each, plus editUrl (where the user edits it in Agenda Hero, or views it when it is private) and publicUrl (the shareable page anyone can view, or null when it is not published). Use the id with the event tools.
list_events
ChatGPTList the events on one page or planner. startDate and endDate select by overlap, so a repeating event that spans the window is included even when it did not begin inside it. Dates are YYYY-MM-DD. Events hidden on this calendar are left out, and so is a repeating event with no occurrence left to show. Otherwise a repeating event can skip single occurrences, because they were hidden or removed from the series: hiddenDates lists their dates, and those occurrences are not on the calendar either, so leave them out too. Events carry canEdit. When it is false the event is a read only copy and the write will be refused, and readOnlyReason says which kind: synced_from_connected_calendar means it belongs to a calendar the user connected, shared_from_another_calendar means another calendar owns it. Check canEdit before offering to change an event, and tell the user where the change has to be made instead. Each event also carries metadata: this calendar's category, labels, whoLabels, and notes for it. Change them with update_event's metadata, which needs edit access to the calendar (get_calendar's canEdit). shaded says whether the event is shaded on this calendar, the way the app marks a day off such as a holiday. emoji is the emoji shown with the event on this calendar, or null when it has none. shortTitle is the shorter title shown where space is tight, or null when the full title is shown everywhere.
update_event
ChatGPTChange an existing event on a page or planner. Only the fields given are changed; everything else keeps its current value. Events carry canEdit. When it is false the event is a read only copy and the write will be refused, and readOnlyReason says which kind: synced_from_connected_calendar means it belongs to a calendar the user connected, shared_from_another_calendar means another calendar owns it. Check canEdit before offering to change an event, and tell the user where the change has to be made instead. The exceptions are shaded, emoji, and metadata (this calendar's category, labels, whoLabels, and notes for the event), which can be changed even when canEdit is false, as long as nothing else is being changed in the same call. Use get_calendar for the categories and labels a calendar has.