Я створив собі бота, який щодня вимагає звіту по моїх власних цілях — і це реально працює

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

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

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

Чому саме такий бот

Варто одразу чесно попередити: цей бот жорсткий і без компромісів. Для більшості людей він може виявитись занадто вимогливим — саме це мені й було потрібно. Якщо хочете щось м'якше — собі легко можна зробити полегшену версію, прибравши частину гостроти з промпту.
Читайте також: Спілка технологічного бізнесу Diia.City United, яка сьогодні об'єднує понад 250 технологічних компаній та інвесторів, оголосила про призначення нової виконавчої директорки. Нею стане Олеся Залуська, яка має багатий досвід на перетині технологій, залучення інвестицій, державної політики та міжнародних програм розвитку.

Я веду цілі в докс-таблиці вже давно, тож просто дав боту доступ до неї, щоб він щодня тримав мене в тонусі за кожною ціллю. За три тижні такого фокусу вже маю чіткі, вимірювані результати.

Додатково налаштував, що можу відповідати боту голосовими — зранку простіше наговорити статус, ніж друкувати.

Що робить бот

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

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

Якщо на вечірнє питання не відповів — о 22:00 отримаю колюче нагадування. Ігнор бот теж рахує за відповідь, просто не надто приємну.

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

Окремо є вкладка для задач-нагадувань: досить написати боту «впиши задачу: X, відповідальний Y, нагадуй раз на місяць» — і він сам створить запис, а якщо забути вказати періодичність, обов'язково перепитає. Коли настає дата нагадування — бот сам нагадає і зафіксує відповідь.

Є й кілька команд для ручного керування: запитати поточну ціль, побачити зведення по всіх статусах, дізнатись топ-3 найпріоритетніші цілі без руху, отримати тижневе саммері поза розкладом чи переглянути список задач.

Як зробити собі такого ж бота

Звучить це складніше, ніж є насправді. Три кроки:

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

  • 1
    Створіть Google Таблицю з колонками для цілей — горизонт, пріоритет, тип (особисте/робоче), текст цілі, відповідальний, статус. Якщо таблиці ще немає, можна взяти готовий шаблон.
  • 2
    Зробіть токени в BotFather і в Anthropic, щоб бот працював нативно в Telegram.
  • 3
    Скопіюйте промпт нижче і віддайте його в Claude Code чи ChatGPT Codex — далі просто крок за кроком виконуйте те, що він порадить.

Якщо щось із цього звучить страшно — просто вставте промпт у Claude Code чи ChatGPT Codex і йдіть за інструкціями моделі. Головне — зробити свого першого такого бота, далі буде простіше.

Промпт

«Збудуй мені Telegram-бота — персонального коуча по цілях, який щодня пушить власника і веде облік прогресу в Google Таблиці.

## Стек (не обговорюється)

- Cloudflare Worker, plain JS, деплой npx wrangler deploy. Ніяких залежностей, крім @anthropic-ai/sdk.

- База — Google Sheets через сервісний акаунт (JWT RS256 → oauth2.googleapis.com, скоуп spreadsheets).

- Мозок — Claude API (модель claude-opus-5, effort low) з tool use.

- Розклад — cron triggers воркера. Все крутиться в хмарі 24/7, нічого не залежить від ноутбука.

## Що я дам (спитай і постав секретами через wrangler secret put)

- TELEGRAM_BOT_TOKEN — токен від BotFather

- ANTHROPIC_API_KEY

- GOOGLE_SA_JSON — повний JSON сервісного акаунта (таблицю я розшарю на його email як Editor)

- WEBHOOK_SECRET — згенеруй сам (openssl rand -hex 24)

- vars: SHEET_ID, ALLOWED_CHAT_ID (бот працює ТІЛЬКИ з цим chat_id, чужих ігнорує мовчки)

## Таблиця цілей

Вкладка з річними цілями. Колонки: A горизонт | B пріоритет (10–100) | C тип (Pers/Work) | D текст цілі | E відповідальний | F відповідальний #2 | G статус | H — колонка бота (нотатки).

Статуси (дропдаун): not started, in progress, almost, done, cancelled, postponed to next year, postponed to far future. «Активні» для бота — перші три.

Шапку шукай динамічно (рядок, де A починається з відомого заголовка), щоб вставка рядків зверху нічого не ламала.

## Поведінка

1. Щодня о 16:00 бот бере ОДНУ активну ціль і питає, що по ній. Вибір: спершу цілі, яких бот ще не торкався, далі — найдавніше торкані (остання дата з нотаток у колонці H), при рівності — вищий пріоритет. Вчорашня відповідана ціль виключається.

2. Відповідь власника обробляє Claude з інструментами:

- save_progress(summary) — дописати в H «дд.мм.рр: суть» (3–15 слів). Викликати на БУДЬ-ЯКУ змістовну відповідь.

- set_status(status) — коли зі слів ясно: зробив → done, майже → almost, почав → in progress, скасував/переніс → відповідний статус.

3. О 22:00 — якщо на питання дня не відповів, колюче нагадування (ігнор — теж відповідь).

4. Субота 09:00 — тижневе саммері: кількість цілей по статусах окремо Pers/Work/разом, % done; зміни статусів за тиждень (порівняння зі знімком минулої суботи в KV); по яких цілях були записи. Якщо тиждень без руху — сказати прямо, що тиждень злитий.

5. Задачі-нагадування (окрема вкладка, створюється автоматично): власник пише «впиши задачу: X, відповідальний Y, нагадуй раз на місяць» → бот вносить рядок (дата створення, задача, відповідальний, періодичність словами, інтервал у днях, дата наступного нагадування, статус active/paused/done). Якщо періодичність не назвав — бот ОБОВ'ЯЗКОВО питає. Коли настає дата — нагадує, пише дату нагадування в наступну вільну колонку справа, а суть відповіді — в сусідню клітинку. Інструменти: add_task, set_task_frequency, answer_task, set_task_status.

6. Команди: /goal (питання зараз), /goals (зведення по статусах), /focus (топ-3 найпріоритетніші без руху), /week (саммері зараз), /tasks (список задач). Зареєструй через setMyCommands«.

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

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

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