Как согласовать отпуск без бумажных заявлений?
Вместо заявления сотрудник пишет боту отпусков в Пачке и заполняет форму с датами и типом отпуска. Заявка приходит в беседу руководителей и HR с кнопками «Одобрить», «Отклонить» и «Уточнить». Руководитель нажимает одну из них, и бот сообщает сотруднику ответ. Ниже можно пройти путь заявки самому.
Бот
Зачем согласовывать отпуск в рабочем чате
Бумажное заявление или письмо ждёт, пока руководитель до него доберётся, и сотрудник всё это время не знает, покупать ли билеты. Руководитель ищет заявки в почте и личных сообщениях, а HR узнаёт об отпуске, когда даты уже согласовали без него. В рабочем чате заявка сразу попадает к руководителю и HR, а сотрудник получает ответ, как только руководитель нажал кнопку, чтобы согласовать отпуск.
- Заявку подают и одобряют в Пачке. Сотрудник заполняет форму в том же мессенджере, где обсуждает задачи с коллегами, и там же получает ответ. Руководитель и HR разбирают заявки в беседе рядом с остальными рабочими чатами.
- Руководитель отвечает одной кнопкой. Он нажимает «Одобрить», а бот пишет сотруднику и упоминает его, поэтому тот получает уведомление и может бронировать билеты.
- В беседе видны только заявки. Если руководителю нужно что-то уточнить, он зовёт сотрудника в тред под заявкой через @упоминание, даже если того нет в беседе. Остальных участников эта переписка не отвлекает.
- Заявки не теряются. Они собраны в одной беседе. Через полгода нужную можно найти поиском по имени сотрудника или номеру заявки, даже если руководитель за это время сменился.
- Видно, кто когда уходит. Перед тем как одобрить отпуск на октябрь, руководитель пролистывает беседу и проверяет, кто ещё подал заявку на эти даты. Так половина отдела не окажется в отпуске одновременно.
- Бота можно доработать под ваш процесс. Например, добавить второе согласование после руководителя или ставить сотруднику статус «В отпуске» на время отдыха.
Как настроить
Кроме Пачки понадобится n8n — сервис автоматизаций, в котором сценарии собирают из готовых блоков без кода. Его можно поставить на свой сервер или взять облачную версию. Если n8n у вас уже есть, настройка займёт около получаса.
Когда кто-то пишет боту /start или нажимает кнопку, Пачка отправляет это событие в n8n. В ответ воркфлоу от имени бота открывает сотруднику форму, публикует заявку в беседе «Отпуска», а после решения руководителя пишет сотруднику ответ. Поэтому бота настраивают в Пачке, воркфлоу — в n8n, а потом их связывают адресом вебхука.
В Пачке
- 1
Создайте беседу для заявок
Нажмите + рядом с поиском, выберите Беседа и назовите её «Отпуска». Добавьте в неё руководителей и HR. Затем откройте беседу в веб-версии Пачки и скопируйте число в конце адреса страницы. Это ID беседы, он понадобится в n8n. - 2
Создайте бота
В меню Интеграции выберите Боты и нажмите Создать бота. Назовите его «Бот отпусков» и сделайте публичным, чтобы сотрудники нашли бота в поиске и могли написать ему в личные сообщения. Затем на вкладке API скопируйте токен и user_id бота, они понадобятся в n8n. - 3
Добавьте бота в беседу
Откройте настройки беседы «Отпуска», нажмите Добавить участников, перейдите на вкладку Интеграции и выберите «Бот отпусков». Без этого бот не сможет публиковать заявки. Добавить бота может только администратор или создатель беседы.
В n8n
Воркфлоу для бота отпусков уже собран, его остаётся загрузить и подключить к вашей Пачке.
- 4
Загрузите воркфлоу
Скачайте файл Vacation_Bot_Pachca.json и вставьте его содержимое в новый воркфлоу в n8n. Воркфлоу работает через узел Пачки: если в вашем n8n его ещё нет, установите узел по гайду для разработчиков. - 5
Подключите бота
Чтобы n8n мог отправлять сообщения от имени бота, создайте в нём новый Credential для Пачки. В поле Access token вставьте токен бота, в поле Тип токена выберите Bot Token, в User ID укажите user_id бота, а в Base URL — этот адрес:
Затем выберите созданный Credential во всех узлах Пачки в воркфлоу.https://api.pachca.com/api/shared/v1 - 6
Укажите беседу и включите воркфлоу
В узле Send to HR Chat впишите ID беседы «Отпуска» в поле Entity ID, чтобы заявки приходили именно туда. В узле Webhook задайте свой Path, включите воркфлоу и скопируйте Production URL.
Связать бота с n8n и проверить
- 7
Вставьте адрес n8n в настройки бота
Вернитесь в Пачку, откройте настройки «Бота отпусков» и перейдите на вкладку Исходящий Webhook. Вставьте Production URL в поле Webhook URL. В типах событий отметьте новые сообщения и нажатия кнопок. В фильтре по командам впишите /start: из сообщений боту в n8n будет уходить только эта команда. - 8
Отправьте тестовую заявку
Напишите боту /start, он ответит кнопкой «Заявка на отпуск». Заполните и отправьте форму, после этого заявка должна появиться в беседе «Отпуска». Нажмите под ней «Одобрить» и вернитесь в чат с ботом: ответ придёт в тред под сообщением с кнопкой.
В команде
- 9
Договоритесь, кто отвечает на заявки
Обычно заявку одобряет руководитель сотрудника, а HR сверяет даты с графиком отпусков. После нажатия кнопки карточка в беседе не меняется и бот не пишет, кто ответил, поэтому решённые заявки удобно отмечать реакцией ✅. Если деталей не хватает, нажмите «Уточнить» и позовите сотрудника в тред под заявкой через @упоминание. Треды в Пачке сквозные, и позвать туда можно даже того, кого нет в беседе.
Статус «В отпуске» бот поставить не может, потому что метод API «Новый статус сотрудника» доступен только владельцу пространства и администраторам. Статус можно ставить отдельным шагом в воркфлоу с токеном администратора. Как устроены формы и кнопки в ботах, мы разобрали в статье про бота отпусков и в справке по кнопкам.
Если не работает
- Бот не отвечает на /start. Проверьте, что воркфлоу в n8n включён и в исходящем вебхуке бота указан Production URL, а не Test URL.
- Кнопка «Заявка на отпуск» не открывает форму. Скорее всего, в исходящем вебхуке бота не отмечены нажатия кнопок.
- Заявка не появляется в беседе. Проверьте, что бот добавлен в беседу «Отпуска» и в узле Send to HR Chat указан ID именно этой беседы.
