FLOW UPDATE

Shopify Flow Action拡張の破壊的変更が大幅に減少

フィールド変更があっても旧ワークフローが継続実行。スキーマ差異の制御権がサーバーサイドへ

OLD WORKFLOW旧バージョンのAction設定SHOPIFY RUNTIMEバリデーション失敗せず通過PARTNER SERVERエンドポイントスキーマ差異を処理SERVER-SIDE HANDLING OPTIONS🔧 デフォルト値を設定新必須フィールドへ🗑 削除フィールドを無視旧フィールドはスキップ❌ エラー応答を返す安全処理できない場合

2026年7月7日より、Shopify Flowのサーバーサイドカスタムアクション(Action Extensions)において、設定フィールドの変更があっても旧バージョンのワークフローが即座に失敗しなくなりました。リクエストはパートナーサーバーのエンドポイントに届き、スキーマ差異の扱い方をサーバー側で決定できます。既存のエンドポイント実装の見直しが必要です。

BACKGROUND

01これまでの問題と今回の変更

BEFOREAFTER旧バージョンのワークフローShopify Runtimeバリデーション失敗❌ エンドポイントへリクエスト未到達フィールド追加・削除があると旧ワークフローは常に失敗旧バージョンのワークフローShopify Runtime通過・実行継続エンドポイントへ✅ リクエスト到達サーバー側で判断デフォルト値 / 無視/ エラー応答スキーマ差異はサーバーが制御旧ワークフローの継続実行が可能

従来はフィールドの追加・削除が即「破壊的変更」となり、旧バージョンのワークフローはランタイムバリデーション段階で失敗し、パートナーのエンドポイントにリクエストが届きませんでした。今回の変更により、リクエストは必ず届き、差異の扱いはサーバー実装に委ねられます。

USE CASES

02業務に活かせる具体ユースケース

課題
カスタムActionに新しい必須フィールドを追加したが、既存マーチャントのワークフローがすべて壊れてしまう
打ち手
エンドポイントで受け取ったペイロードに当該フィールドが存在しない場合はサーバー側でデフォルト値を補完する実装を追加する
効果
マーチャントはワークフローを再設定することなく継続運用でき、開発者側もフィールド追加のリリースをスムーズに行える
技術メモ
エンドポイントのリクエストハンドラで field ?? defaultValue のようなフォールバック処理を実装。新旧両方のペイロード形式をテストケースに含めること
課題
不要になったフィールドをActionの設定から削除したい。しかし削除するとそのフィールドを使う旧ワークフローがすべて失敗する懸念があった
打ち手
フィールドを設定から削除しつつ、エンドポイントでは旧フィールドが送られてきた場合は静かに無視するロジックを実装する
効果
APIのクリーンアップを段階的に行えるようになり、マーチャントのワークフローへの影響を最小化しながらコードベースのメンテナンス性を向上できる
技術メモ
受け取ったフィールドを厳密なスキーマで検証せず、既知フィールドのみを取り出す「許可リスト方式」の実装が推奨される。未知フィールドはそのまま破棄する
課題
スキーマ変更が大きすぎて旧ペイロードをそのまま処理するのが難しいケースで、無言で誤動作するリスクがある
打ち手
処理できないペイロードが届いた際は明確なエラーレスポンスを返してワークフローを失敗扱いにする。エラーの理由をログに残してマーチャントに通知する
効果
サイレントエラーによる業務データの不整合を防ぎ、問題の早期検知とマーチャントへの適切なアナウンスが可能になる
技術メモ
Shopifyのドキュメント「Flow action execution」によるとサーバーはリクエストを拒否するレスポンスを返せる。詳細は公式ドキュメントを参照のこと(記事末のリンク)
DEVELOPER NOTES

03技術者向け確認ポイント

挙動変更

旧ワークフローが継続実行される

設定フィールドに差異があっても、Shopifyランタイムはリクエストを設定済みエンドポイントURLへ送信する。バリデーション失敗でブロックされなくなった。

実装確認必須

ペイロードが旧スキーマで届く可能性

エンドポイントは「現在の設定」だけでなく「マーチャントが使用中の過去バージョンの設定」に基づくペイロードを受け取ることがある。

推奨対応①

欠損フィールドへのデフォルト値適用

新バージョンで必須になったフィールドが存在しない場合、サーバー側でデフォルト値をセットして処理を続行するロジックを実装する。

推奨対応②

旧フィールド・未知フィールドの無視

削除されたフィールドや予期しないフィールドが含まれていても安全にスキップできる実装が必要。許可リスト方式でのフィールド抽出が有効。

注意点

処理不能時は明示的なエラーを返す

ペイロードが安全に処理できない場合はサイレントに誤動作させず、明確なエラーレスポンスを返してワークフローを失敗させること。

参照先

Flow action executionドキュメント

リクエストの送信・実行方式の詳細は公式ドキュメント「Flow action execution」を参照。元記事にリンクあり。記事末のSourceリンクから確認できる。

SUMMARY

04変更対応チェックリスト

確認項目 対応内容 優先度
欠損フィールド処理 新必須フィールドが届かない場合のデフォルト値補完ロジック実装
余剰フィールド処理 削除済み・未知フィールドを安全に無視する実装
エラーレスポンス 処理不能ペイロードへの明示的なエラー応答実装
テストケース追加 旧スキーマ・新スキーマ両方のペイロードでエンドポイントを検証
ログ・モニタリング スキーマ差異が発生した際のロギングとアラート設定

「Actionのフィールド変更があっても旧ワークフローを止めないFlowの新挙動により、マーチャントの業務を継続しながらActionを段階的に進化させられます。エンドポイントのスキーマ耐性強化で、アップデートの影響範囲を最小化できます。」

Source: https://shopify.dev/changelog/shopify-flow-changes-to-action-extensions-result-in-fewer-breaking-changes | 公開日: 2026年7月7日