Все ноды/Integrations/Calendar
Запрос к календарю
REPORT calendar-query для VEVENT или VTODO в диапазоне времени.
Тип в графе: calendar_query
Exec
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий воркфлоу
- Исполнение
- Данные
- Исполнение + данные
Перед запуском выберите своё подключение или базу знаний — в графе стоит REPLACE_ME.
Как применять
С этой ноды начинается почти любой календарный граф: остальные работают по href события, а
выдаёт href именно она. Если адреса уже известны, за телами событий в один запрос сходит
Мультизапрос календаря. Если нужны только занятые интервалы, без
заголовков и участников, — Занятость календаря.
Как это работает
Нода делает запрос по одной коллекции за диапазон времени. Начало и конец обязательны, формат —
ISO 8601 (2026-07-01T00:00:00Z); значение без часового пояса читается как UTC, конец должен
быть позже начала, длина диапазона — не больше 366 дней. Поля шаблонные, поэтому границы обычно
вычисляются выше по графу.
Пустой «URL коллекции календаря» означает календарь по умолчанию из подключения. «Тип компонента» выбирает, что искать: события (VEVENT) или задачи (VTODO), — в одном запуске что-то одно.
На выходе component и events — массив записей с полями href, etag, uid, summary,
dtstart, dtend, all_day, timezone, rrule, rdates, exdates, recurrence_id,
status, sequence, last_modified. В шаблоне: {{ nodes.<id>.output.events[0].href }}.
Частые ошибки
- Конец диапазона, заданный датой, отрезает последний день.
2026-07-31читается как полночь, поэтому события 31 июля в выборку не попадут. Пишите2026-07-31T23:59:59Z. - Повторяющееся событие — одна запись. Нода не раскрывает серию по вхождениям: правило
лежит в
rrule, аdtstart/dtendотносятся к первому компоненту ресурса. Полный документ со всеми переопределениями отдаёт Получить событие календаря. - Больше 500 событий молча обрезаются. Ошибки не будет — сужайте диапазон или делите его на части.
- Диапазон длиннее 366 дней. Нода остановится с кодом
VALIDATION, не отправив запрос. - Пустой результат — это успех. Нода завершается с
events: []; ветвление «нашлось / не нашлось» делайте нодой Если / Иначе, а не веткой ошибки.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Calendar storecalendar_store | Данныеdata | — | обязателен |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Successoutput | Исполнение + данныеexecute_data | object | |
Erroron_error | Исполнение + данныеexecute_data | — | показывается, когда expose_error_output = true |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Подключение CalDAVconnection_id | string | "" | Сохранённое подключение CalDAV из воркспейса: простому календарному воркфлоу не нужна отдельная нода CalDAV Config. Нода, подключённая к порту 'calendar_store', имеет приоритет над этим полем. подключение: caldavперекрывается портом: calendar_store |
URL коллекции календаряcalendar_url | string | "" | URL коллекции, с которой работаем, например https://cloud.example/remote.php/dav/calendars/user/personal/. Оставьте пустым, чтобы взять URL календаря по умолчанию из подключённого CalDAV-подключения; узнать URL можно нодой List Calendars. поддерживает шаблоны |
Начало диапазонаtime_start | string | "" | Начало диапазона, ISO 8601, включительно. Пример: 2026-07-01T00:00:00Z (значение без часового пояса читается как UTC). поддерживает шаблоны |
Конец диапазонаtime_end | string | "" | Конец диапазона, ISO 8601. Должен быть позже начала; диапазон не может превышать 366 дней. Пример: 2026-07-31T23:59:59Z поддерживает шаблоны |
Тип компонентаcomponent | string | VEVENT | Что искать: события календаря (VEVENT) или задачи (VTODO). Варианты: |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.