Как связать Notion с Google Calendar
Интеграция Ноушена с календарём уже несколько месяцев как не привелегия. Этому научились такие no-code сервисы интеграций как: Zapier, IFTTT, Automate.io. Я ждал этого реально два года. Живу с этим новшеством пару месяцев и очень нравится, тем более, что это бесплатно. Делюсь как подключал.
Инструкция
-
Я завёл в Notion таблицу (базу данных) для задач, где каждая отдельная «строка» это страничка/документ с привязанными к ней свойствами/колонками
-
Создал для таблицы колонки следующих типов:
-
eventId (GCal)
— Text -
dueDate
— Date -
isDone
— Checkbox -
isArchived
— Checkbox -
untilStart
— Formularound(dateBetween(start(prop("Due date")), now(), "hours") / 24 * 100) / 100
-
timeRemain
— Formularound(dateBetween(end(prop("Due date")), now(), "hours") / 24 * 100) / 100
-
-
Зашёл в сервис Automate.io
-
Подключил Automate.io к своему аккаунту в Notion следуя простым шагам
-
На страничке https://automate.io/integration/notion выбрал интеграцию с G.Calendar (можно вбить в поиске для быстрого доступа)
-
Выбрал интеграцию «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 повторений и требует ручного включения примерно раз в месяц-два.