# 使用 Shopify Flow 自動化

> 在排程開始、結束、失敗或發現被改動時執行工作流程，並從 Flow 啟動、結束或建立排程。

指南 · 閱讀約 2 分鐘 · 更新於 2026年11月7日

Metascheduler 為 [Shopify Flow](https://apps.shopify.com/flow) 新增了觸發條件和動作。觸發條件適用於所有方案，動作則適用於 Extra 和 Unlimited。兩者都在**設定 > Flow** 中，並附有**開啟 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/zh-TW/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**，供您傳給動作使用。

### Create schedule from template (依範本建立排程)

**Template** 為下列其中之一：

| Template | 變更內容 | Resource IDs 為 |
| --- | --- | --- |
| `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** → 在產品上加註，或通知編輯過它的團隊。
- **Schedule started** 且 Timing 為 `ROLLOUT` → 在您的新品上市頻道發文。
- 產品被加上 `pre-order` 標籤 → 以 `product-active` 範本使用 **Create schedule from template**，並設為上市日期。

> **舊的觸發條件**
>
> 舊的 **Schedule executed** 觸發條件已停用，不會再執行。如果有工作流程使用它，請改為 **Schedule started**。

## 相關文章

- [處理待您處理的事項](https://metascheduler.app/zh-TW/help/needs-you.md): 「待您處理」列出只有您能做的決定，例如排程期間被編輯的內容，或失敗的變更。以下說明每一種的意義和處理方式。
- [方案與限制](https://metascheduler.app/zh-TW/help/plans-and-limits.md): 每個方案包含的內容、哪些項目會計入限制，以及變更方案時會發生什麼事。
- [範例：在指定時間推出產品](https://metascheduler.app/zh-TW/help/product-launch.md): 在 9:00 準時發布新的商品系列並加入選單，或進行每個週六都會回來的週末限定發售。
