AI-ассистент — анализ сделки, создание задачи

Загружает сделку и её дела, спрашивает у GPT-4o лучшее следующее действие, создаёт задачу, привязанную к сделке, с приоритетом и дедлайном.

Что делает

По id сделки из командной строки загружает сделку (crm.item.get через actions.v2.call.make) и её таймлайн дел (crm.activity.list через actions.v2.callList.make). Отправляет структурированный промпт в GPT-4o, просит JSON-рекомендацию и создаёт задачу (tasks.task.add через actions.v3.call.make), привязанную к сделке через UF_CRM_TASK.

Стек

Node.js 18+, openai.

Установка

pnpm add openai

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

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

Запуск

npx tsx 08-ai-assistant.ts <DEAL_ID>

Исходник

skills/b24jssdk-recipes/examples/08-ai-assistant.ts.

Примечания

  • Поиск сделки использует v3-поля (camelCase); список дел — классические поля в верхнем регистре (OWNER_TYPE_ID, OWNER_ID, CREATED).
  • Переход на tool-calling OpenAI (параметр tools, цикл function-calling) — современная форма; см. список предлагаемых примеров.
  • Промпт требует строгий JSON-ответ и использует response_format: { type: 'json_object' }, чтобы это обеспечить.
  • Маппинг приоритета: high → 2, medium → 1, low → 0 соответствует enum приоритета задач Bitrix24.