Я більше не створюю зустрічі вручну. За мене це робить бот, якого я написав за вечір

6 хвилин читання

Кожного тижня в мене одна й та сама переписка, що повторюється по колу. Хтось пише: «давайте зустрінемось, хочу обговорити те й те». Я дивлюсь календар, пропоную кілька варіантів. Співрозмовник обирає час, іноді ми ще раз перекидаємось повідомленнями, якщо перший варіант не підійшов. Потім я питаю пошту, куди кинути інвайт. Іноді — місце зустрічі.

У результаті виходить переписка на 4-20 повідомлень, у якій уже міститься абсолютно вся інформація, потрібна для календарної події. Раніше цю переписку я або сам перетворював на подію в календарі, або кидав помічниці, або просив зробити це співрозмовника.

Тепер я просто пересилаю цю переписку боту — і він створює подію краще, ніж це робили ми з людьми. Тому що бот не лінується детально описати контекст: хто написав, з чим прийшов, що хоче обговорити.

Це другий кейс у моїй серії про корисних ботів, які я збираю собі під конкретні щоденні задачі. Розповідаю, як він працює і як зібрати такого собі.

Читайте також: Прем’єр-міністр Албанії Еді Рама оголосив, що новим міністром, який керуватиме всіма державними тендерами, стане штучний інтелект. Бот отримав ім’я Діелла, що албанською означає «сонце», пише Reuters. 

Що саме робить бот

Флоу простий: я пересилаю боту всю переписку про зустріч, а на виході отримую готову картку події — перевіряю і тисну «Створити». Не влаштовує щось — пишу боту, і картка перезбирається без зайвих рухів.

Підписуйтеся на наші соцмережі

Конкретно бот:

  • формує назву зустрічі за форматом "ім'я, прізвище + моє ім'я";
  • сам збирає всі пошти з переписки і кличе всіх учасників;
  • знаходить місце в Google Maps і підставляє точну адресу — а якщо збігів кілька, показує варіанти на вибір;
  • ставить дату й час, розуміючи фрази на кшталт "у четвер о 15:00" чи "наступного вівторка";
  • пише в опис події контекст розмови: хто написав, з чим прийшов, що хоче обговорити;
  • фіксує, коли саме ви домовились і в якому месенджері;
  • додає мої контакти з проханням писати, а не дзвонити;
  • дає гостям право редагувати подію й додавати своїх людей.

Головне — бот нічого не вигадує. Якщо в переписці немає часу, пошти чи адреси, він прямо скаже, чого бракує, і навіть не покаже кнопку «Створити», поки інформація не буде повною.

Що потрібно, щоб зібрати таке собі

Звучить це, можливо, страшнувато, але насправді старт займає один вечір. Ось що знадобиться:

  • бот у Telegram, створений через @BotFather;
  • безкоштовний акаунт Cloudflare — там житиме код;
  • проєкт у Google Cloud з увімкненими Calendar API і Places API, створеним OAuth-клієнтом і ключем для Maps;
  • ключ Claude або GPT, який розбиратиме переписку на структуровані дані.

Усе інше — дивись нижче. Це готовий промпт, який можна просто скопіювати в свій Claude, до якого вже підключений акаунт Cloudflare.

Промпт, який робить усю роботу

Побудуй телеграм-бота на Cloudflare Workers, який із переписки робить подію в Google Calendar. ЩО РОБИТЬ

1. Я пересилаю боту переписку. Якщо повідомлень кілька — зачекай 20 секунд і збери їх в ОДИН матеріал, а не відповідай на кожне.

2. LLM зі строгою json-схемою витягує: імʼя співрозмовника, усі пошти (крім моїх), місто, місце, дату й час (відносні дати рахуй від київського «зараз»), тривалість, дату домовленості й канал, контекст на 2-3 речення і список того, чого бракує.

3. Місце уточни через Google Places Text Search: «назва + місто» → повна адреса. Якщо збігів кілька — покажи альтернативи в картці.

4. Покажи картку: назва, час, адреса, пошти, контекст + кнопки «Створити» і «Скасувати».

5. Наступне повідомлення після картки — це ПРАВКА до неї: передай стару картку моделі як контекст, онови тільки назване, решту збережи.

6. Після підтвердження створи подію: — назва «Імʼя Прізвище + [моє імʼя]» — календар шукай за назвою (напр. One time meetings), id закешуй — учасники = всі знайдені пошти, sendUpdates=all — guestsCanModify, guestsCanInviteOthers, guestsCanSeeOtherGuests = true — таймзона Europe/Kyiv — опис: тема (= назва), місто, час, місце, «Домовились: дата, канал», «Контекст перед зустріччю: …» і мої контакти з проханням писати, а не дзвонити

7. У відповідь дай посилання на створену подію. ПРАВИЛА — Нічого не вигадувати. Немає часу, пошти чи адреси — напиши, чого бракує. Без часу кнопку «Створити» не показувати взагалі. — Реагувати тільки на мій chat_id, чужі апдейти ігнорувати мовчки. ТЕХНІЧНО — Секрети: TELEGRAM_BOT_TOKEN, WEBHOOK_SECRET, GOOGLE_OAUTH_CLIENT_ID і SECRET, GOOGLE_MAPS_KEY, ключ моделі. — OAuth від того акаунта, від якого мають іти запрошення. Refresh-токен у KV, оновлювати самому. — Вебхук /tg з перевіркою x-telegram-bot-api-secret-token, allowed_updates = message + callback_query. — KV: буфер повідомлень, поточна картка, id календаря. — parse_mode=HTML, екранувати & < >.

ЩО ВІДДАТИ Код, wrangler.toml і кроки: створити бота, увімкнути Calendar API та Places API, зробити OAuth-клієнт, задеплоїти воркер, поставити вебхук, перевірити на тестовій переписці.

Віддаєте цей промпт моделі — і на виході отримуєте готовий код, конфігураційний файл і покроковий план деплою.

Навіщо взагалі це робити

Тут важливо чесно сказати: цей бот не звільняє мені години. Він звільняє когнітивну енергію — те відчуття, коли треба перемкнутись з поточної задачі, відкрити календар, згадати всі деталі з переписки, нічого не забути і не переплутати. Саме ця мікровтома від перемикання контексту накопичується за день значно сильніше, ніж здається.

Такий бот занадто дешевий і ефективний у побудові, щоб його не зробити. Якщо тема заходить — буду продовжувати серію про подібних ботів під конкретні щоденні задачі, з готовими промптами, які можна одразу забрати собі.