# Shopify Flowで自動化する

> スケジュールの開始時、終了時、失敗時、他者による編集の検出時にワークフローを実行し、Flowからスケジュールを開始、終了、作成します。

ガイド · 読了目安：4分 · 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/ja/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で、1行に1つ、またはカンマ区切りで入力します。**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/ja/help/needs-you.md): 「要対応」には、スケジュールの実行中の編集や失敗した変更など、あなたにしか判断できないことが表示されます。それぞれの意味と対処法を説明します。
- [プランと上限](https://metascheduler.app/ja/help/plans-and-limits.md): 各プランに含まれる内容、上限の数え方、プランを変更したときの動作を説明します。
- [活用例：決まった時刻に商品を発売する](https://metascheduler.app/ja/help/product-launch.md): 新しいコレクションを9:00ちょうどに公開してメニューに追加します。毎週土曜日に戻ってくる、週末限定のドロップも実行できます。
