Интеграция notion и telegram
Notion выкатил публичную бету своего API – сообщество очень долго ждало этого релиза, потому что иначе с платформой невозможно было установить нормальную связь. Да, были неофициальные решения под Go и Python, но задач бизнеса они не покрывали.
Первыми добавили свои нативные интеграции с платформой Zapier, Typeform и Automate.io. При этом команда Notion немного боится каннибализации своего API со стороны запов и в официальных источниках пишет, что отдает приоритет разработке своего API и не делаете ставку на знаменитый автоматизатор. Хотя сама по себе работающая интеграция с Zapier уделает возможность подружить Notion с несколькими тысячами сервисов.
Также появляются и другие интересные интеграции и инструкции:
Ориентируясь на энтерпрайз, команда Notion в качестве классных возможностей приводит Salesforce и Jira – обещают, что можно быстро запилить связку с ними. Только вот для этого придётся хотя бы немного программировать.
У API есть несколько основных сущностей: страницы, блоки, базы данных, пользователи, поиск.
Базы данных. Основа архитектуры хранения данных в Notion. API позволяет искать объекты в БД, извлекать из них нужную информацию, перезаписывать информацию, получать список записей.
Команды в общем рабочем пространстве. API даёт возможность получить список пользователей.
Создание собственного API означает, что Notion стал экосистемой – в отличие от тех же Evernote или Todoist.
Вот некоторые варианты использования API Notion:
- Подключение к Notion Apple Health или других платформ и создание личной панели мониторинга здоровья.
- Интеграция Google Calendar и календаря в Notion.
- Автоматический импорт данных из любых форм прямо в Notion.
- Создание кастомизированых шаблонов для сообществ: теперь можно подключать собственные приложения и создавать информационные панели для разных инструментов.
По мнению экспертов, следующий большой вызов для команды Notion – адаптация пользователей. В новом интерфейсе у них появилось много возможностей, а значит, теперь необходимо каким-то образом не перегружать новых пользователей платформы и с помощью алгоритмов машинного обучения или опросов на стали онбординга помогать им использовать самые важные для них функции. Например, у сейлзов будет формироваться преднастроенное и подходящее именно для них пространство с уже работающей интеграцией с разными CRM, а у маркетолога – с тем же Typeform.
На старте в публичной бете вылезали и баги – например, в первый день при подключении интеграций тариф автоматически менялся с персонального на командный. Но все проблемы команда сервиса достаточно быстро фиксила.
Подробности о внутреннем устройстве API, методах POST, GET, DELETE и других с примерами использования можно узнать из официальной документации.
На самом деле я до последнего момента не понимал фишку чат-ботов. Ну блин, люди еще в 90-х согласились что формат текстового общения с машиной (это же консоль, Карл!) хуже чем визуальный интерфейс. Зачем снова вот это всё? Особенно меня бомбило когда боты начали появляться прямо НА САЙТАХ!
Уважаемый пользователь! У тебя перед глазами все возможности в виде ссылок и кнопок! Зачем тебе эта бото-командная-строка с одной задачей в единицу времени? Ох.
На это еще накладывается то, что приходится шизофренически притворяться что ты беседуешь с живым существом. "Привет, друг! Я бот Вильям. Как твои дела, как жена?".
Вы серьёзно?
В момент когда Дуров решил делать мессенджер после ВКонтакте я подумал что его карьера закатилась и он начал сходить с ума.
Телеграм
Но время шло и к Телеграму я, таки, проникся симпатией, как и мы все. Пути технологий не исповедимы, подумал я. Но вот с чатботами время ситуацию не меняло совсем.
К счастью, волна хайпа на боты закончилась лет 5 назад. Я с облегчением выдохнул, решив что был прав, а моё ментальное спокойствие начало уравновешиваться.
Наши дни
И тут, буквально недавно, произошло просветление. Я ходил забирать посылку из почтомата. Пол часа мучался у шкафчика пытаясь авторизироваться в глючном приложении. Нервничал. Звонил и ругался в поддержку. А когда девушка холодно посоветовала воспользоваться чатботом - мысленно пожелал им банкротства.
После чего за минуту оформил в боте заявку и заветная дверка открылась.
Новая вера
Короче это сложно обьяснить логически, но я, вдруг, почувствовал, что есть что-то приятное и даже магическое в работе через чат. Такая себе концентрированная лаконичность.
Ну и, конечно же, этот опыт закрепился после нахождения в клубе. Через бота в можно плюсануть комент! Шок!
Похоже, всё наше представление о космических интерфейсах будущего (когда человек водит руками по 3д проекции) не реалистично. Возможно наше будущее - это всего лишь чатики с ботом. Разве что, общение станет голосовым. Хотя, подождите, это же Алекса? Хм. Вот будущее и наступило.
Всё началось с личного. Телеграм я стал активно использовать для общения, а потом и для сохранения небольших заметок. Открывается быстро. Нажал и сразу пишешь. То что нужно.
Но планирование и более детальные записи ведутся в Ноушене.
Проблема была в том, что каждый раз, когда нужно собрать мысли воедино, это даётся тяжело. Что-то записано в Телеге, что-то в Ноушене. А там где два места, там и третье появляется в виде заметок на телефоне и т.п.
Тут, собственно, всё и сошлось. Со свежим ощущением, что боты - это не так уж зазорно, появилсь идея сделать копирование ботом сразу в Ноушен.
И чё, так можно было? Таки можно! При этом, нет необходимости давать доступ ко всему аккаунту. Достаточно просто расшарить нужную страничку с емейлом. Удобно.
ps. Этот раздел будет технический. Если вы не получите удовольствия от перечисления тех. деталей можно идти к следующему.
Разные технологии - это, конечно, весело, но проблема в том, что не получается глубоко погрузиться ни в одну из них, чтобы, хоть как-то, оптимизировать скорость работы.
Видя это безобразие я решил, что хватит! Последняя технология с которой уже не слезу - это Flutter. Я надеялся что раз он собирается сразу под все платформы он сможет покрыть самые безумные идеи.
Но, увы, для бота оказался нужен стек с Python, который, блин, я в своей жизни как раз, абсолютно обошел стороной.
Ну, думаю, ладно, посмотрю по-быстрому синтаксис языка, сложностей возникнуть не должно. За пару вечеров справлюсь.
А потом, понеслось.
Технологии
Дело в том, что я прям не умею программировать быстро. Мне надо чтобы была хоть какая-то архитектура и расширяемость на будущее.
Применимо к боту - нельзя просто взять и сделать его по туториалу. Там на голубом глазу советуют делать запросы к базе на голом SQL. В жизни с таким подходом первый хацкер-школьник за переменку уничтожит все ваши труды. Нужна какая-то ORM с базовой защитой от "разработчика-дурака".
Для удобной работы с Django - нужен выделенный сервер. В облаках могут быть внезапные лимиты, плюс вопрос приватности нужно учитывать. Пришлось вспомнить как настроить выделенный сервер.
Так добавился VDS от Hetzner.
Для сервера - нужен удобный деплой. Зачем-то уже на уровне инстинкта продумываешь ситуацию переезда на другой хостинг.
Так добавился Docker.
Конфигурировать его оказалось не так просто для новичка. Бывало пытаешься выяснить почему не удаляется какой-нибудь volume из контейнера и рабочий день как корова слизала.
Короче вместо бота на пару дней, выучился полновесный стэк.
Благо есть клуб, где можно посмотреть в исходники спросить совета.
В итоге на разработку чат-бота ушло, стыдно сказать, полтора месяца почти фултайма.
Но, overall, это было довольно приятное времяпровождение. =)
1. Несколько страниц одновременно:
Первом делом стало понятно, что нужно будет привязывать много страниц. Одну - для инбокса, одну для конспектов книги, одну для заметок по работе и т.п.
Телеграм подкинул для этого очень лаконичное решение. Бота можно добавить в приватную группу на 1 человека.
Удобство: Бот будет автоматом менять название чата, при отправке ему новой страницы:
Так это выглядит у меня. Несколько чатов в папке с иконкой:
2. Markdown для форматирования.
Далее, обратил внимание, что часто использую заметки для записи мыслей во-время прогулок с аудиокнигой. Стало понятно что надо добавить форматирование. В итоге такая запись в чате
превращается в такую красоту в Ноушене
3. Минимальность интерфейса
Сила брата в правде, а чата в скорости.
Ну и т.п. Не буду перечислять, было много проб-ошибок и всегда есть над чем работать.
Бонус!
Если в названии страницы поставить вертикальную черту, то после неё можно писать команды через запятую.
Да, прямо команды!
Таким образом какбы программировать бот.
Выглядит это так: "Прекрасное название | diary, at 16:00"
Сейчас работают такие команды:
Чуть позже добавлю команду "at"
Пока тема таблиц Ноушена не раскрыта. Хочу сделать отдельного бота для этого. Он будет предлагать по очереди ввести данные в каждое из полей. И можно будет еще активнее его "программировать".
Например, если будет таблица с тремя полями "Настроение | at 10:00", "Настроение | at 15:00" и "Настроение | at 19:00", то бот трижды в нужное время будет спрашивать уровень настроения и добавлять ответы в соответствующую строку.
Потом, конечно же, можно будет сгенерировать график прогресса за неделю-месяц.
Это может быть полезно для отслеживания действия лекарств, трекинга физических упражнений, уровня энергии, выполненной работы т.п.
На десктопе на трекинг забиваешь спустя пару дней, но если бот прожужжит и попросит быстро ввести одну циферку - уже не отвертишься.
Каждый сможет задизайнить трекер своих самых экстравагантных привычек, наконец!
Я верю в концепцию "конструктора", которая есть у Ноушена. При этом меня сильно напрягают прескриптивные приложения в сфере продуктивности. Это когда некий анонимный разработчик решает сколько мне нужно пить воды и сколько медитировать. Я хочу слушать как мне жить от экспертов в этом деле, а не от выгоревших программистов )
Цена это сложный вопрос. Платить за чат боты, как вы знаете, не принято абсолютно. Подразумевается что это некий маленький сервисик, который даётся бесплатно, или продает внешний контент.
Аргументы в пользу платности:
- Частота использования. Да, бот - это небольшой сервис, но если пользователь будет его использовать как я - это, будет несколько раз в день. Поэтому даже мелкие недоработки, или проблемы интерфейса умножатся на количество раз. Также умножится и польза.
- Сохранность данных. Не всех устраивает ситуация, когда самые передовые ИИ с идеальной памятью и логическими связями, которые не снились Шерлоку Холмсу, копаются в личной информации. Если сервис оплачен, то можно рассчитывать, что разработчик будет стараться ответственно относиться к сохранности данных.
Предложение:
Я руководствуюсь принципом, что хорошо потратить деньги зачастую - выгоднее чем не потратить. Особенно если это касается оптимизации времени. 1$ - это стоимость общественного транспорта. Кажется никто не сомневается что потратить 1$ на транспорт лучше чем экономить и идти 40 минут пешком. Но с онлайн сервисами такое сопоставление пока не всегда очевидно.
Свяжите Notion и Телеграм за 5 минут.
Без программистов. Готовы начать прямо сейчас?
Создайте интеграцию Notion и Телеграм самостоятельно, без программистов
Другие готовые интеграции
Как интегрировать Notion и Телеграм
c помощью ApiX Drive
Теперь Вам не нужно привлекать программистов или интеграторов для автоматизации Notion и Телеграм.
С ApiX-Drive вы свяжете и автоматизируете работу этих систем за 5 минут, самостоятельно.
Укажите какие действия будут происходить между системами
Возможности автоматизации
Notion и Телеграм
Настройте один раз правила, по которым будут работать системы.
С заданным интервалом передавайте данные из Notion в Телеграм.
Популярные вопросы про интеграцию Notion и Телеграм
Как происходит интеграция Notion и Телеграм?
- Для начала нужно зарегистрироваться в ApiX-Drive
- Выбираете какие данные передавать из Notion в Телеграм
- Включаете автообновление
- Теперь данные будут автоматически передаваться из Notion в Телеграм
Сколько времени нужно на интеграцию?
В зависимости от системы, с которой вы будете делать интеграцию, время настройки может отличаться и составлять от 5-ти до 30-минут. В среднем настройка занимает 10-15 минут.
Сколько стоит интеграция Notion с Телеграм?
За саму интеграцию ничего платить не нужно и на всех тарифах доступен полностью весь функционал. Вы оплачиваете только количество данных, которые по факту передаются из одной вашей системы в другую через наш сервис. Если у вас количество данных в месяц небольшое, можете смело пользоваться бесплатным тарифом или перейти на платный, при необходимости. Подробнее о тарифах.
Сколько всего готовых интеграций доступно в Apix-Drive?
На данный момент у нас готово 312+ интеграций помимо Notion и Телеграм
Notion - это платформа для управления задачами и проектами, а также организации командной работы. Она имеет блочную структуру редактирования, которая помогает распределять контент по блокам памяти: текст, ссылки, изображения, списки, код и т.д. При помощи Notion можно создавать базу знаний по проекту (team wiki), а также вложенные и контрольные списки дел, шаблоны дорожных карт и календарей, еще здесь есть планировщик задач. Среди других инструментов сервиса стоит отметить канбан-доски, веб-клиппер для сохранения любого веб-контента, а также опции управления сниппетами. Подробнее
«Я не могла разобраться в Notion и не пользовалась им. Как только я разобралась, я не представляю без него свою жизнь».
В первую очередь, статья написана для коммьюнити блога @daria_check. Здесь собран личный опыт использования: философия, идеи и подход. Здесь нет подробных инструкций по использованию приложения, зато будут готовые шаблоны и идеи в конце.
Notion — это как приложение для заметок, таблиц, менеджмента задач и для создания стратегий проектов в одном окошке. Сервис доступен на Windows, macOS, Android, iOS и в виде расширений для Chrome и Firefox.
Если вы никогда не открывали Notion, здесь есть короткий видеогид на русском языке, здесь в виде текста и тут на английском языке.
Это как Trello, Google Docs и Evernote на стероидах
Я активно использую Notion для:
- создания стратегии, ведения спринтов и трекера привычек
- ведение всех проектов (список задач команде и себе, тексты, планы)
- ведение личных финансов
- списков (фильмов, книг, новых гипотез, мыслей, цитат)
- выписывание из головы всего, что наваливается
- еженедельного чекина со своими целями и анализа недели
Есть критика приложения, о которой, я считаю, вы обязаны знать. C недавнего времени я заметила, что Notion теперь работает и в оффлайне, то есть можно что-то записать, а сохранит он при подключении к интернету. Стартап развивается, поэтому отсутствие каких-то фич пока что меня не особо расстраивает.
Важное уточнение: я использую Notion, в основном, на Mac и iPad. Мне не очень нравится дизайн на iphone, а также я стараюсь выстроить более рабочие ассоциации с Notion: на телефоне очень легко переключиться на что-то ещё и из-за этого с течением времени будет тяжелее концентрироваться на работе. Когда же я открываю Notion на ноутбуке, то я знаю, что это для анализа, креатива или работы.
Сделаю оговорку, что Notion мы нашли для работы в команде экошколы, но арсенал инструментов мне так понравился, что я перевезла туда (почти) всю свою жизнь.
Опыт использования программы похож на создание сайта, только здесь не нужно уметь в программирование. Есть достаточно обширный список функций и шаблонов, которые помогут создать удобную минималистичную станицу, таблицу или список. Список функций обширный, но конечный, что важно для того, чтобы в какой-то момент остановить создание страниц и приступить наконец-таки к созданию контента внутри:)
Недавно я переборола боязнь формул и научилась ими пользоваться в Notion. Теперь могу делать более сложные таблицы, но пока лишь использовала такую для планирования финансов (шаблон ниже).
Таблицы можно смотреть в разном стиле: как таблицу, как список, как блоки — удобные варианты, всегда можно найти самый эффективный. А ещё из топовых функций — это, конечно, сортировка и фильтр. Сортировка помогает отображать ячейки в заданном порядке (например, задачи по критичности дедлайна), а фильтр позволяет отображать в таблице только определенные ячейки по фильтру (например, только задачи Даши в общем списке задач).
В рамках данного поста я поделился своим способом достижения этого результата на Typescript.
Первая версия бота
Дальше этого бота расширять можно сколь угодно много. Но сегодня мы с вами сделаем простую базовую версию.
Подключение к Notion API
Для начала нужно получить token для работы. Сделать это можно по инструкции здесь. Также опишу этот процесс здесь:
Дальше этот токен можно скопировать кнопкой Copy и использовать его в своем приложении.
Создаем базу данных задач
Дальше нужно в любом удобном вам месте в Notion создать базу данных с Kan Ban представлением, добавить поля статуса и источника задачи. Или можете просто скопировать мой тестовый список задач и использовать его как шаблон.
Кнопка для дублирования в качестве шаблона
Отлично! Теперь у нас есть база задач, которую вы можете наполнять руками через Notion! Но мы здесь с вами не для этого. Теперь нам необходимо настроить интеграцию между notion и telegram ботом.
Заготовка Telegram бота на typescript
Я подготовил проект, в котором реализовал базовую логику интеграции. Вы можете посмотреть его код на GitHub (версия 0.0.1). Внутри есть readme.md, в котором описано как запускать бота, а я пройдусь по основным моментам работы интеграции.
Базовая инициализация бота
В рамках данной инициализации мы используем следующие переменные:
Разумеется есть много чего еще, но нам достаточно этого набора полей.
Подготовка объекта на отправку в notion
Для отправки задачи в Notion мы создаем объект
На 3 строчке есть переменная taskDb , туда нам необходимо разместить ID вашей базы данных. Получить её можно из ссылки. Где её взять можете увидеть из скрина ниже.
На 23 строчке в примере в переменную tgAuthor , в моем примере, подставляется username пользователя, чтобы потом можно было сообразить. Также можно увидеть другие поля в этом объекте:
После подготовки объекта мы отправляем POST запрос на метод создания страницы (документация тут). Поскольку мой пример написан на Typescript, я использую NPM пакет @notionhq/client.
После отправки запроса, в Notion, создается карточка задачи, с которой уже можно работать как вам угодно.
В первой же версии я захотел сделать так, чтобы мне могли ставить задачи другие люди. Для решения этой задачи я добавил в env переменные значение TELEGRAM_ALLOW_IDS, где, через запятую, перечислил идентификаторы Telegram пользователей, которые могут ставить мне задачи.
Когда они ставят мне задачу бот также создает задачу в Notion и оповещает меня о том, что кто то осчастливил меня новой задачей.
Вместо заключения
Таким образом я получил себе верного помощника, который позволяет мне забывать меньше задач, а другим быть чуть более уверенным, что я не забуду про то, о чем меня попросили.
Бот активно дорабатывается и расширяется. Так что, в ближайшее время, будет еще контент про то, как можно автоматизировать свои рутинные действия.
Читайте также: