Что получится в результате
Соберем ИИ-агента, который помогает руководителю разбирать входящие поручения, превращать их в задачи и держать фокус на просрочках, блокерах и важных решениях.
Первая рабочая версия будет делать так:
- входящие поручения попадают в таблицу `inbox`;
- календарь руководителя лежит в `calendar_events`;
- список проектов и зон ответственности лежит в `projects`;
- n8n запускается утром и вечером;
- LLM извлекает из входящих задачу, владельца, дедлайн и контекст;
- workflow проверяет дедлайн, приоритет и дубли;
- черновики попадают в `task_queue`;
- руководитель ставит `approved`, `delegate`, `reject` или `clarify`;
- approved-задачи создаются в Todoist, Asana, Bitrix24 или другой системе;
- вечером агент готовит короткий список: что просрочено, что заблокировано, что требует решения.
В первой версии агент не назначает задачи людям без проверки, не переносит встречи сам, не отправляет резкие сообщения и не принимает решения за руководителя. Он готовит черновик и подсвечивает риски.
Что понадобится
- n8n Cloud или self-hosted n8n.
- Google Sheets для первого прототипа.
- Источник входящих поручений: Telegram, email, голосовые заметки, протоколы встреч или ручной ввод.
- Календарь руководителя, например Google Calendar.
- Система задач: Todoist, Asana, Bitrix24, Jira или Google Tasks.
- API-ключ LLM-провайдера.
- 60-90 минут на первый запуск.
Шаг 1. Определите роль агента
Не делайте агента “заместителем руководителя”.
В первой версии его роль:
разобрать входящие, предложить структуру задачи, найти дедлайн, приоритет, владельца и подготовить черновик для подтверждения
Что агент не делает:
- сам назначает ответственных;
- обещает сроки от имени руководителя;
- меняет календарь;
- переносит встречи;
- удаляет задачи;
- закрывает задачи без человека.
Проверка: агент помогает с порядком, а не управляет людьми автономно.
Шаг 2. Создайте таблицу проекта
Создайте Google Sheet:
Executive task AI agent
Добавьте листы:
inbox
projects
people
calendar_events
task_queue
daily_review
decision_log
settings
test_cases
Проверка: у n8n есть доступ на чтение и запись.
Шаг 3. Создайте входящую очередь
В листе `inbox` сделайте колонки:
inbox_id
source
sender
text
received_at
source_url
status
processed_at
error
Пример:
IN-1001
telegram
Иван
Нужно до пятницы проверить КП по клиенту Север и решить, даем ли скидку 10%.
2026-05-22 09:15
new
Проверка: каждое входящее поручение имеет id и статус `new`.
Шаг 4. Создайте справочник проектов
В листе `projects` сделайте колонки:
project_id
project_name
owner
status
priority
context
Пример:
P-001
Продажи B2B
Иван
active
high
Крупные клиенты, КП, скидки, дебиторка
Проверка: агент может связать поручение с проектом, а не создать абстрактную задачу.
Шаг 5. Создайте справочник людей
В листе `people` сделайте колонки:
person_id
name
role
department
task_system_id
telegram_id
can_assign
comment
Пример:
U-001
Иван
Руководитель продаж
Sales
asana-123
123456
yes
можно ставить задачи по продажам
Проверка: агент не назначает задачи людям, которых нет в справочнике или `can_assign = no`.
Шаг 6. Подготовьте календарь
В листе `calendar_events` сделайте колонки:
event_id
title
start_at
end_at
attendees
project_id
status
Для первого прототипа можно выгружать календарь раз в день из Google Calendar.
Проверка: у агента есть контекст занятости руководителя, но он не меняет календарь.
Шаг 7. Создайте очередь задач
В листе `task_queue` сделайте колонки:
task_id
inbox_id
project_id
title
description
assignee
due_date
priority
decision_required
blocker
confidence
review_status
review_comment
task_system
external_task_id
created_at
approved_at
processed_at
error
Статусы `review_status`:
- `draft`;
- `approved`;
- `delegate`;
- `clarify`;
- `rejected`;
- `done`;
- `error`.
Проверка: каждая будущая задача сначала появляется как черновик.
Шаг 8. Создайте настройки
В листе `settings` добавьте:
key
value
comment
Заполните:
default_task_system | todoist | куда создавать approved-задачи
urgent_hours | 24 | что считать срочным
max_tasks_per_day | 12 | мягкий лимит новых задач руководителю
duplicate_window_days | 14 | период поиска дублей
auto_create_allowed | no | в первой версии всегда no
Проверка: автоматическое создание задач отключено по умолчанию.
Шаг 9. Добавьте тестовые входящие
В `inbox` добавьте 6 строк:
IN-1001 | telegram | Иван | Нужно до пятницы проверить КП по клиенту Север и решить, даем ли скидку 10%. | new
IN-1002 | email | Анна | На следующей неделе нужен план запуска вебинара, ответственный маркетинг. | new
IN-1003 | meeting | Олег | Клиент Альфа заблокирован из-за договора, нужен звонок с юристами. | new
IN-1004 | telegram | Петр | Напомни мне посмотреть отчет продаж. | new
IN-1005 | email | spam | Срочно купите базу клиентов дешево. | new
IN-1006 | meeting | Иван | Перенеси встречу с инвесторами и напиши всем, что решение принято. | new
Проверка: есть нормальные, неясные, спамовые и рискованные поручения.
Шаг 10. Создайте workflow разбора входящих
Назовите workflow:
Executive task inbox parse
Добавьте узлы:
- `Schedule Trigger`;
- `Google Sheets` - чтение `settings`;
- `Google Sheets` - чтение `inbox`;
- `Google Sheets` - чтение `projects`;
- `Google Sheets` - чтение `people`;
- `Google Sheets` - чтение `calendar_events`;
- `Filter` по `status = new`;
- `Split In Batches`;
- `LLM` - извлечение структуры задачи;
- `Code` - проверка JSON;
- `Code` - проверка дублей и прав назначения;
- `Google Sheets` - запись `task_queue`;
- `Google Sheets` - обновление `inbox`;
- `Google Sheets` - запись `decision_log`.
Проверка: workflow создан и запускается вручную.
Шаг 11. Настройте расписание
Для первого запуска:
утро: 08:30
вечер: 17:30
Можно сделать два workflow или один workflow с расписанием два раза в день.
Проверка: агент не дергает руководителя каждую минуту, а собирает входящие пакетами.
Шаг 12. Подготовьте prompt для извлечения задачи
System prompt:
Ты помощник руководителя по разбору входящих поручений.
Твоя задача - извлечь задачу, дедлайн, проект, возможного исполнителя и риск.
Не назначай задачу окончательно.
Не обещай срок от имени руководителя.
Не меняй календарь.
Если поручение неясное, верни review_status=clarify.
Верни только валидный JSON.
User prompt:
Входящее сообщение:
{{text}}
Проекты:
{{projects}}
Люди:
{{people}}
Календарь:
{{calendar_events}}
Верни JSON:
{
"title": "короткое название задачи",
"description": "контекст и что нужно сделать",
"project_id": "string|null",
"assignee": "string|null",
"due_date": "YYYY-MM-DD|null",
"priority": "low|medium|high|urgent",
"decision_required": true,
"blocker": "string|null",
"review_status": "draft|clarify|rejected",
"reason": "почему такой статус",
"confidence": 0.0
}
Проверка: модель возвращает JSON без Markdown.
Шаг 13. Проверьте JSON
Добавьте узел `Code`.
Правила:
- `title` не пустой;
- `priority` входит в список;
- `confidence` от `0` до `1`;
- `due_date` либо null, либо дата;
- `review_status` только `draft`, `clarify`, `rejected`;
- если сообщение похоже на спам, статус `rejected`;
- если просьба поменять календарь или написать людям “решение принято”, статус `clarify`.
Проверка: рискованные входящие не становятся задачами автоматически.
Шаг 14. Проверьте исполнителя
Если LLM указал `assignee`, проверьте его в `people`.
Правила:
если assignee не найден -> assignee = null, review_status = clarify
если can_assign = no -> review_status = clarify
если роль не подходит проекту -> review_status = clarify
Проверка: агент не назначает задачу случайному человеку из текста.
Шаг 15. Проверьте дедлайн
Правила:
если due_date в прошлом -> clarify
если due_date сегодня и priority не urgent -> priority = urgent
если due_date пустой, но текст содержит “срочно” -> clarify
Проверка: “до пятницы” превращается в конкретную дату, а не остается свободным текстом.
Шаг 16. Найдите дубли
Перед записью в `task_queue` проверьте последние `duplicate_window_days`.
Дубль:
одинаковый project_id
похожий title
одинаковый assignee
статус не done/rejected
Если дубль найден:
review_status = clarify
review_comment = Возможный дубль задачи TASK-ID
Проверка: одно поручение из Telegram и встречи не создает две задачи.
Шаг 17. Запишите черновик в task_queue
Добавьте строку:
task_id: execution id + inbox_id
inbox_id
project_id
title
description
assignee
due_date
priority
decision_required
blocker
confidence
review_status
created_at
Если LLM вернул `clarify`, тоже запишите строку, чтобы руководитель видел, что нужно уточнить.
Проверка: каждое входящее получает итог: задача, уточнение или отклонение.
Шаг 18. Обновите inbox
После обработки входящего:
status = processed
processed_at = текущая дата
Если ошибка:
status = error
error = текст ошибки
Проверка: повторный запуск не обрабатывает одно и то же входящее снова.
Шаг 19. Проверьте задачи руководителем
Руководитель открывает `task_queue`.
Для каждой строки выбирает:
- `approved` - создать задачу;
- `delegate` - изменить исполнителя и создать задачу;
- `clarify` - запросить уточнение;
- `rejected` - не создавать задачу.
Перед approve проверить:
- верный проект;
- верный исполнитель;
- реалистичный срок;
- нет дубля;
- задача достаточно конкретная;
- не требуется ли сначала решение руководителя.
Проверка: без решения руководителя задача не уходит в систему задач.
Шаг 20. Создайте workflow создания задач
Назовите workflow:
Executive task create approved
Добавьте узлы:
- `Schedule Trigger`;
- `Google Sheets` - чтение `task_queue`;
- `Filter` по `review_status = approved` или `delegate`;
- `HTTP Request` к Todoist, Asana, Bitrix24 или другой системе;
- `Google Sheets` - обновление `external_task_id`;
- `Google Sheets` - запись ошибки.
Проверка: workflow берет только approved/delegate строки.
Шаг 21. Создайте задачу в Todoist или Asana
Пример тела для системы задач:
{
"content": "Проверить КП по клиенту Север",
"description": "Нужно решить, даем ли скидку 10%. Контекст: клиент Север, проект Продажи B2B.",
"due_date": "2026-05-29",
"priority": 4,
"assignee_id": "asana-123"
}
Если система задач не поддерживает назначение по API, отправьте задачу в Telegram руководителю или ассистенту.
Проверка: external task создана, а `external_task_id` записан в `task_queue`.
Шаг 22. Создайте вечерний обзор
Назовите workflow:
Executive daily review
Он читает:
- `task_queue`;
- задачи из внешней системы, если доступно;
- календарь на завтра;
- `decision_log`.
И записывает в лист `daily_review`:
review_id
date
overdue_tasks
today_done
tomorrow_focus
blocked_items
decisions_needed
summary
created_at
Проверка: в конце дня руководитель видит не список из 100 задач, а 5-7 важных пунктов.
Шаг 23. Добавьте prompt для daily review
System prompt:
Ты помощник руководителя.
Сделай короткий вечерний обзор задач.
Пиши только по данным.
Не придумывай статусы.
Не обвиняй людей.
Верни только JSON.
User prompt:
Данные задач, календаря и решений:
{{ JSON.stringify($json.context) }}
Верни JSON:
{
"summary": "3-5 предложений",
"overdue_tasks": ["что просрочено"],
"tomorrow_focus": ["что важно завтра"],
"blocked_items": ["что заблокировано"],
"decisions_needed": ["какие решения нужны от руководителя"]
}
Проверка: обзор короткий и не содержит выдуманных задач.
Шаг 24. Настройте уведомления
Для approved daily review отправляйте сообщение в Telegram или email.
Формат:
Вечерний обзор задач
Главное:
...
Просрочено:
- ...
Фокус завтра:
- ...
Нужны решения:
- ...
Не отправляйте обзор всей команде. Это личный управленческий инструмент руководителя.
Проверка: сообщение приходит только адресату.
Шаг 25. Добавьте журнал решений
В листе `decision_log` сделайте колонки:
decision_id
task_id
decision
comment
decided_by
created_at
Записывайте туда:
- approved;
- delegate;
- clarify;
- rejected;
- перенос срока;
- смену исполнителя.
Проверка: можно понять, почему задача была создана или отклонена.
Шаг 26. Сделайте regression test
В листе `test_cases` сделайте колонки:
case_id
input_text
expected_status
expected_priority
expected_has_due_date
expected_needs_decision
enabled
Добавьте тесты:
- явная задача с дедлайном;
- просьба без дедлайна;
- спам;
- опасная просьба поменять календарь;
- поручение с несуществующим человеком;
- дубль задачи;
- срочная задача;
- задача без проекта;
- просьба “напомни мне”;
- поручение, где нужно решение руководителя.
Создайте workflow:
Executive tasks regression test
Он прогоняет тесты через prompt и сравнивает результат с ожидаемым.
Проверка: изменение prompt не ломает базовую классификацию поручений.
Минимальная проверка результата
Прототип работает, если выполняются все пункты:
- входящие попадают в `inbox`;
- новые строки разбираются workflow;
- LLM возвращает структурированный JSON;
- исполнитель проверяется по `people`;
- дедлайн приводится к дате или отправляется в clarify;
- дубли не создаются;
- черновики попадают в `task_queue`;
- без approve задача не создается;
- external task получает `external_task_id`;
- вечерний обзор показывает просрочки, блокеры и решения.
Что нельзя автоматизировать в первой версии
- назначение задач людям без проверки;
- перенос встреч;
- обещания сроков от имени руководителя;
- отправку сообщений всей команде;
- закрытие задач как выполненных;
- удаление задач;
- изменение приоритетов проектов;
- решения по найму, увольнению, премиям и конфликтам.
Частые вопросы
Можно ли подключить Telegram как источник поручений?
Да. Но сначала лучше писать сообщения в `inbox`, а не сразу создавать задачи. Так видно, что агент извлек и где ошибся.
Почему нужен approval, если задача внутренняя?
Потому что неверный исполнитель, срок или формулировка могут создать хаос. Руководитель должен подтверждать задачи, пока качество агента не проверено.
Что делать с голосовыми сообщениями?
Сначала расшифровывать в текст, сохранять transcript в `inbox`, а уже потом прогонять через тот же workflow. Не делайте отдельную логику для голосовых на первом этапе.
Как агент понимает приоритет?
По сроку, словам вроде “срочно”, проектному приоритету и наличию блокера. Но итоговый приоритет руководитель может изменить в `task_queue`.
Какой минимум нужен для запуска?
Листы `inbox`, `projects`, `people`, `task_queue`, `settings`, n8n workflow, LLM prompt, ручной approval и интеграция хотя бы с одной системой задач или Telegram-уведомлением.