Из Telegram в таск-трекер: автоматизируем процесс переноса задач с Make (ex-Integromat) и ChatGPT
Работая продактом в IT-компании, я столкнулся с проблемой, которая, уверен, знакома многим: все больше рабочих задач стало приходить в виде сообщений в Telegram. Это могут быть упоминания в групповых чатах с просьбой посмотреть что-то или личные сообщения.
Однако не всегда удается сразу выполнить или даже обдумать задачу, и такие сообщения могут легко затеряться. Я заметил, что стал забывать обрабатывать некоторые из них, поэтому начал переносить сообщения "как есть" в папку "Входящие" своего таск-менеджера (я использую Todoist). Но даже это требовало времени и усилий: необходимо было переключиться на другую задачу, сформулировать название, указать "заказчика".
Когда поток задач значительно увеличился, я решил автоматизировать их перенос в таск-трекер. Эта статья будет полезна всем, кто, как и я, сталкивается с телеграм-менджментом и хочет сделать свои привычные инструменты эффективнее, не обладая особыми технических навыками.
Как выглядит итоговое решение
- Я пересылаю сообщение в приватный чат в Telegram с чат-ботом.
- Cообщение обрабатывает GPT и формулирует краткое описание.
- Задача попадает в папку Входящие в Todoist в следующем виде:
- Заголовок — формулировка задачи от GPT
- Описание — автор сообщения и исходный текст
Для автоматизации я использовал Make.com (бывший Integromat). В бесплатном тарифе там 1000 операций в месяц. Одна задача съедает 3 операции, так что на на бесплатном тарифе это будет порядка 330 задач в месяц — мне хватит.
Шаг 1. Создаем телеграм-бота
Для этого зайдите в специального бота BotFather, нажмите Меню, выберите /newbot и следуйте инструкциям в чате.
В конце вы должны получить сообщение с API-токеном, который будет нужен для интеграции с Make.
Шаг 2. Создаем сценарий в Make
Зайдите на Make и нажмите Create a new scenario.
Начнем с модуля Telegram «Watch Updates». После настройки он будет отлавливать все сообщения, которые "видит" ваш бот.
После добавления:
- Создайте вебхук. Для этого нажмите Create a webhook. Вебхук — это способ, с помощью которого одно приложение может автоматически сообщить другому, что что-то произошло, например, кто-то отправил сообщение или обновил данные.
- Создайте связку (connection) с вашим ботом. Для этого нажмите кнопку Add и в открывшуюся форму вставьте токен, полученный в Шаге 1.
Шаг 3. Настраиваем рабочий чат с ботом
Создайте новый чат, добавьте туда чат-бота и выдайте ему админские права. Теперь ваш бот будет обрабатывать все сообщения, поступающие в чат и отправлять их в Make. Нажмите кнопку Run once и попробуйте переслать сообщение в чат.
Рекомендую именно пересылать сообщение: тогда вы сразу увидите нужные поля для следующих шагов.
Шаг 4. Настраиваем автоматическое создание задач в Todoist
Для проверки работы мы пока пропустим часть с GPT, тем более, что не у всех есть возможность его подключить. Поэтому сразу добавим модуль Create a Task для Todoist.
Чтобы создать связку с Todoist вы должны быть залогинены в Todoist в браузере. После нажатия кнопки Add в поле Connection вас перекинет на техническую страничку, а затем вернёт в Make, после чего в поле появится новая связка.
Далее настройте поля:
- Content. Название задачи. Для теста добавьте туда дату отправки сообщения — {{1.message.date}}
- Description. Вставьте туда следующий текст:
- Project. Выберите из выпадающего списка Inbox.
Можно поиграться с тегами, приоритетами и другими полями, но мне хватило минимума.
Примените изменения, снова нажмите Run once, перешлите новое сообщение и проверьте, что новая задача появилась во Входящих.
Шаг 5. Интегрируем ИИ для автоматического создания заголовков задач
Для этого у вас должен быть аккаунт на openai.com и привязана карта.
Зайдите на OpenAI Platform → Dashboard → Assistants и нажмите Create.
Придумайте имя своему "ассистенту" и напишите инструкцию. Моя выглядит так, но результаты далеки от идеала:
На основе следующего текста сообщения, сформулируй задачу. Заголовок задачи должен начинаться с действенным глаголом, который точно описывает необходимое действие, и ясно отражать суть задачи. Задача должна быть четко сформулирована так, чтобы можно было без дополнительной информации приступить к её выполнению.
Чтобы потестировать работу инструкции, можно перейти в Playground (серая кнопка наверху).
В качестве модели выбирайте gpt-4o-mini — это самая новая и дешевая модель из доступных. Цены копеечные: 0,15$ за миллион токенов на запросы и 0,60$ на ответы.
Далее перейдите на вкладку API Keys, создайте новый ключ и скопируйте токен. Не забудьте сохранить токен в заметки — он будет показан только один раз.
Шаг 6. Завершаем интеграцию с OpenAI и настраиваем фильтр
Вернитесь в Make и добавьте новый шаг между Telgram и Todoist. Нам нужен модуль Message an Assistant от OpenAI.
Добавьте связку с OpenAI, вставив в поле токен, который вы получили на Шаге 4.
В выпадающем списке должен появится ассистент. Выберите его, Role — User, а в качестве Message — {{1.message.text}} из модуля Telegram.
Рекомендую также настроить фильтр, нажав на гаечный ключ на связке Telegram и OpenAI. В настройках Condition выберите {{1.message}} и оператор Exists. Это позволит не ломаться вашей интеграции, если в чат с ботом придёт системное сообщение.
Шаг 7. Финальная настройка Todoist
Теперь в поле Context подставим объект {{3.result}} из модуля Open AI.
Можно сохранять, запускать и эксперементировать.
В качестве модуля таск-трекера можно выбрать любой другой из доступных на Make. Аналогично и с мессенджером — точно доступны Slack, Mattermost и Rocket.Chat.
В схеме выше есть техническое ограничение: бот не может склеивать несколько пересылаемых сообщений и обрабатывать как одну задачу. Но это мы победим в следующих сериях.
Если есть идеи, как улучшить промпт — пишите в комментах.
Хороший хак, уже потестил и думаю пойти дальше, чтобы решение задачи было так чатомгпт и задачка без меня закрывалась
О! супер, попробую
Прекрасная инструкция и похожая на мою проблема — забрал, себе сделал, коммент написал, лайк поставил