# Автоматизация с Shopify Flow

> Запускайте рабочий процесс, когда расписание начинается, заканчивается, даёт сбой или находит чужую правку, и запускайте, завершайте и создавайте расписания из Flow.

Руководства · 3 мин чтения · Обновлено: 4 ноября 2026 г.

Metascheduler добавляет триггеры и действия в [Shopify Flow](https://apps.shopify.com/flow). Триггеры доступны на всех тарифах. Действия доступны на тарифах Extra и Unlimited. Найти и то и другое можно в разделе **Настройки > Flow** по кнопке **Открыть Flow**. Shopify Flow показывает названия этих триггеров, действий и полей на английском языке, на каком бы языке вы ни работали.

## Триггеры

Каждый триггер передаёт вашему рабочему процессу **Schedule ID**, **Schedule name**, **Timing** (`AT`, `WINDOW`, `RECURRING` или `ROLLOUT`), **Rollout ID** (или пустое значение) и **Resources**, которые он изменил. Длинные списки обрезаются, чтобы уложиться в ограничение Flow по размеру.

| Триггер | Срабатывает, когда | Дополнительные поля |
| --- | --- | --- |
| **Schedule started** (Расписание началось) | Расписание вносит свои изменения. |   |
| **Schedule ended** (Расписание завершилось) | Изменения расписания заканчиваются или откатываются. |   |
| **Change failed** (Изменение не выполнено) | Изменение не удалось внести в некоторые элементы. | **Target**, **Error message** |
| **Drift detected** (Обнаружено стороннее изменение) | Кто-то изменил элемент после Metascheduler, поэтому откат не выполнен. | **Target**, **Resource ID** |

**Target** — это ключ типа изменения, например `variant.price` или `product.status` (см. [Типы изменений](https://metascheduler.app/ru/help/change-types.md)).

*Рабочий процесс, который отправляет команде письмо, когда не удалось изменить цену.*

## Действия

| Действие | Что делает | Поля |
| --- | --- | --- |
| **Start schedule now** (Начать расписание сейчас) | Вносит изменения расписания сейчас. | **Schedule ID** |
| **End schedule now** (Завершить расписание сейчас) | Завершает действующее расписание сейчас и откатывает его элементы. | **Schedule ID** |
| **Create schedule from template** (Создать расписание из шаблона) | Создаёт запланированное расписание для переданных элементов. | **Template**, **Resource IDs**, **Start time**, **End time**, **Schedule name** |

Триггер Metascheduler передаёт **Schedule ID**, который можно использовать в действии.

### Создать расписание из шаблона

**Template** — одно из следующих значений:

| Шаблон | Что меняет | **Resource IDs** — это |
| --- | --- | --- |
| `product-active` | Статус товара на «Активен» | ID товаров |
| `product-draft` | Статус товара на «Черновик» | ID товаров |
| `product-unlisted` | Статус товара на «Не опубликован» | ID товаров |
| `metaobject-active` | Статус метаобъекта на «Активен» | ID записей метаобъекта |
| `metaobject-draft` | Статус метаобъекта на «Черновик» | ID записей метаобъекта |

**Resource IDs** — это ID Shopify, по одному в строке или через запятую. **Start time** — дата и время в формате ISO 8601 со смещением. Оставьте **End time** пустым, чтобы сохранить изменение, или задайте время, когда его нужно откатить.

```text
Template:      product-active
Resource IDs:  gid://shopify/Product/8123456789
               gid://shopify/Product/8123456790
Start time:    2026-11-27T09:00:00+01:00
End time:      2026-11-30T23:59:00+01:00
Schedule name: Black Friday drop
```

К расписаниям, созданным из Flow, применяются те же лимиты тарифа, что и в приложении. Если действие не выполнено, причина указана в журнале запусков рабочего процесса.

## Идеи

- **Change failed** (Изменение не выполнено) → отправьте внутреннее письмо или сообщение в Slack тому, кто отвечает за распродажу.
- **Drift detected** (Обнаружено стороннее изменение) → добавьте заметку к товару или напишите команде, которая его изменила.
- **Schedule started** (Расписание началось) с типом `ROLLOUT` → опубликуйте сообщение в канале запуска.
- Товар получает тег `pre-order` → **Create schedule from template** (Создать расписание из шаблона) с `product-active` на дату запуска.

> **Устаревший триггер**
>
> **Schedule executed (legacy)** (Расписание выполнено (устаревший)) срабатывает только для расписаний, перенесённых из старой версии Metascheduler. Для новых рабочих процессов используйте **Schedule started** (Расписание началось).

## Похожие статьи

- [Разберитесь с тем, что требует внимания](https://metascheduler.app/ru/help/needs-you.md): В списке «Требует внимания» собраны решения, которые можете принять только вы, например правка во время расписания или изменение, которое не удалось. Что означает каждый пункт и что делать.
- [Тарифы и лимиты](https://metascheduler.app/ru/help/plans-and-limits.md): Что входит в каждый тариф, что учитывается в лимитах и что происходит при смене тарифа.
- [Пример: запуск товара в заданное время](https://metascheduler.app/ru/help/product-launch.md): Опубликуйте новую коллекцию ровно в 9:00 и добавьте её в меню или проведите распродажу только на выходные, которая возвращается каждую субботу.
