# Shopify Flow로 자동화

> 예약이 시작되거나 종료되거나 실패하거나 외부 변경을 발견할 때 워크플로를 실행하고, Flow에서 예약을 시작, 종료, 생성합니다.

가이드 · 읽는 데 3분 · 2026년 11월 4일 업데이트

Metascheduler는 [Shopify Flow](https://apps.shopify.com/flow)에 트리거와 작업을 추가합니다. 트리거는 모든 요금제에서 사용할 수 있습니다. 작업은 Extra와 Unlimited에서 사용할 수 있습니다. 둘 다 **설정 > Flow**의 **Flow 열기**에서 찾을 수 있습니다. Flow는 트리거, 작업, 필드 이름을 모든 언어에서 영어로 표시합니다. 이 문서에서는 영어 이름 뒤에 한국어 번역을 함께 적었습니다.

## 트리거

모든 트리거는 워크플로에 **Schedule ID** (예약 ID), **Schedule name** (예약 이름), **Timing** (시간 설정)(`AT`, `WINDOW`, `RECURRING` 또는 `ROLLOUT`), **Rollout ID** (롤아웃 ID)(없을 수도 있음), 변경된 **Resources** (리소스)를 전달합니다. 긴 목록은 Flow의 크기 제한에 맞게 잘립니다.

| 트리거 | 실행 시점 | 추가 필드 |
| --- | --- | --- |
| **Schedule started** (예약 시작됨) | 예약이 변경 사항을 적용할 때. |   |
| **Schedule ended** (예약 종료됨) | 예약의 변경 사항이 종료되거나 되돌려질 때. |   |
| **Change failed** (변경 실패) | 일부 항목에 변경 사항을 적용하지 못했을 때. | **Target** (대상), **Error message** (오류 메시지) |
| **Drift detected** (외부 변경 감지됨) | Metascheduler가 변경한 후 다른 사용자가 항목을 변경하여 되돌리지 않았을 때. | **Target**, **Resource ID** (리소스 ID) |

**Target**은 `variant.price`나 `product.status`처럼 변경 유형의 키입니다([변경 유형](https://metascheduler.app/ko/help/change-types.md) 참조).

*가격 변경이 실패하면 팀에 이메일을 보내는 워크플로.*

## 작업

| 작업 | 기능 | 필드 |
| --- | --- | --- |
| **Start schedule now** (지금 예약 시작) | 예약의 변경 사항을 지금 적용합니다. | **Schedule ID** |
| **End schedule now** (지금 예약 종료) | 적용 중인 예약을 지금 종료하고 항목을 되돌립니다. | **Schedule ID** |
| **Create schedule from template** (템플릿으로 예약 만들기) | 전달한 항목에 대해 예약됨 상태의 예약을 만듭니다. | **Template** (템플릿), **Resource IDs** (리소스 ID), **Start time** (시작 시간), **End time** (종료 시간), **Schedule name** |

Metascheduler 트리거가 작업에 전달할 **Schedule ID**를 제공합니다.

### 템플릿으로 예약 만들기

**Template**은 다음 중 하나입니다.

| 템플릿 | 변경 내용 | 리소스 ID |
| --- | --- | --- |
| `product-active` | 제품 상태를 활성으로 변경 | 제품 ID |
| `product-draft` | 제품 상태를 초안으로 변경 | 제품 ID |
| `product-unlisted` | 제품 상태를 미게시로 변경 | 제품 ID |
| `metaobject-active` | 메타 객체 상태를 활성으로 변경 | 메타 객체 항목 ID |
| `metaobject-draft` | 메타 객체 상태를 초안으로 변경 | 메타 객체 항목 ID |

**Resource IDs**는 Shopify ID이며, 한 줄에 하나씩 또는 쉼표로 구분하여 입력합니다. **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** (외부 변경 감지됨) → 제품에 메모를 추가하거나 항목을 편집한 팀에 알립니다.
- `ROLLOUT` 시간 설정의 **Schedule started** (예약 시작됨) → 출시 채널에 게시합니다.
- 제품에 `pre-order` 태그가 붙으면 → 출시 날짜에 `product-active`로 **Create schedule from template** (템플릿으로 예약 만들기)를 실행합니다.

> **레거시 트리거**
>
> **Schedule executed (legacy)** (예약 실행됨(레거시))는 이전 버전의 Metascheduler에서 옮겨 온 예약에만 실행됩니다. 새 워크플로에는 **Schedule started** (예약 시작됨)을 사용하십시오.

## 관련 문서

- [확인이 필요한 항목 해결](https://metascheduler.app/ko/help/needs-you.md): 확인 필요에는 예약 중 이루어진 수정이나 실패한 변경처럼 사용자만 결정할 수 있는 항목이 나열됩니다. 각 항목의 의미와 대처 방법을 안내합니다.
- [요금제와 한도](https://metascheduler.app/ko/help/plans-and-limits.md): 각 요금제에 포함된 기능, 한도에 포함되는 항목, 요금제를 변경할 때 일어나는 일을 안내합니다.
- [예시: 정해진 시간에 제품 출시](https://metascheduler.app/ko/help/product-launch.md): 새 컬렉션을 정각 9:00에 게시하고 메뉴에 추가하거나, 매주 토요일에 돌아오는 주말 전용 드롭을 실행합니다.
