# Разбор сценария Make: Quote requests -> Sheet -> Sales alerts (демо, ДО) 7 модулей, запуск: мгновенный (webhook). Проверялась только выгрузка сценария (blueprint), ничего не запускалось. 1. ВЫСОКИЙ - Настройки сценария: «Allow storing of incomplete executions» (хранить незавершённые запуски) выключено, а сценарий запускается от webhook. Если любой модуль падает, запуск останавливается и заявка пропадает: отправитель её заново не пришлёт, повторять нечего, в History (истории запусков) остаётся только ошибка. Хуже того, при настройке «Number of consecutive errors» по умолчанию Make выключает сценарий с мгновенным запуском сразу после первой ошибки, и все следующие заявки пропадают, пока кто-нибудь не заметит и не включит его снова. 2. ВЫСОКИЙ - «ZIP -> service area» [3] (http:ActionSendData): «Evaluate all states as errors» выключено: ответ 4xx/5xx считается успехом, и запуск идёт дальше с текстом ошибки, как будто это данные. 3. ВЫСОКИЙ - «ZIP -> service area» [3] (http:ActionSendData): ключ или токен вписан прямо в модуль. Перенесите его в подключение (connection) или хранилище ключей (keychain) и замените на новый: он есть у любого, кто видел выгрузку. 4. ВЫСОКИЙ - «Alert on-call tech» [5] (slack:CreateMessage): берёт поле из «Email sales» [7] (google-email:ActionSendEmail), а этот модуль не стоит на пути до него (другой маршрут или шаг внутри iterator, после которого уже стоит aggregator). Здесь это значение всегда пустое. 5. ВЫСОКИЙ - «Email sales» [7] (google-email:ActionSendEmail): берёт поле из модуля 9, которого в сценарии больше нет. Значение всегда пустое. 6. СРЕДНИЙ - «Each requested service» [6] (builtin:BasicFeeder): iterator без aggregator, дальше «Email sales» [7] (google-email:ActionSendEmail): письмо уходит на каждый элемент списка, а не одно на запуск. 7. СРЕДНИЙ - Обработка ошибок: 4 модуля пишут во внешние сервисы без обработчика ошибок: «Log request» [2] (google-sheets:addRow), «ZIP -> service area» [3] (http:ActionSendData), «Alert on-call tech» [5] (slack:CreateMessage), «Email sales» [7] (google-email:ActionSendEmail). Пока незавершённые запуски выключены, при сбое любого из них заявка из webhook теряется. Обработчик Break (с повтором) на важных шагах её сохраняет. 8. НИЗКИЙ - «Log request» [2] (google-sheets:addRow): valueInputOption не USER_ENTERED: даты и числа записываются как простой текст, поэтому сортировка, формулы и фильтры по этим столбцам работают неправильно. 9. НИЗКИЙ - [4] builtin:BasicRouter: у обоих маршрутов есть фильтры, и ни один не похож на запасной (fallback): данные, которые не подошли ни под один фильтр, после развилки (Router) никуда не идут. Это нормально, только если так задумано. (Проверьте в редакторе: настройки маршрута > «The fallback route».)