Перейти к документации
MCP-сервер

Календарь

События и приглашения.

Инструменты календаря

ИнструментЧто делает
listCalendarEventsКаждое вхождение между двумя моментами, повторяющееся событие по разу на каждое повторение, с местом, статусом и вашим ответом.
getCalendarEventОдно событие целиком, по id или по threadId разговора, где пришло его приглашение: участники и их ответы, как оно повторяется и его напоминания.
createCalendarEventДобавить событие в календарь и пригласить участников с адреса, с которого вам разрешено отправлять. В чате приложения сначала спрашивает, если вы сами об этом не просили.
updateCalendarEventИзменить событие, которое вы организуете, и отправить обновление всем приглашённым. В чате приложения сначала спрашивает, если вы сами об этом не просили.
cancelCalendarEventОтменить встречу, которую вы организуете, и сообщить всем приглашённым. В чате приложения всегда сначала спрашивает.
deleteCalendarEventУбрать событие из календаря, никому не сообщая. В чате приложения всегда сначала спрашивает.
respondToCalendarEventПринять приглашение, отклонить его или принять под вопросом и сообщить организатору. В чате приложения сначала спрашивает, если вы сами об этом не просили.

Для чтения нужен calendar:read, а для любого изменения нужен calendar:write. Всё, что отправляет кому-то письмо, требует и emails:send: приглашения, обновления или отмены встречи с участниками и каждый ответ на приглашение.

Клиент, ограниченный некоторыми адресами, видит и меняет только события, которые организует один из них или в которых он участвует, и отправляет только с них.

Справочник

listCalendarEvents

Разрешенияcalendar:readАссистент в приложении выполняет его без вопросовНабор инструментовcalendar

The calendar between two moments, as the Calendar page of the app shows it: every occurrence in the window, a repeating event once for each time it happens, sorted by start, with its event id, place, status and your answer. from and to are ISO 8601 with a zone, at most a year apart, and timezone (an IANA zone, UTC unless you say) decides what an all-day event means. When more follow, the last line gives the offset to pass back.

Входные данные

fromstringОбязательно
Форматdate-time
tostringОбязательно
Форматdate-time
timezonestring
От 1 до 64 символов
limitinteger
Не меньше 1Не больше 200
offsetinteger
Не меньше 0

Также доступно в

API
GET /calendar/events
SDK
calendar.listEvents()calendar.listAllEvents()calendar.iterateEvents()

getCalendarEvent

Разрешенияcalendar:readАссистент в приложении выполняет его без вопросовНабор инструментовcalendar

One calendar event in full: when it is, where, who organised it, every attendee and their answer, your own answer, how it repeats and its reminders. Pass id for an event from listCalendarEvents, or threadId for the invitation a conversation carries.

Входные данные

idstring
От 1 до 64 символов
threadIdstring
От 1 до 256 символов

Также доступно в

API
GET /calendar/events/{id}GET /threads/{id}/event
SDK
calendar.getEvent()threads.getEvent()

createCalendarEvent

Разрешенияcalendar:writeАссистент в приложении сначала спрашивает, если вы сами об этом не попросилиНабор инструментовcalendar

Put an event on the calendar, as New event on the Calendar page does. start and end are ISO 8601 with a zone. With attendees, an invitation goes to each of them from the address in from, which has to be one you may send as, unless sendInvites is false. reminders takes minutes before the start, and recurrence an RRULE such as FREQ=WEEKLY;BYDAY=MO.

Входные данные

summarystringОбязательно
От 1 до 255 символов
startstringОбязательно
Форматdate-time
endstringОбязательно
Форматdate-time
descriptionstring
До 8000 символов
locationstring
До 255 символов
urlstring
До 2000 символовФорматuri
allDayboolean
timezonestring
От 1 до 64 символов
recurrencestring
До 512 символов
attendeesobject[]
До 200 элементов
emailstringОбязательно
До 320 символовФорматemail
namestring
До 128 символов
optionalboolean
remindersobject[]
До 5 элементов
minutesBeforeintegerОбязательно
Не меньше 0Не больше 40320
sendInvitesboolean
fromstring
До 320 символов

Также доступно в

API
POST /calendar/events
SDK
calendar.createEvent()

updateCalendarEvent

Разрешенияcalendar:writeАссистент в приложении сначала спрашивает, если вы сами об этом не попросилиНабор инструментовcalendar

Change an event you organise: its title, time, place, attendees, reminders or repeating. A field left out keeps its value, and attendees replaces the whole list. Everyone invited gets the updated invitation unless sendInvites is false.

Входные данные

idstringОбязательно
От 1 до 64 символов
summarystring
От 1 до 255 символов
startstring
Форматdate-time
endstring
Форматdate-time
descriptionstring
До 8000 символов
locationstring
До 255 символов
urlstring
До 2000 символовФорматuri
allDayboolean
timezonestring
От 1 до 64 символов
recurrencestring
До 512 символов
attendeesobject[]
До 200 элементов
emailstringОбязательно
До 320 символовФорматemail
namestring
До 128 символов
optionalboolean
remindersobject[]
До 5 элементов
minutesBeforeintegerОбязательно
Не меньше 0Не больше 40320
sendInvitesboolean
fromstring
До 320 символов

Также доступно в

API
PATCH /calendar/events/{id}
SDK
calendar.updateEvent()

cancelCalendarEvent

Разрешенияcalendar:writeАссистент в приложении всегда сначала спрашиваетНабор инструментовcalendar

Call off a meeting you organise, as Cancel meeting does in the app: it stays on the calendar marked cancelled, and everyone invited is told it is off, from the address in from. A chat always asks first.

Входные данные

idstringОбязательно
От 1 до 64 символов
fromstring
До 320 символов

Также доступно в

API
POST /calendar/events/{id}/cancel
SDK
calendar.cancelEvent()

deleteCalendarEvent

Разрешенияcalendar:writeАссистент в приложении всегда сначала спрашиваетНабор инструментовcalendar

Remove an event from the calendar for good, as Remove does in the app. Nobody else is told, so call off a meeting with others in it with cancelCalendarEvent instead. A chat always asks first.

Входные данные

idstringОбязательно
От 1 до 64 символов

Также доступно в

API
DELETE /calendar/events/{id}
SDK
calendar.deleteEvent()

respondToCalendarEvent

Разрешенияcalendar:writeАссистент в приложении сначала спрашивает, если вы сами об этом не попросилиНабор инструментовcalendar

Answer an invitation: ACCEPTED, DECLINED or TENTATIVE. The answer goes to the organiser by email from the invited address you may send as, or from respondingAs when the invitation went to more than one of yours.

Входные данные

idstringОбязательно
От 1 до 64 символов
responsestringОбязательно
Одно из"ACCEPTED""DECLINED""TENTATIVE"
respondingAsstring
До 320 символов

Также доступно в

API
POST /calendar/events/{id}/respond
SDK
calendar.respondToEvent()