メタフィールドのトリガー、ステップバイステップ

メタフィールドは、Shopifyにフィールドがない情報をストアが保存する場所であり、Shopify Flowはメタフィールドの変更に対して反応できません。これら5つのトリガーは反応が可能であり、previousValueを保持しているため、ワークフローでは値の上昇と下降を区別することができます。

これらはすべて、定義通り動作します。アプリの「**メタフィールドトリガー」**ページで、監視するメタフィールドを選択します。そこに追加していないメタフィールドについては、トリガーは発動しません。設定方法については、メタフィールドのトリガー を参照してください。

このページの内容: メタフィールドの更新, 商品のメタフィールドの更新, 商品のバリエーションのメタフィールドの更新, 注文のメタフィールドの更新, 顧客のメタフィールドの更新

Shopify Flow
場所:「Shopify Flow」で「Select a trigger」を選択し、「Workflow Trigger Extensions」を開き、「Metafield」を検索してください。

メタフィールドの更新

監視対象のメタフィールドが変更された際に発火します。対象となるオーナータイプは、商品、バリエーション、コレクション、顧客、注文、注文下書き、会社、会社の拠点、ブログ、ブログ記事、ページなど、あらゆるタイプです。

火災の原因は Shopify Webhookと変更検出機能。バリアント、ブログ、ブログ記事、およびページのメタフィールドがスケジュールに従ってチェックされます。
許可 製品、バリエーション、コレクションのデータへのアクセス
電源が入った メタフィールドの定義に基づき、アプリの「**メタフィールドトリガー」**ページで

次のような用途にご利用ください

  • 型指定されたトリガーを持たないオーナータイプ:コレクション、企業、ページ、ブログ記事。
  • metafieldKey に基づいて、複数のメタフィールドを監視し、分岐を行うワークフロー。

Metafield Update がワークフローに送信する内容

フロー内の変数 種類 その中身
metafieldKey テキスト 更新されたメタフィールドの namespace.key(Flow でのフィルタリング用)
resourceType テキスト リソースの種類(PRODUCT、PRODUCTVARIANT、COLLECTION、CUSTOMER、ORDER、COMPANY、COMPANYLOCATION、ARTICLE、BLOG、PAGE)
resourceId テキスト 更新されたリソースのGID
metafield 目的 更新されたメタフィールド
metafield.id ID メタフィールドのグローバルID
metafield.namespace テキスト メタフィールドの名前空間
metafield.key テキスト メタフィールドのキー
metafield.value テキスト メタフィールドの値
metafield.previousValue テキスト この変更前の値。メタフィールドが作成されたばかりの場合はNull。
metafield.type テキスト メタフィールドの型
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこのIDを検索すると、具体的に何が送信されたかを確認できます。

例:変更されたコレクションのメタフィールドへの対応

  1. アプリで「**Metafield Triggers」**を開き、「**トリガーを追加」**をクリックし、所有者タイプとして「**コレクション」**と定義を選択して、保存します。
  2. 「Flow」で、トリガーとして「**メタフィールドの更新」**を選択します。
  3. 条件を追加:metafieldKeycustom.banner_text に等しくresourceTypeCOLLECTION に等しい
  4. {{metafield.previousValue}} -> {{metafield.value}}」および「{{resourceId}}」を使用して社内メールを送信する機能を追加します。
  5. ワークフローを有効にしてください。

製品のメタフィールドの更新

監視対象の製品のメタフィールドが変更された際に発火し、その製品をネイティブのFlow参照として使用します。

火災の原因は Shopify Webhook と変更検出
許可 製品、バリエーション、コレクションのデータへのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • 製品に対して直接操作を行う:タグ付け、公開、別のメタフィールドの更新など。
  • 数値型メタフィールドの閾値:評価、在庫予測、サプライヤーのリードタイムなど。

「Product Metafield Update」がワークフローに送信する内容

フロー内の変数 種類 その中身
product 製品(Shopify) メタフィールドが変更された商品。Shopifyのフル機能版であるため、すべてのフィールドおよびFlow独自の商品アクションが利用可能です。
metafieldKey テキスト 変更されたメタフィールドの namespace.key(Flow でのフィルタリング用)
metafield 目的 更新されたメタフィールド
metafield.id ID メタフィールドのグローバルID
metafield.namespace テキスト メタフィールドの名前空間
metafield.key テキスト メタフィールドのキー
metafield.value テキスト メタフィールドの値
metafield.previousValue テキスト この変更前の値。メタフィールドが作成されたばかりの場合はNull
metafield.type テキスト メタフィールドの型
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:評価が3未満の商品にタグを付ける

  1. アプリの「**メタフィールド・トリガー」**ページに、商品メタフィールドを追加します。
  2. フローで「**製品のメタフィールドの更新」**を選択します。
  3. 条件を追加:metafieldKey reviews.rating と等しい
  4. メタフィールドの値はテキストとして渡されるため、数値を比較するコードを追加してください:return dropped: Number(input.metafield.value) < 3 && Number(input.metafield.previousValue) >= 3
  5. コードの「dropped」出力に条件を追加し、次に「low-ratingに商品タグを追加します
  6. ワークフローを有効にしてください。
リソースタイプが「Product」、メタフィールドが「Rating」、「custom.rating」および「selected」である「メタフィールドのトリガーを追加」ダイアログ
まず、アプリ内のメタフィールドを確認してください:「メタフィールドのトリガー」、「トリガーの追加」、「商品」、「評価」。
イベント履歴内のイベント:製品のメタフィールド更新、値 2.5、以前の値 4.5
この例で反応しているイベント:評価が4.5から2.5に下がったため、3を割り込んだ。

製品バリエーションのメタフィールドの更新

監視対象のバリアント・メタフィールドが変更されたときに発火します。親プロダクトは参照として渡され、バリアントはresourceIdとして渡されます。

火災の原因は Shopifyはこの機能についてWebhookを送信しないため、スケジュールに従って確認しました
許可 製品、バリエーション、コレクションのデータへのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、この機能がオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • バリエーションデータを製品レベルに集約する。例えば、すべてのバリエーションの中で最も短いリードタイムなど。
  • バリアントレベルの属性をフィードに同期します。

「Product Variant Metafield Update」がワークフローに送信する内容

フロー内の変数 種類 その中身
product 製品(Shopify) メタフィールドが変更されたバリアントの親商品(商品のメタフィールドを記述する際に使用します)。完全なShopify商品であるため、そのすべてのフィールドおよびFlow独自の商品アクションを利用できます。
resourceId テキスト メタフィールドが変更された製品バリアントのGID
metafieldKey テキスト 変更されたメタフィールドの namespace.key(Flow でのフィルタリング用)
metafield 目的 更新されたメタフィールド
metafield.id ID メタフィールドのグローバルID
metafield.namespace テキスト メタフィールドの名前空間
metafield.key テキスト メタフィールドのキー
metafield.value テキスト メタフィールドの値
metafield.previousValue テキスト この変更前の値。メタフィールドが作成されたばかりの場合はNull
metafield.type テキスト メタフィールドの型
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:バリアントのメタフィールドを、その商品までコピーする

  1. **「メタフィールド・トリガー」**ページで、バリアント・メタフィールドを追加します。
  2. フローで「**製品バリエーションのメタフィールドの更新」**を選択します。
  3. product に「**Update product metafield」**を追加し、値として「{{metafield.value}}」を設定します。
  4. ワークフローを有効にしてください。

メタフィールドの更新を指示する

監視対象の注文のメタフィールドが変更された際に発火し、注文をネイティブ参照として扱います。

火災の原因は Shopify Webhook と変更検出
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • アプリが注文に書き込むデータ(配達日、リスクスコア、ERP番号など)に対応する。
  • 承認メタフィールドの状態が切り替わったときに、フルフィルメントの手順を開始します。

「メタフィールドの更新」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) メタフィールドが変更された注文。Shopifyの完全な注文であるため、そのすべてのフィールドとFlow独自の注文アクションが利用可能です。
metafieldKey テキスト 変更されたメタフィールドの namespace.key(Flow でのフィルタリング用)
metafield 目的 更新されたメタフィールド
metafield.id ID メタフィールドのグローバルID
metafield.namespace テキスト メタフィールドのネームスペース
metafield.key テキスト メタフィールドのキー
metafield.value テキスト メタフィールドの値
metafield.previousValue テキスト この変更前の値。メタフィールドが作成された直後はNullとなります。
metafield.type テキスト メタフィールドの型
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:承認メタフィールドの値が「true」になった時点で注文をリリースする

  1. **「メタフィールド・トリガー」**ページで、注文メタフィールドを追加します。
  2. フローにおけるピッキング順メタフィールドの更新
  3. 条件を追加:metafieldKeycustom.approved に等しくmetafield.valuetrue に等しいこと
  4. order.fulfillmentOrders」に対して、「**Release fulfillment order hold」**を指定した「For each」を追加します。
  5. ワークフローを有効にしてください。

顧客メタフィールドの更新

監視対象の顧客メタフィールドが変更された際に発火し、顧客をネイティブレファレンスとして指定します。

火災の原因は Shopify Webhook と変更検知
許可 顧客データへのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • メタフィールドに保存されているロイヤリティランク、与信限度額、誕生日。
  • フォームやアプリによって書き込まれた顧客属性をCRMに同期します。

「顧客メタフィールドの更新」がワークフローに送信する内容

フロー内の変数 種類 その中身
customer 顧客(Shopify) メタフィールドが変更された顧客。Shopifyのフルプランの顧客であるため、そのすべてのフィールドおよびFlow独自の顧客アクションが利用可能です。
metafieldKey テキスト 変更されたメタフィールドの namespace.key(Flow でのフィルタリング用)
metafield 目的 更新されたメタフィールド
metafield.id ID メタフィールドのグローバルID
metafield.namespace テキスト メタフィールドの名前空間
metafield.key テキスト メタフィールドのキー
metafield.value テキスト メタフィールドの値
metafield.previousValue テキスト この変更前の値。メタフィールドが作成された直後はNull
metafield.type テキスト メタフィールドの型
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:ゴールドランクに達した顧客にタグを付ける

  1. **「メタフィールド・トリガー」**ページで、顧客メタフィールドを追加します。
  2. フローで「**顧客メタフィールドの更新」**を選択します。
  3. 条件を追加:metafieldKeyloyalty.tierに等しくmetafield.valuegoldに等しいこと
  4. goldという顧客タグを追加し、VIPチームに社内メールを送信してください
  5. ワークフローを有効にしてください。

今後の手順

型指定されたトリガーは、汎用トリガーに加えて発動し、そのイベントを共有するため、両方を有効にしても、プランの消費回数は2回とはカウントされません。