Автоматизация задач при смене стадий

Опрашивает стадии сделок каждые 60 с. При отслеживаемом переходе создаёт задачу с описанием, дедлайном и приоритетом.

Что делает

Каждую минуту загружает открытые сделки (исключая WON/LOSE), сравнивает каждую стадию с предыдущим значением и при каждом отслеживаемом переходе (EXECUTING, PREPAYMENT_INVOICE, FINAL_INVOICE по умолчанию) создаёт задачу, привязанную к сделке через UF_CRM_TASK.

Стек

Node.js 18+. Без внешних зависимостей.

Переменные окружения

export B24_HOOK='https://your.bitrix24.com/rest/1/secret'

Запуск

npx tsx 03-task-automation.ts

Исходник

skills/b24jssdk-recipes/examples/03-task-automation.ts.

Примечания

  • Состояние (dealStages) хранится в памяти. Перезапуск теряет его by design — для production сохраняйте на диск или в Redis.
  • Поллинг расточителен на масштабе; вариант на Pull (подписка на события 'crm') есть в списке предложений.
  • Порталы с несколькими воронками: рецепт использует хелпер baseStage() для сопоставления C<n>:EXECUTING и т.п.