Три процесса, которые собрал конструктор по описанию словами
Коротко: все три процесса ниже собрал конструктор FlowAgents по описанию задачи словами — модель Claude Opus 5.5, без правок человеком. Каждый черновик проверила сама платформа: процесс не запустится, если он что-то записывает в CRM или задачи без вашего подтверждения или без ограничения числа записей. Ниже — описание, которое получил конструктор, шаги процесса, кто что делает и полный текст процесса.
ДебиторкаЗаявка → счётУтро продавца
Дебиторка: кто сколько должен и задачи менеджерам
Для кого: Финансовый директор, бухгалтер
Описание, которое получил конструктор:
Каждый понедельник в 9 утра сверяй, кто нам должен. Возьми долги покупателей из 1С, поступления за последние 30 дней из банка (Точка или Т-Бизнес) и ответственных менеджеров по клиентам из Битрикс24, сопоставь оплаты с долгами и посчитай просрочку. Должников с просрочкой проверь в Контур.Фокусе на риски. Подготовь список обзвона и вежливые черновики напоминаний с запросом акта сверки — письма отправлю сам. После моего подтверждения поставь в Битрикс24 каждому менеджеру задачу обзвонить его должников — одним подтверждением на весь список — и пришли мне отчёт: кто сколько должен, риски и черновики.
Собран с первой попытки; правок человеком не было.
Что собрал конструктор
Схема — та же, что в кабинете; прогон проигрывается в браузере. По шагам:
- Одновременно собирает долги покупателей из 1С:Бухгалтерии, поступления из банка за выбранный период (Точка или Т-Бизнес — выбор в форме) и ответственных менеджеров из Битрикс24.
- Сопоставляет оплаты с долгами и менеджерами, считает просрочку по каждому должнику.
- Проверяет должников с просрочкой в Контур.Фокусе: статус, банкротство, суды, исполнительные производства.
- Готовит список обзвона по менеджерам — сначала высокий риск — и вежливые черновики писем с запросом акта сверки. Письма не отправляет.
- Собирает задачи: одна на менеджера, в ней все его должники; клиентов без менеджера в задачи не включает.
- Подтверждение человеком: весь список задач одним экраном. Нет ответа — процесс останавливается, а не пишет сам.
- Для каждого менеджера — задача в Битрикс24. Не больше 20 задач за запуск; сбой на одной — остальные не ставятся.
- Отчёт: кто сколько должен, риски, черновики писем, какие задачи поставлены.
Делает платформа
- читает 1С, банк, Битрикс24 и Контур.Фокус — только чтение
- сверяет оплаты и считает просрочку
- пишет черновики писем и задачи
- присылает отчёт каждый понедельник в 9:00
Остаётся человеку
- подтверждает задачи менеджерам
- отправляет письма должникам сам
- решает по рисковым должникам
Полный текст процесса, как его выдал конструктор
process: receivables_weekly
name: Еженедельная сверка дебиторки и задачи на обзвон
entry: бухгалтер
description: |
Раз в неделю берёт долги покупателей из 1С, поступления за 30 дней из банка и менеджеров из Битрикс24.
Сопоставляет оплаты с долгами, считает просрочку и проверяет должников с просрочкой в Контур.Фокусе.
Готовит список обзвона и черновики писем. После подтверждения ставит каждому менеджеру задачу в Битрикс24.
station: сервер
strict: false
rollback: Удалить в Битрикс24 задачи «Обзвон должников» с датой создания этого запуска (список — в отчёте
процесса).
form:
- id: bank
label: Банк
type: select
values:
- Точка
- Т-Бизнес
- оба
default: Точка
required: true
hint: Откуда брать поступления от покупателей
- id: days
label: Период поступлений, дней
type: number
default: 30
required: true
hint: За сколько последних дней смотреть оплаты в банке
steps:
- id: collect
label: Сбор данных
parallel:
onec:
- id: debts
agent: onec-buh
prompt: |
Выгрузи из 1С:Бухгалтерии задолженность покупателей перед нами на сегодня (взаиморасчёты по счёту 62 и аналогам).
По каждому контрагенту дай: наименование, ИНН, сумму долга, договор, неоплаченные документы реализации с датой, суммой и сроком оплаты по договору (если срок не задан, так и напиши).
Авансы и переплаты покажи отдельным списком, в долги их не смешивай.
Ответ — таблица, затем итоговая сумма. Последняя строка — «Итог: …» или «Работа остановлена: …».
bank:
- id: pay_tochka
agent: tochka-lookup
model: fast
when: '{{ form.bank != ''Т-Бизнес'' }}'
prompt: |
Покажи все поступления на счета в Точке за последние {{ form.days }} дней.
По каждому платежу: дата, плательщик, ИНН плательщика, сумма, назначение платежа.
Свои переводы между счетами и возвраты не включай. Ответ — таблица. Последняя строка — «Итог: …» или «Работа остановлена: …».
- id: pay_tbank
agent: tbank-lookup
model: fast
when: '{{ form.bank != ''Точка'' }}'
prompt: |
Покажи все поступления на счета в Т-Бизнесе за последние {{ form.days }} дней.
По каждому платежу: дата, плательщик, ИНН плательщика, сумма, назначение платежа.
Свои переводы между счетами и возвраты не включай. Ответ — таблица. Последняя строка — «Итог: …» или «Работа остановлена: …».
crm:
- id: managers
agent: bitrix24-lookup
model: fast
prompt: |
Выгрузи из Битрикс24 компании-клиенты с ответственным менеджером.
По каждой компании: название, ИНН (из реквизитов), ID ответственного сотрудника, ФИО ответственного, основной контакт (имя, телефон, e-mail).
Если ИНН в реквизитах нет, так и пометь. Ответ — таблица. Последняя строка — «Итог: …» или «Работа остановлена: …».
- id: match
agent: receivables-desk
model: reasoning
prompt: |
Сопоставь долги покупателей с оплатами и ответственными менеджерами.
Долги из 1С:
{{ steps.debts.output }}
Поступления из банка за {{ form.days }} дней:
Точка: {{ steps.pay_tochka.output | default('не запрашивалась') }}
Т-Бизнес: {{ steps.pay_tbank.output | default('не запрашивался') }}
Менеджеры из Битрикс24:
{{ steps.managers.output }}
Что сделать:
1. Свяжи записи по ИНН, а если ИНН нет, то по наименованию (так пометь).
2. Найди оплаты из банка, которых ещё нет в 1С, и уменьши на них долг. Каждую такую оплату пометь «учтена по банку, в 1С не проведена».
3. По каждому неоплаченному документу посчитай просрочку в днях от срока оплаты. Если срока нет, считай от даты документа плюс 10 дней и пометь это.
4. Раздели должников: «с просрочкой» и «срок не наступил».
Ответ: таблица должников с просрочкой (клиент, ИНН, долг, просрочено, макс. дней просрочки, последняя оплата, менеджер, контакт), затем таблица «срок не наступил», затем список клиентов без менеджера и спорные сопоставления.
Ничего не выдумывай: если данных не хватает, так и напиши. Последняя строка — «Итог: …» или «Работа остановлена: …».
- id: risks
agent: http-lookup
prompt: |
По набору kontur_focus (Контур.Фокус) проверь на риски каждого должника с просрочкой из списка ниже (поиск по ИНН).
По каждому: статус (действует / ликвидация / банкротство), признаки риска (арбитражи как ответчик, исполнительные производства, недостоверность сведений, массовый адрес или директор, блокировки счетов), уровень риска (низкий / средний / высокий) и одна строка, почему.
Должников «срок не наступил» не проверяй. Если должников с просрочкой нет, так и ответь.
{{ steps.match.output }}
Ответ — таблица. Данные только из Контур.Фокуса, если сведения не получены, так и пометь. Последняя строка — «Итог: …» или «Работа остановлена: …».
- id: calls
agent: receivables-desk
prompt: |
По сверке и проверке рисков подготовь материалы для взыскания.
Сверка:
{{ steps.match.output }}
Риски по Контур.Фокусу:
{{ steps.risks.output }}
1. Список обзвона по менеджерам. Порядок: сначала высокий риск, потом по сумме просрочки по убыванию. По каждому: клиент, контакт и телефон, сумма просрочки, дней просрочки, риск, что сказать в звонке (одна строка).
2. Вежливые черновики напоминаний, по одному на должника с просрочкой. Тема письма, обращение к контакту, неоплаченные документы с суммами и сроками, просьба оплатить или сообщить дату оплаты, просьба подписать акт сверки взаиморасчётов на текущую дату. Тон доброжелательный, без угроз. Если риск высокий, в начале черновика оставь пометку для меня (в письмо её не переносить).
Письма не отправляй, это только черновики. Последняя строка — «Итог: …» или «Работа остановлена: …».
- id: call_tasks
agent: receivables-desk
model: fast
prompt: |
По списку обзвона ниже собери задачи для Битрикс24: одна задача на менеджера, в ней все его должники с просрочкой.
Клиентов без менеджера в задачи не включай.
{{ steps.calls.output }}
Ответь ТОЛЬКО JSON, без пояснений и без обрамления ```:
{"tasks": [{"manager": "ФИО менеджера", "responsible_id": "ID сотрудника в Битрикс24", "title": "Обзвон должников: N клиентов, X ₽ просрочки", "description": "по строке на должника: клиент — телефон — сумма просрочки — дней — риск — что сказать"}]}
Если должников с просрочкой нет: {"tasks": []}
- id: preview
text: |
Будут поставлены задачи в Битрикс24 (по одной на менеджера):
{{ steps.call_tasks.output }}
Список обзвона:
{{ steps.calls.output }}
- id: confirm_tasks
approve:
title: Поставить задачи на обзвон в Битрикс24?
text: |
{{ steps.preview.text }}
Задачи из списка {{ steps.call_tasks.output }} будут созданы одним подтверждением.
fields:
- id: comment
label: Комментарий (необязательно)
on_timeout: stop
timeout: PT2H
- id: create_tasks
each: '{{ fromJson(steps.call_tasks.output).tasks }}'
item_label: '{{ item.manager }}'
max_items: 20
on_item_failure: stop
steps:
- id: task_create
tool: task_add
executor: bitrix
writes: true
params:
title: '{{ item.title }}'
description: '{{ item.description }}'
responsible_id: '{{ item.responsible_id }}'
- id: final
text: |
Сверка дебиторской задолженности на понедельник.
Кто сколько должен:
{{ steps.match.output }}
Риски (Контур.Фокус):
{{ steps.risks.output }}
Список обзвона и черновики писем (отправить вручную):
{{ steps.calls.output }}
Задачи в Битрикс24 ({{ steps.create_tasks.count }}):
{{ steps.create_tasks.text }}
report:
title: Дебиторка на понедельник
from: final
text: '{{ steps.final.text }}'
schedule: 0 9 * * 1
Новый клиент по звонку — до сделки и задачи на счёт
Для кого: Менеджер по продажам
Описание, которое получил конструктор:
Когда звонит новый клиент, я ввожу его ИНН, телефон и что он хочет. Найди его звонок в телефонии, проверь, есть ли уже компания или сделка в Битрикс24, и подтяни реквизиты по ИНН из DaData и Контур.Фокуса вместе с рисками. Если сделки нет — после моего подтверждения создай её в Битрикс24. Подготовь черновик счёта по позициям и сумме, которые я указал, и после подтверждения поставь бухгалтеру задачу в Битрикс24 выставить счёт в 1С и отправить через ЭДО. Пришли мне отчёт.
Собран с первой попытки; правок человеком не было.
Что собрал конструктор
Схема — та же, что в кабинете; прогон проигрывается в браузере. По шагам:
- Проверяет ИНН из формы: не 10 и не 12 цифр — сразу остановка с понятным сообщением.
- Одновременно: находит звонок клиента в телефонии (Новофон или Телфин), ищет компанию и открытые сделки в Битрикс24, берёт реквизиты из DaData и риски из Контур.Фокуса.
- Показывает, какая сделка будет создана. Подтверждение человеком: создавать ли сделку.
- Если сделки по клиенту ещё нет — создаёт её в Битрикс24.
- Агент продаж готовит черновик счёта строго по позициям и сумме из формы и задание бухгалтеру.
- Подтверждение человеком: черновик счёта, можно добавить замечания бухгалтеру.
- Подтверждение человеком: ставить ли задачу — с её текстом перед глазами.
- Задача бухгалтеру в Битрикс24: выставить счёт в 1С и отправить через ЭДО.
- Отчёт менеджеру: что найдено, что создано, что требует внимания.
Делает платформа
- находит звонок, клиента, реквизиты и риски — только чтение
- готовит черновик сделки, счёта и задачи
- создаёт сделку и задачу после подтверждения
Остаётся человеку
- заполняет форму по звонку: ИНН, телефон, что нужно, позиции
- подтверждает сделку, счёт и задачу
- бухгалтер выставляет счёт и отправляет через ЭДО
Полный текст процесса, как его выдал конструктор
process: lead_to_invoice_full
name: Новый клиент — от звонка до счёта
entry: менеджер
description: |
По ИНН, телефону и запросу нового клиента находит его звонок, проверяет компанию и сделку в Битрикс24,
подтягивает реквизиты и риски из DaData и Контур.Фокуса. С подтверждения менеджера создаёт сделку,
готовит черновик счёта и ставит бухгалтеру задачу выставить счёт в 1С и отправить через ЭДО.
station: сервер
strict: false
form:
- id: inn
label: ИНН клиента
required: true
hint: 10 цифр для организации, 12 — для ИП
- id: phone
label: Телефон клиента
required: true
hint: в любом формате, например +7 900 123-45-67
- id: need
label: Что хочет клиент
required: true
hint: коротко — товар или услуга, сроки, особые условия
- id: items
label: Позиции счёта
required: true
hint: по строке на позицию — наименование, количество, единица, цена
- id: amount
label: Сумма счёта, ₽
type: number
required: true
- id: accountant_id
label: ID бухгалтера в Битрикс24
type: number
required: true
hint: ответственный за задачу «выставить счёт» (Сотрудники → профиль → число в адресе)
steps:
- id: inn_ok
require: '{{ form.inn | trim | length == 10 or form.inn | trim | length == 12 }}'
message: 'Остановлено: ИНН должен состоять из 10 или 12 цифр'
- id: gather
label: Звонок, CRM и реквизиты
parallel:
calls:
- id: call_find
agent: http-lookup
model: fast
prompt: |
Найди в телефонии (наборы novofon и telphin — тот, что подключён) последний звонок
с номера {{ form.phone }} или на него за последние 3 дня. Номер сравнивай по последним
10 цифрам. Ответь: дата и время, входящий/исходящий, длительность, кто из сотрудников
говорил, есть ли запись или расшифровка (ссылка, если есть). Ничего не придумывай:
если звонка нет — так и напиши.
Последней строкой — «Итог: звонок найден — <дата, сотрудник>» или «Итог: звонок не найден».
crm:
- id: crm_check
agent: bitrix24-lookup
model: fast
prompt: |
Проверь в CRM Битрикс24 клиента с ИНН {{ form.inn }} и телефоном {{ form.phone }}:
1) компания с таким ИНН в реквизитах — ID, название, ответственный;
2) контакт с этим телефоном — ID, имя, к какой компании привязан;
3) открытые сделки этой компании или контакта — ID, название, стадия, сумма, ответственный;
4) лиды с этим телефоном или ИНН, если есть.
Только чтение, ничего не меняй.
Последней строкой ровно одно из:
«Итог: сделка есть — ID <число>, компания ID <число или нет>»,
«Итог: сделки нет, компания ID <число>»,
«Итог: сделки нет, компании нет».
requisites:
- id: req_dadata
agent: http-lookup
model: fast
prompt: |
Набор dadata: найди организацию или ИП по ИНН {{ form.inn }}.
Ответь: полное и краткое наименование, ИНН, КПП, ОГРН, юридический адрес,
руководитель, статус (действует / ликвидируется / ликвидирована), дата регистрации,
основной ОКВЭД. Если ничего не нашлось — так и напиши.
Последней строкой — «Итог: <краткое наименование>, статус <статус>» или «Работа остановлена: ИНН не найден».
- id: req_focus
agent: http-lookup
model: fast
prompt: |
Набор kontur_focus: проверь контрагента с ИНН {{ form.inn }}.
Ответь: маркеры риска (красные, жёлтые, зелёные) с короткой расшифровкой, арбитражные
дела в роли ответчика за последний год (число и сумма), исполнительные производства,
признаки недостоверности адреса или руководителя, сведения о банкротстве.
Ничего не додумывай — только то, что вернул Фокус.
Последней строкой — «Итог: риск низкий / средний / высокий — <главная причина>».
- id: deal_preview
when: '{{ steps.crm_check.verdict | lower contains ''сделки нет'' }}'
text: |
Будет создана сделка в Битрикс24:
• Название: {{ form.need }} — ИНН {{ form.inn }}
• Сумма: {{ form.amount }} ₽
• Комментарий: телефон {{ form.phone }}; запрос: {{ form.need }}
• Компания: ID, который вы укажете ниже (если пусто — сделка без компании)
Что нашлось в CRM:
{{ steps.crm_check.output }}
Реквизиты: {{ steps.req_dadata.verdict }}
Риски: {{ steps.req_focus.verdict }}
- id: deal_ok
when: '{{ steps.crm_check.verdict | lower contains ''сделки нет'' }}'
approve:
title: Создать сделку в Битрикс24?
text: '{{ steps.deal_preview.text }}'
fields:
- id: company_id
label: ID компании в Битрикс24 (из ответа CRM; пусто — без компании)
on_timeout: stop
timeout: PT2H
- id: deal_create
when: '{{ steps.crm_check.verdict | lower contains ''сделки нет'' }}'
executor: bitrix
tool: deal_add
writes: true
params:
fields:
TITLE: '{{ form.need }} — ИНН {{ form.inn }}'
OPPORTUNITY: '{{ form.amount }}'
CURRENCY_ID: RUB
COMPANY_ID: '{{ approve.deal_ok.company_id | default('''') }}'
COMMENTS: 'Новый клиент. Телефон {{ form.phone }}. Запрос: {{ form.need }}'
rollback: 'Удалить созданную сделку вручную: Битрикс24 → CRM → Сделки → открыть сделку «{{ form.need
}} — ИНН {{ form.inn }}» → Удалить.'
- id: invoice
agent: lead-desk
prompt: |
Подготовь черновик счёта и задание бухгалтеру по новому клиенту.
Запрос клиента: {{ form.need }}
Телефон: {{ form.phone }}, ИНН: {{ form.inn }}
Позиции, которые указал менеджер (бери строго их, не добавляй и не меняй цены):
{{ form.items }}
Итоговая сумма от менеджера: {{ form.amount }} ₽
Звонок: {{ steps.call_find.output }}
CRM: {{ steps.crm_check.output }}
Создана сделка: {{ steps.deal_create.result | default('не создавалась — сделка уже была') }}
Реквизиты (DaData): {{ steps.req_dadata.output }}
Риски (Контур.Фокус): {{ steps.req_focus.output }}
Ответь в формате:
1) Покупатель — наименование, ИНН, КПП, ОГРН, адрес, руководитель.
2) Таблица позиций — №, наименование, кол-во, ед., цена, сумма; строка «Итого».
Сверь сумму позиций с суммой менеджера; при расхождении выдели его отдельной строкой, сам не исправляй.
3) Риски — коротко, что стоит знать бухгалтеру и менеджеру (предоплата при высоком риске).
4) Задание бухгалтеру — выставить счёт в 1С на этого покупателя по позициям выше и отправить через ЭДО;
номер сделки в Битрикс24, если он известен.
Последней строкой — «Итог: черновик готов на <сумма> ₽» или «Работа остановлена: <почему>».
- id: invoice_ok
approve:
title: Черновик счёта — поставить задачу бухгалтеру?
text: '{{ steps.invoice.output }}'
fields:
- id: comment
label: Замечания бухгалтеру (необязательно)
on_timeout: stop
timeout: PT2H
- id: task_preview
text: |
Будет поставлена задача в Битрикс24:
• Название: Выставить счёт в 1С и отправить через ЭДО — ИНН {{ form.inn }}
• Ответственный: сотрудник ID {{ form.accountant_id }}
• Описание: черновик счёта из предыдущего шага
• Замечания менеджера: {{ approve.invoice_ok.comment | default('нет') }}
- id: task_ok
approve:
title: Поставить задачу бухгалтеру?
text: '{{ steps.task_preview.text }}'
on_timeout: stop
timeout: PT2H
- id: task_create
executor: bitrix
tool: task_add
writes: true
params:
fields:
TITLE: Выставить счёт в 1С и отправить через ЭДО — ИНН {{ form.inn }}
RESPONSIBLE_ID: '{{ form.accountant_id }}'
DESCRIPTION: |
{{ steps.invoice.output }}
Замечания менеджера: {{ approve.invoice_ok.comment | default('нет') }}
Сделка: {{ steps.deal_create.result | default(steps.crm_check.verdict) }}
rollback: 'Удалить задачу вручную: Битрикс24 → Задачи → «Выставить счёт в 1С и отправить через ЭДО —
ИНН {{ form.inn }}» → Удалить.'
- id: summary
text: |
Новый клиент: ИНН {{ form.inn }}, тел. {{ form.phone }}
Запрос: {{ form.need }}
Звонок: {{ steps.call_find.verdict }}
CRM: {{ steps.crm_check.verdict }}
Сделка создана: {{ steps.deal_create.result | default('нет — уже была или не потребовалась') }}
Реквизиты: {{ steps.req_dadata.verdict }}
Риски: {{ steps.req_focus.verdict }}
Счёт: {{ steps.invoice.verdict }}
Задача бухгалтеру: {{ steps.task_create.result | default('не поставлена') }}
report:
title: Новый клиент — от звонка до счёта
from: summary
Утро продавца: дозаказ и реклама на пустых остатках
Для кого: Владелец магазина на маркетплейсах, менеджер по закупкам
Описание, которое получил конструктор:
Каждое утро в 8 смотри продажи и остатки на Ozon и Wildberries за последние 14 дней, остатки на складе и товары в пути в МоёмСкладе и расход рекламы в Яндекс Директе и Метрике. Посчитай, что закончится в ближайшие 7 дней и сколько дозаказать до запаса на 30 дней, и найди рекламу, которая крутится на товары с пустым или почти пустым остатком. Напиши черновик заказа поставщику — отправлю сам. После моего подтверждения поставь в YouGile задачу «дозаказать» в колонку, которую я укажу, и пришли мне сводку: что дозаказать и где остановить рекламу.
Собран с первой попытки; правок человеком не было.
Что собрал конструктор
Схема — та же, что в кабинете; прогон проигрывается в браузере. По шагам:
- Одновременно собирает продажи и остатки Ozon и Wildberries, склад и товары в пути из МоегоСклада, расходы Яндекс Директа и Метрики и список колонок YouGile.
- Считает, что закончится в ближайшие дни и сколько дозаказать до нужного запаса; находит рекламу на товарах с пустым или почти пустым остатком.
- Пишет черновик заказа поставщику — отдельное письмо на каждого поставщика. Ничего не отправляет.
- Подтверждение человеком: расчёт, черновик заказа и выбор колонки YouGile.
- Задача «Дозаказать» в выбранной колонке YouGile — с расчётом и черновиком заказа.
- Утренняя сводка каждый день в 8:00: что дозаказать и где остановить рекламу.
Делает платформа
- читает маркетплейсы, склад, рекламу и YouGile — только чтение
- считает дозаказ и находит лишнюю рекламу
- ставит задачу в YouGile после подтверждения
Остаётся человеку
- выбирает колонку и подтверждает задачу
- отправляет заказ поставщику
- останавливает рекламу в кабинете Директа
Полный текст процесса, как его выдал конструктор
process: marketplace_reorder_morning
name: Утренний дозаказ и реклама на пустые остатки
entry: владелец магазина
description: |
Каждое утро сводит продажи и остатки Ozon и Wildberries, склад и товары в пути из МоегоСклада, расход Директа и Метрики.
Считает, что закончится за неделю и сколько дозаказать до запаса на 30 дней, находит рекламу на пустые остатки.
Готовит черновик заказа поставщику, после подтверждения ставит задачу «Дозаказать» в YouGile и присылает сводку.
station: сервер
form:
- id: days
label: Период продаж, дней
type: number
default: 14
hint: за сколько последних дней считать скорость продаж
- id: horizon
label: Горизонт «закончится», дней
type: number
default: 7
- id: target
label: Запас после дозаказа, дней
type: number
default: 30
- id: low_days
label: «Почти пусто» — запаса меньше, дней
type: number
default: 3
hint: реклама на товар с таким или меньшим запасом попадёт в список на остановку
steps:
- id: collect
label: Сбор данных
parallel:
ozon:
- id: ozon_data
agent: ozon-lookup
model: fast
prompt: |
Магазин на Ozon, последние {{ form.days }} дней.
По каждому товару, который продавался за период или сейчас есть в остатке, дай:
offer_id (артикул продавца), SKU Ozon, название, продано штук за период (без отмен и возвратов),
текущий остаток на складах Ozon (FBO) и на своём складе (FBS) отдельно, штук в пути на склады Ozon (поставки в статусе «в пути», если есть),
ссылку на карточку товара.
Ответ — JSON-список объектов с полями offer_id, sku, name, sold, stock_fbo, stock_fbs, in_transit, url, без пояснений вокруг.
Если часть данных недоступна — так и напиши отдельной строкой после JSON, не выдумывай цифры.
wb:
- id: wb_data
agent: wildberries-lookup
model: fast
prompt: |
Магазин на Wildberries, последние {{ form.days }} дней.
По каждому товару, который продавался за период или сейчас есть в остатке, дай:
артикул продавца, nmID, название, продано штук за период (выкупы, без возвратов), текущий остаток на складах WB,
штук в пути к клиенту и в пути на склады WB, ссылку на карточку.
Ответ — JSON-список объектов с полями vendor_code, nm_id, name, sold, stock, in_transit, url, без пояснений вокруг.
Если часть данных недоступна — так и напиши отдельной строкой после JSON, не выдумывай цифры.
moysklad:
- id: ms_data
agent: moysklad-lookup
model: fast
prompt: |
МойСклад, на сегодня.
По каждому товару дай: артикул, код, название, остаток на всех складах (сумма и по складам),
ожидание — сколько штук в пути по непринятым заказам поставщикам и с какой ожидаемой датой приёмки,
основного поставщика (по последней приёмке или карточке товара) и последнюю закупочную цену.
Ответ — JSON-список объектов с полями article, code, name, stock, stock_by_store, in_transit, in_transit_date, supplier, buy_price, без пояснений вокруг.
Если часть данных недоступна — так и напиши отдельной строкой после JSON, не выдумывай цифры.
ads:
- id: ads_data
agent: http-lookup
model: fast
prompt: |
Наборы yandex_direct и yandex_metrika, последние {{ form.days }} дней и отдельно вчера.
Яндекс Директ: по каждому объявлению или группе, которые сейчас показываются (статус «идут показы»),
дай кампанию, группу, id объявления, ссылку перехода (URL), расход за период и за вчера, клики.
Яндекс Метрика: по страницам входа с источником «Директ» — URL, визиты и, если настроены, цели или заказы за период.
Ответ — JSON-список объектов с полями campaign, group, ad_id, url, spend_period, spend_yesterday, clicks, visits, goals.
Если какой-то набор недоступен — так и напиши отдельной строкой после JSON, не выдумывай цифры.
yougile:
- id: yg_columns
agent: yougile-lookup
model: fast
prompt: |
Перечисли проекты, доски и колонки YouGile с их id — коротко, по строке на колонку:
«проект / доска / колонка — id». Ничего не меняй.
- id: analysis
agent: seller-desk
model: reasoning
prompt: |
Посчитай дозаказ и найди рекламу на пустые остатки.
Данные Ozon за {{ form.days }} дней:
{{ steps.ozon_data.output }}
Данные Wildberries за {{ form.days }} дней:
{{ steps.wb_data.output }}
Склад и товары в пути из МоегоСклада:
{{ steps.ms_data.output }}
Реклама Директа и переходы из Метрики:
{{ steps.ads_data.output }}
Правила:
1. Сведи товары между площадками и МоимСкладом по артикулу продавца (offer_id Ozon, артикул продавца WB, артикул МоегоСклада). Если сопоставить не удалось — вынеси товар в раздел «Не сопоставлено», не угадывай.
2. Скорость продаж в день = (продано на Ozon + продано на WB) / {{ form.days }}.
3. Запас = остаток Ozon (FBO + FBS) + остаток WB + остаток МоегоСклада. Товар в пути считай отдельно.
4. Дней хватит = запас / скорость. «Закончится» — если дней хватит меньше {{ form.horizon }}. Отдельно отметь, если товар в пути придёт позже, чем закончится запас.
5. Дозаказать = округлить вверх (скорость × {{ form.target }} − запас − в пути), если больше нуля. Товары без продаж за период не дозаказывай.
6. Реклама впустую — объявление Директа, которое сейчас показывается и ведёт на товар, у которого там, куда ведёт ссылка, остаток 0 или запаса меньше чем на {{ form.low_days }} дня:
ссылка на карточку Ozon — смотри остаток Ozon, на карточку WB — остаток WB, на свой сайт — остаток МоегоСклада.
Укажи расход за вчера и за период и визиты из Метрики.
7. Цифры бери только из данных выше. Если источник не ответил — напиши, какие выводы из-за этого неполные.
Формат ответа:
**Дозаказать** — таблица: артикул, название, поставщик, скорость в день, запас, в пути, дней хватит, дозаказать штук, сумма по закупочной цене.
**Закончится за {{ form.horizon }} дней** — список с датой, когда кончится.
**Остановить рекламу** — таблица: кампания, объявление, куда ведёт, остаток там, расход вчера, расход за период.
**Не сопоставлено** — если есть.
Последней строкой — «Итог: дозаказать N позиций на сумму X ₽, остановить M объявлений» или «Работа остановлена: причина».
- id: order_draft
agent: seller-desk
prompt: |
По расчёту ниже напиши черновик заказа поставщику — только текст, ничего не отправляй.
Если поставщиков несколько — отдельное письмо на каждого.
В письме: короткое приветствие, таблица (артикул, название, количество), желаемая дата поставки — как можно раньше, если позиция закончится за {{ form.horizon }} дней,
просьба подтвердить наличие, цены и срок. Позиции без поставщика вынеси отдельным списком в конце.
Расчёт:
{{ steps.analysis.output }}
Последней строкой — «Итог: N писем, M позиций» или «Работа остановлена: причина».
- id: preview
text: |
В YouGile будет создана задача «Дозаказать» в колонке, которую вы укажете.
В описание задачи войдут расчёт дозаказа и черновик заказа поставщику.
Черновик заказа (отправляете сами):
{{ steps.order_draft.output }}
- id: confirm
approve:
title: Дозаказ — подтвердите задачу в YouGile
text: |
{{ steps.analysis.output }}
{{ steps.preview.text }}
Колонки YouGile:
{{ steps.yg_columns.output }}
fields:
- id: column
label: Id колонки YouGile для задачи «Дозаказать»
on_timeout: stop
timeout: PT2H
- id: yg_task
executor: yougile
tool: task_add
writes: true
params:
title: Дозаказать
columnId: '{{ approve.confirm.column }}'
description: |
{{ steps.analysis.output }}
Черновик заказа поставщику:
{{ steps.order_draft.output }}
rollback: Удалить или архивировать задачу «Дозаказать» в YouGile вручную — её данные есть в отчёте.
- id: summary
text: |
Дозаказ и реклама — утренняя сводка
{{ steps.analysis.output }}
Черновик заказа поставщику подготовлен (отправляете сами).
Задача «Дозаказать» в YouGile: {{ steps.yg_task.result }}
report:
title: Дозаказ и реклама на пустые остатки
from: summary
text: '{{ steps.summary.text }}'
schedule: 0 8 * * *
Как это устроено
- Конструктор знает, какие системы подключены у вашей компании и что в них можно смотреть, а что — менять. Если нужного ИИ-помощника нет, предлагает нового, и его создают одной кнопкой.
- Проверка платформой — до первого запуска: всё ли связано между шагами, есть ли нужные поля, стоит ли подтверждение перед каждой записью, не слишком ли много записей. Черновик с ошибкой возвращается конструктору с замечанием, и тот исправляет его сам.
- Подтверждение человеком стоит перед каждой записью во внешнюю систему. В цикле «для каждого» — одно подтверждение на весь список: человек видит все задачи разом. Без ответа процесс останавливается.
- Смотреть — можно, менять — только с вашего согласия. Данные из ваших систем ИИ-помощники только читают; создать сделку или задачу процесс может только после подтверждения человеком.
Частые вопросы
Можно ли собрать процесс FlowAgents, описав задачу словами?
Да. Конструктор в кабинете получает описание задачи словами и собирает процесс: шаги, агентов, подтверждения человеком и отчёт. Платформа проверяет черновик до запуска, и если что-то не так, конструктор сам исправляет его по замечаниям.
Может ли процесс сам записать что-то в CRM или таск-трекер?
Только после подтверждения человеком. Перед записью процесс показывает, что именно уйдёт, и ждёт решения; если ответа нет, процесс останавливается. Число записей за один запуск ограничено — по умолчанию 20.
Что нужно, чтобы такой процесс заработал в моей компании?
Подключить системы к вашей организации в кабинете: ключи доступа к CRM, банку, учётной системе. Сам процесс уже собран — его можно поправить в редакторе или попросить конструктор переделать словами.
Опишите свою задачу
Расскажите, что хотите автоматизировать, — соберём процесс на ваших системах в пилоте.
Обсудить пилот