Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted

Автоматический standup-бот для Mattermost

Автоматически отправляет ежедневные standupы команды в Mattermost, собирая информацию из интегрированного календаря Cal.com.

Показать оригинал (англ.)
Standup Bot - Worker

Production-ready workflow: Standup Bot - Worker. This workflow has been optimized for production use with comprehensive error handling, security, and documentation.

Комбинированный (Complex)Продвинутый · 30 нодHttprequestMattermostExecuteworkflowCal.com
Как это работает

Схема сценария, как в редакторе n8n: ноды и связи между ними. Кликните, чтобы рассмотреть.

клик - увеличить ⤢publish reportmattermost🌐get user datahttpRequestopen-standup-dialog?ifAction from MMwebhookSlash Cmd from MMwebhookconfig?if🌐open config dialoghttpRequest{}Prep Config Dialogfunctioncallback ID?switchstandup-confignoOpstandup-answersnoOp{}Prep ConfigOverridefunctionOverride ConfigexecuteWorkflowRead Config 1executeWorkflowRead Config 2executeWorkflowconfirm successmattermostRead Config 3executeWorkflow{}Filter DueStandupsfunction{}Prep RequestStandupfunction🌐Create ChannelhttpRequest🌐Remind UsershttpRequest🌐Get UserhttpRequest{}Prep Reminderfunction{}Prep StandupDialogfunction🌐open standupdialoghttpRequest{}Prep ReportfunctionDeleteReminderPostmattermost🌐Update PosthttpRequestEvery hourcronError HandlerstopAndError
  1. ТриггерEvery hourCron
  2. ТриггерSlash Cmd from MMWebhook
  3. ТриггерAction from MMWebhook
  4. ДействиеRead Config 3Execute Workflow
  5. Действиеconfig?If
  6. ДействиеRead Config 2Execute Workflow
  7. ДействиеFilter Due StandupsFunction
  8. ДействиеRead Config 1Execute Workflow
  9. Действиеcallback ID?Switch
  10. Обработка ошибокError HandlerStop And Error
  11. ДействиеPrep Config DialogFunction
  12. ДействиеPrep Request StandupFunction
  13. Действиеstandup-configNo Op
  14. Действиеstandup-answersNo Op
  15. Действиеopen-standup-dialog?If
  16. Действиеopen config dialogHttp Request
  17. ДействиеGet UserHttp Request
  18. ДействиеPrep Config OverrideFunction
  19. Действиеget user dataHttp Request
  20. ДействиеPrep Standup DialogFunction
  21. Действиеopen standup dialogHttp Request
  22. ДействиеCreate ChannelHttp Request
  23. ДействиеOverride ConfigExecute Workflow
  24. ДействиеPrep ReportFunction
  25. ДействиеPrep ReminderFunction
  26. Действиеconfirm successMattermost
  27. Действиеpublish reportMattermost
  28. ДействиеRemind UsersHttp Request
  29. ДействиеUpdate PostHttp Request
  30. ДействиеDelete ReminderPostMattermost

Сценарий «Автоматический standup-бот для Mattermost» состоит из 30 нод: Every hour, Slash Cmd from MM, Action from MM, Read Config 3, config?, Read Config 2, Filter Due Standups, Read Config 1 и других. Интеграции: Httprequest, Mattermost, Executeworkflow, Cal.com, Webhook.

Что понадобится
ПараметрЗначениеОписание
Учётные данныеHttprequest · Mattermost · Executeworkflow · Cal.com · WebhookДля каждого сервиса нужен свой ключ/токен - впишете их в n8n после установки.
Объём сценария30 нод · продвинутыйЧисло нод и уровень сложности логики. Больше нод - тоньше настройка.
Форматn8n workflow JSONГотовый воркфлоу. При развороте через кнопку импортируется автоматически.
Установка в один клик

Развернуть n8n с этим сценарием

Готовый сервер с n8n из маркетплейса Fatmetal - воркфлоу уже загружен. Рекомендованная конфигурация уже подставлена в заказ: 2 CPU · 4 ГБ · 50 ГБ. Останется вписать свои ключи, и автоматизация заработает. Нужна помощь с настройкой под нагрузку или сетью? Напишите инженеру.

Защищённый инстанс

n8n отдаём закрытым, а не голым

n8n часто атакуют - поэтому инстанс приезжает уже защищённым, без ручной настройки.

Владелец создан заранее

Аккаунт администратора настроен автоматически при развёртывании. Окно самостоятельной регистрации закрыто - никто не перехватит ваш инстанс в первые минуты после запуска (частый вектор атаки на self-hosted n8n).

Единый пароль с сервером

Логин в n8n - тот же пароль, что у вашей машины. Не нужно искать отдельные креды в файлах, меньше шансов оставить дефолт.

fail2ban против перебора

Автоматически банит IP после серии неудачных попыток входа по SSH. Защита от брутфорса из коробки.

HTTPS и security-заголовки

Трафик шифруется (Let's Encrypt, авто-обновление), выставлены HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy - защита от кликджекинга, MIME-снифинга и downgrade-атак.

Что дальше

После оплаты - сервер с готовым сценарием

Сервер создаётся автоматически за несколько минут. Ничего настраивать вручную не нужно - n8n поднимется сам, а этот сценарий уже будет внутри.

1

Сервер создаётся

После оплаты сервер разворачивается автоматически за несколько минут: ставится n8n, база данных и HTTPS. Дождитесь готовности в личном кабинете.

2

Открываете адрес

Адрес формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net. Например IP 45.15.159.10 https://45-15-159-10.fatmetal.net/. HTTPS уже настроен. Готовый адрес также есть в личном кабинете - можно просто скопировать его оттуда.

3

Входите готовыми данными

Аккаунт владельца уже создан - регистрировать ничего не нужно. Логин: admin@<адрес вашего сервера> (тот же адрес, что открыли на шаге 2 - например admin@45-15-159-10.fatmetal.net). Пароль - тот же, что у вашего сервера: он в личном кабинете и в /root/n8n-credentials.txt на сервере. Войдите и при желании сразу смените пароль в настройках. Интерфейс английский - у n8n нет русской локализации.

4

Сценарий уже внутри

Этот сценарий уже импортирован - найдёте его в разделе Workflows. Останется вписать свои ключи для интеграций (Httprequest, Mattermost, Executeworkflow) в Credentials и включить сценарий.

Важно: сохраните ключ шифрования. Ключ (N8N_ENCRYPTION_KEY) и пароль базы лежат на сервере в /root/n8n-credentials.txt. Этим ключом зашифрованы учётные данные интеграций - берегите его и сделайте резервную копию: без ключа их не восстановить даже из бэкапа базы.
Оригинал сценария (англ.): «Standup Bot - Worker». Источник: коллекция Zie619/n8n-workflows (лицензия MIT).
Спросить инженера в TelegramМы на связи