定期的なURLポーリング

通常、Webhookは誰かが呼び出すのを待ちます。スケジュールを設定すると、アプリ側が呼び出しを行います。つまり、指定したURLを一定の間隔で取得し、そのレスポンスを同じWebhookに送信します。これにより、JSON、フォームデータ、またはXMLを返す任意のAPIから、Shopify Flowのワークフローをタイマーに基づいて実行できるようになります。

代表的な活用例:15分ごとにサプライヤーの在庫データを取得したり、1時間ごとにERPで新規注文を確認したり、1日1回ステータスエンドポイントを読み取り、Shopify Flowに処理を行わせたりします。

セットアップする方法

新しいWebhookを作成する場合は、「Webhookを作成」を選択し、「このWebhookを何が呼び出しますか?」という質問に対して「なし - スケジュールに従って実行」と回答してください。 Webhookはシークレットトークン付きで作成されるため、他者がそのURLを呼び出すことはできず、「スケジュール」タブが開きます。既存のWebhookについては、それを開き、「**スケジュール」**タブに移動してください。その後、以下の項目を入力してください:

フィールド 機能の説明
有効 スケジュールを有効にします。どちらの場合でも、WebhookのURLは引き続き機能します。
URL 取得対象のアドレスです。http および https のみを対象とし、パブリックインターネットからアクセス可能である必要があります。
間隔 5分、15分、30分ごと、1時間、3時間、6時間、12時間ごと、あるいは1日1回。
モード フェッチが行われるたびに、Shopify Flowが実行されます。「_Only when the response changes」は、_レスポンス本文が前回の実行時と異なる場合にのみ実行されます。
リクエストヘッダー APIキーまたはベアラートークンの場合、任意です。暗号化されて保存され、二度と表示されることはありません。

有効にしてから1分以内に最初の実行が行われます。

「このWebhookを何が呼び出すか」と尋ねる「Webhookの作成」ページで、「なし - スケジュールに従って実行」が選択されており、次に「スケジュール」タブが開く旨の注記が表示されています
新しいスケジュール設定可能なWebhook:回答として「なし - スケジュールに従って実行」を選択すると、保存後に「スケジュール」タブが開きます。
「スケジュール」タブには、取得するURL、6時間ごとの間隔、および「応答が変更された場合のみ」が選択されています
[スケジュール] タブ:取得する URL、取得間隔、および Shopify Flow を取得のたびに実行するか、レスポンスが変更されたときのみ実行するか。

反応のマッピング

取得されたデータは、誰かから送信されたリクエストとまったく同じようにWebhookを通過します。コンテンツタイプごとに解析され、フィールドマッピングによってShopify Flowが受け取る値が選定され、設定されている場合は配列の分割が行われます。

APIが応答の形式を独自に決定するため、スケジュールされた実行では、自社システムから送信されるJSONに対して行われる「予期しないフィールド」のチェックが省略されます。必要な値のみをマッピングすれば十分です。

Example responsejson
{
  "updated_at": "2026-09-17T08:00:00Z",
  "items": [
    { "sku": "ABC-1", "stock": 4 },
    { "sku": "ABC-2", "stock": 0 }
  ]
}

「updated_at」を「Flow」フィールドにマッピングすると、ワークフロー内で使用できるようになります。各項目を個別に処理するには、「詳細設定」の「items」にスプリットパスを設定してください。そうすることで、各要素がそれぞれ独自のShopify Flow実行を開始します。詳細は ボディ形式と配列の分割 をご覧ください。

今すぐ実行する

**「今すぐ実行」**は、直ちに実際の実行を行います。URLを取得し、HTTPステータス、レスポンスのプレビュー、および結果(実行済み、変更なし、またはエラー)を表示し、レスポンスが利用可能な場合はShopify Flowを起動します。次の実行間隔を待つのではなく、URLやヘッダーを変更した後にお使いください。

応答が変わったときのみ

このモードでは、アプリは取得したボディを前回のものと比較し、違いがある場合にのみShopify Flowを起動します。株価やステータスのフィードなど、実際に変更が生じるまで同じドキュメントを返すエンドポイントでご利用ください。比較はボディ全体を対象とするため、すべてのレスポンスにタイムスタンプやリクエストIDが含まれているAPIの場合、毎回異なる結果となります。

スケジュールが失敗した場合

タブ上の「ステータス」ブロックには、前回の実行、前回のHTTPステータス、次回の実行、および前回のエラーが表示されます。

  • ネットワークエラー、2xx以外のステータス、または解析できないボディは、実行失敗とみなされ、Shopify Flowはトリガーされません。
  • 20回連続で失敗すると、スケジュールは自動的に一時停止し、その旨を表示します。無効なURLをいつまでも呼び出し続けることはありません。URLまたは認証情報を修正し、再度有効にしてください。
  • プランの上限に達しても、失敗とはみなされません。それらの実行はブロックされ、ダッシュボードに表示されます。

このアプリが取得しないもの

パブリックアドレスのみです。内部アドレスおよびプライベートアドレス(localhost、プライベート範囲、クラウドメタデータエンドポイント)は、リダイレクト先がこれらを指している場合も含め、拒否されます。レスポンスのサイズ上限は1 MB、処理時間は10秒までとなっており、リダイレクトは最大3回まで追跡されます。リダイレクト先が別のサイトである場合、ヘッダー情報は破棄されます。

スケジュールされた実行が表示される場所

**「History」**では、ソースが「**Scheduled」**に設定されています。それ以外の機能(ペイロード、Shopify Flowトリガーの結果、再試行、リプレイ)は通常通り動作します。