Настройка Shopify Flow для автоматизации бизнес-процессов
Shopify Flow — встроенный инструмент автоматизации без кода, доступный на планах Basic и выше. Работает по схеме «триггер → условие → действие»: событие в магазине запускает цепочку, которая проверяет условия и выполняет операции.
Архитектура Flow
Каждый workflow состоит из трёх компонентов:
Trigger — событие, запускающее workflow:
-
Order created/Order paid/Order fulfilled -
Order risk analyzed -
Customer created/Customer updated -
Inventory quantity changed -
Product created/Product updated -
Scheduled time— по расписанию (раз в час, день, неделю) - Кастомный триггер из приложения
Condition — логика ветвления (And/Or, вложенность):
- Проверка полей заказа: сумма, тег, страна, метод доставки
- Проверка тегов покупателя
- Проверка метаполей
- Количество заказов клиента
- Риск мошенничества
Action — что сделать при выполнении условий:
- Добавить/удалить тег (заказ, покупатель, продукт)
- Отправить email (через Shopify Email)
- Отправить HTTP-запрос (webhook в кастомный endpoint)
- Создать задачу в Shopify
- Поставить заказ на паузу
- Отменить заказ
- Архивировать заказ
- Действия из интегрированных приложений (Slack, Asana, HubSpot)
Практические примеры workflow
Автоматическая маркировка VIP-клиентов
Trigger: Order paid
Condition: Customer total spent > 50000 RUB AND Customer tags does not contain 'vip'
Action: Add tag 'vip' to customer → Send internal email «Новый VIP-клиент»
Фрод-скоринг высокорисковых заказов
Trigger: Order risk analyzed
Condition: Order risk level = HIGH
Action 1: Add tag 'high-risk' to order
Action 2 (if order amount > 10000): Hold order fulfillment → Send Slack notification #risk-team
Уведомление о низком остатке
Trigger: Inventory quantity changed
Condition: Inventory quantity < 5 AND Product tag contains 'track-inventory'
Action: Send HTTP request → внутренний endpoint для создания задачи закупки
Автоархивация выполненных заказов
Trigger: Scheduled time (ежедневно в 2:00)
Action: Archive orders (с фильтром status = fulfilled, older than 30 days)
Настройка HTTP request action
Наиболее гибкое действие — отправка webhook во внешний сервис. Пример приёмника на Node.js:
// routes/shopify-flow-webhook.js
const express = require('express');
const router = express.Router();
router.post('/flow/low-inventory', async (req, res) => {
// Flow отправляет данные в формате JSON
const { product_id, variant_id, inventory_quantity, sku } = req.body;
// Создание задачи в Notion/Jira/Trello/своей системе
await createPurchaseTask({
title: `Пополнить остаток: ${sku}`,
quantity_needed: 20 - inventory_quantity,
priority: inventory_quantity === 0 ? 'urgent' : 'normal',
product_id,
});
// Уведомление в Telegram закупщику
await sendTelegramMessage(
process.env.BUYER_CHAT_ID,
`⚠️ Низкий остаток: ${sku} (${inventory_quantity} шт.)\nНужно заказать у поставщика`
);
res.status(200).json({ received: true });
});
В настройках HTTP action в Flow указывается URL, метод (POST), заголовки (включая Authorization) и тело запроса с переменными из триггера.
Переменные в Flow
В действиях доступны переменные из контекста триггера через dot-notation:
{{order.name}} → #1042
{{order.total_price}} → 4590.00
{{order.customer.email}} → [email protected]
{{order.shipping_address.city}} → Москва
{{product.handle}} → coffee-machine-delonghi
{{inventory_item.sku}} → ECAM-22110-B
Эти переменные подставляются в тело HTTP-запроса, текст email или теги.
Flow для программы лояльности
Простая балльная система без стороннего приложения:
Workflow 1: начисление баллов
- Trigger:
Order paid - Action:
Send HTTP requestк своему API →POST /loyalty/add-points
{
"customer_id": "{{order.customer.id}}",
"order_total": "{{order.total_price}}",
"points": "{{order.total_price | divided_by: 100 | floor}}"
}
Workflow 2: присвоение статуса
- Trigger:
Customer updated(когда обновился тег баллов) - Condition:
Customer tags contains 'points-1000'ANDCustomer tags not contains 'silver' - Action:
Add tag 'silver'→Send email «Вы получили статус Silver»
Ограничения Flow
- Нет циклов — только линейная или ветвящаяся логика
- Максимальная задержка исполнения ~1 минута (не для realtime)
- Нет возможности читать/писать метаполя напрямую (нужен HTTP request к Admin API)
- Scheduled triggers — минимум раз в час
- Лимит: 1000 workflow runs в час на магазин (для базовых планов)
Интеграция с внешними приложениями
Flow имеет встроенные коннекторы к:
- Slack — отправка сообщений в канал
- Asana — создание задач
- HubSpot — обновление контактов
- Klaviyo — триггер email-сценария
- Gorgias — создание тикета в поддержку
Приложения из App Store могут добавлять собственные триггеры и действия в Flow через Flow Extension API.
Мониторинг и отладка
В интерфейсе Flow для каждого workflow доступен лог запусков с детальным статусом каждого шага. При ошибке в HTTP request — отображается код ответа и тело. Архив запусков хранится 7 дней.
Сроки
Создание 5–10 типовых workflow (маркировка тегами, уведомления, архивация): 1–2 дня. Разработка приёмника HTTP-вебхуков с интеграцией во внешние системы: 2–4 дня дополнительно. Проектирование системы лояльности на Flow + кастомный API: 1–2 недели.







