Интеграция Ноушена с календарём уже несколько месяцев как не привелегия. Этому научились такие no-code сервисы интеграций как: Zapier, IFTTT, Automate.io. Я ждал этого реально два года. Живу с этим новшеством пару месяцев и очень нравится, тем более, что это бесплатно. Делюсь как подключал.
Инструкция
Я завёл в Notion таблицу (базу данных) для задач, где каждая отдельная «строка» это страничка/документ с привязанными к ней свойствами/колонками
Выбрал интеграцию «Add Database Item in Notion on a Event Added in Google Calendar» и нажал Try Now
Зарегался в сервисе и вошёл в него 🤷♂️
Нажал кнопку Connect сразу после входа в сервис.
Последовал инструкциям сервиса по подключению к Notion
Попал на шаг Configure или нажал кнопку на главной в шапке Create Bot
В первой колонке «Select trigger app» выбрал Google Calendar и тип триггера Event Added
Заполнил вторую колонку
В поле Database я выбирал имя таблицы с задачами в Notion
Поле Content и всё, что внутри можно оставил пустыми. Пока не нашёл этому применения.
В поле, которое по умолчанию называлось Name (имя строки в таблице) я выбирал параметр Event Summary и ещё добавил произвольный опозновательный знак в виде «🗓» чтобы отличать события из календаря от других задач.
Result это переименованная колонка Name в моей базе задач
В поле eventId (GCal) нажал плюсик и выбрал из подсказок параметр Еvent id
В поле dueDate снова развилка
В поле Time Zone я выбрал UTC чтобы исправить проблему сдвига даты в таблице. Не уверен, что это лучшее решение, но мне помогло.
В поле startDate выбрал параметр Event begins
В поле endDate выбрал параметр Event ends
Остальные поля я оставил пустыми чтобы заполнять их в Notion по желанию
Осталось нажать на кнопку Savе 🏁
Как работает
Tеперь как только в моём календаре появляется новое событие, оно создаётся в базе задач. Я отказался от идеи двухсторонней синхронизации событий, потому что это сложно реализуется и рождает много ошибок. Как оказалось оно и не особо нужно.
Односторонней синхронизации мне достаточно, а на случай изменений в событии на стороне календаря я настроил похожую интеграцию (ещё одного бота), но по тригеру «Event Modified».
Есть проблема второй интеграции: она будет сыпать ошибки в случаях, когда в Notion-базе по какой-либо причине не оказалось задачи с соответствующим полем eventId. Но это в худшем случае отключает бота лишь спустя 20 повторений и требует ручного включения примерно раз в месяц-два.