Яндекс.Метрика

Как согласовать отпуск без бумажных заявлений?

Вместо заявления сотрудник пишет боту отпусков в Пачке и заполняет форму с датами и типом отпуска. Заявка приходит в беседу руководителей и HR с кнопками «Одобрить», «Отклонить» и «Уточнить». Руководитель нажимает одну из них, и бот сообщает сотруднику ответ. Ниже можно пройти путь заявки самому.

Бот отпусков

Бот

Сегодня
Аватар участника
Мария Козлова10:02

/start

Бот отпусковБот10:02

Привет! 👋 Для подачи заявки на отпуск нажмите кнопку ниже:

Зачем согласовывать отпуск в рабочем чате

Бумажное заявление или письмо ждёт, пока руководитель до него доберётся, и сотрудник всё это время не знает, покупать ли билеты. Руководитель ищет заявки в почте и личных сообщениях, а HR узнаёт об отпуске, когда даты уже согласовали без него. В рабочем чате заявка сразу попадает к руководителю и HR, а сотрудник получает ответ, как только руководитель нажал кнопку, чтобы согласовать отпуск.

  • Заявку подают и одобряют в Пачке. Сотрудник заполняет форму в том же мессенджере, где обсуждает задачи с коллегами, и там же получает ответ. Руководитель и HR разбирают заявки в беседе рядом с остальными рабочими чатами.
  • Руководитель отвечает одной кнопкой. Он нажимает «Одобрить», а бот пишет сотруднику и упоминает его, поэтому тот получает уведомление и может бронировать билеты.
  • В беседе видны только заявки. Если руководителю нужно что-то уточнить, он зовёт сотрудника в тред под заявкой через @упоминание, даже если того нет в беседе. Остальных участников эта переписка не отвлекает.
  • Заявки не теряются. Они собраны в одной беседе. Через полгода нужную можно найти поиском по имени сотрудника или номеру заявки, даже если руководитель за это время сменился.
  • Видно, кто когда уходит. Перед тем как одобрить отпуск на октябрь, руководитель пролистывает беседу и проверяет, кто ещё подал заявку на эти даты. Так половина отдела не окажется в отпуске одновременно.
  • Бота можно доработать под ваш процесс. Например, добавить второе согласование после руководителя или ставить сотруднику статус «В отпуске» на время отдыха.

Как настроить

Кроме Пачки понадобится n8n — сервис автоматизаций, в котором сценарии собирают из готовых блоков без кода. Его можно поставить на свой сервер или взять облачную версию. Если n8n у вас уже есть, настройка займёт около получаса.

Когда кто-то пишет боту /start или нажимает кнопку, Пачка отправляет это событие в n8n. В ответ воркфлоу от имени бота открывает сотруднику форму, публикует заявку в беседе «Отпуска», а после решения руководителя пишет сотруднику ответ. Поэтому бота настраивают в Пачке, воркфлоу — в n8n, а потом их связывают адресом вебхука.

В Пачке

  1. 1

    Создайте беседу для заявок

    Нажмите + рядом с поиском, выберите Беседа и назовите её «Отпуска». Добавьте в неё руководителей и HR. Затем откройте беседу в веб-версии Пачки и скопируйте число в конце адреса страницы. Это ID беседы, он понадобится в n8n.
  2. 2

    Создайте бота

    В меню Интеграции выберите Боты и нажмите Создать бота. Назовите его «Бот отпусков» и сделайте публичным, чтобы сотрудники нашли бота в поиске и могли написать ему в личные сообщения. Затем на вкладке API скопируйте токен и user_id бота, они понадобятся в n8n.
  3. 3

    Добавьте бота в беседу

    Откройте настройки беседы «Отпуска», нажмите Добавить участников, перейдите на вкладку Интеграции и выберите «Бот отпусков». Без этого бот не сможет публиковать заявки. Добавить бота может только администратор или создатель беседы.

В n8n

Воркфлоу для бота отпусков уже собран, его остаётся загрузить и подключить к вашей Пачке.

  1. 4

    Загрузите воркфлоу

    Скачайте файл Vacation_Bot_Pachca.json и вставьте его содержимое в новый воркфлоу в n8n. Воркфлоу работает через узел Пачки: если в вашем n8n его ещё нет, установите узел по гайду для разработчиков.
  2. 5

    Подключите бота

    Чтобы n8n мог отправлять сообщения от имени бота, создайте в нём новый Credential для Пачки. В поле Access token вставьте токен бота, в поле Тип токена выберите Bot Token, в User ID укажите user_id бота, а в Base URL — этот адрес:
    https://api.pachca.com/api/shared/v1
    Затем выберите созданный Credential во всех узлах Пачки в воркфлоу.
  3. 6

    Укажите беседу и включите воркфлоу

    В узле Send to HR Chat впишите ID беседы «Отпуска» в поле Entity ID, чтобы заявки приходили именно туда. В узле Webhook задайте свой Path, включите воркфлоу и скопируйте Production URL.

Связать бота с n8n и проверить

  1. 7

    Вставьте адрес n8n в настройки бота

    Вернитесь в Пачку, откройте настройки «Бота отпусков» и перейдите на вкладку Исходящий Webhook. Вставьте Production URL в поле Webhook URL. В типах событий отметьте новые сообщения и нажатия кнопок. В фильтре по командам впишите /start: из сообщений боту в n8n будет уходить только эта команда.
  2. 8

    Отправьте тестовую заявку

    Напишите боту /start, он ответит кнопкой «Заявка на отпуск». Заполните и отправьте форму, после этого заявка должна появиться в беседе «Отпуска». Нажмите под ней «Одобрить» и вернитесь в чат с ботом: ответ придёт в тред под сообщением с кнопкой.

В команде

  1. 9

    Договоритесь, кто отвечает на заявки

    Обычно заявку одобряет руководитель сотрудника, а HR сверяет даты с графиком отпусков. После нажатия кнопки карточка в беседе не меняется и бот не пишет, кто ответил, поэтому решённые заявки удобно отмечать реакцией ✅. Если деталей не хватает, нажмите «Уточнить» и позовите сотрудника в тред под заявкой через @упоминание. Треды в Пачке сквозные, и позвать туда можно даже того, кого нет в беседе.

Статус «В отпуске» бот поставить не может, потому что метод API «Новый статус сотрудника» доступен только владельцу пространства и администраторам. Статус можно ставить отдельным шагом в воркфлоу с токеном администратора. Как устроены формы и кнопки в ботах, мы разобрали в статье про бота отпусков и в справке по кнопкам.

Если не работает

  • Бот не отвечает на /start. Проверьте, что воркфлоу в n8n включён и в исходящем вебхуке бота указан Production URL, а не Test URL.
  • Кнопка «Заявка на отпуск» не открывает форму. Скорее всего, в исходящем вебхуке бота не отмечены нажатия кнопок.
  • Заявка не появляется в беседе. Проверьте, что бот добавлен в беседу «Отпуска» и в узле Send to HR Chat указан ID именно этой беседы.