Shopify Flow のアクションについて
ワークフローにおいてアクションとは、ワークフローの条件が満たされたときに Flow が実行するタスクのことです。一般的なアクションには、注文やお客様へのタグ付け、メールや Slack 通知の送信、在庫の更新、フルフィルメントの保留、注文のキャンセル、下書き注文の作成などがあります。また、Google スプレッドシート、Klaviyo、ShipStation へのデータ送信など、インストール済みの外部サービスコネクターアプリのアクションを自動化することもできます。
アクションは、トリガー、条件、または別のアクションなど、ワークフロー内の他のどのタイプのステップにも接続できます。ワークフローには任意のアクション数を含めることができ、各ステップを任意のアクション数に接続して単一の結果を得ることができます。たとえば、ある条件が満たされた場合に 5 つのタスクを同時に実行したい場合、その条件が真であるときに 5 つの個別のアクションステップを接続することができます。
ワークフローのアクションを選択する
ワークフローでタスクを達成するために、選択できるさまざまなアクションがあります。Shopify Flow で自動化できる特定のタスクを理解することは、ワークフローが正しく動作することを保証するのに役立ちます。
アクションは、以下のカテゴリーに分類されます。
- ストアアクション:タグ付け、在庫の更新、注文のキャンセルなど、Shopify ストアの何かを変更するアクションです。
- コミュニケーションアクション:自分自身やチームへのメール送信、Slack でのメッセージ投稿、お客様へのマーケティングメールの送信など、選択したプラットフォームを介してカスタマイズ可能な通知を送信するアクションです。
- アプリアクション:接続されているアプリでタスクを実行するアクションです。利用可能なオプションは、ストアにインストールされているアプリ コネクター によって異なります。すべてのアプリに Shopify Flow の関連コネクターがあるわけではありません。
- 高度なアクション:これらのアクションは、ワークフローの動作やデータを変更するもので、以下のタイプが含まれます。
- データ取得アクション:ワークフローで使用するために、ワークフローのトリガーではデフォルトで提供されない追加データのリストをストアから取得するアクションです。このアクションは、過去 1 日間に更新された商品データのリストを取得するなど、一連のフィルターでクエリを呼び出します。
- 集計アクション:カウントや合計など、ワークフローのリストデータに対して計算を実行するアクションです。
- For each ループ (反復) アクション:リストで返されたすべてのアイテムに対して、ループでタスクを実行できるアクションです。
- リクエスト送信アクション:Shopify GraphQL Admin API または 外部 API との間でデータを送受信するためのアクションです。
- 待機アクション:設定した期間が経過するまで、ワークフローが次のステップに進むのを停止する、ユニークなタイプのアクションです。
ワークフローを構築してアクションの実装方法を決定する際には、ワークフローで自動化したいタスクに基づいて、以下の考慮事項を確認してください。
ワークフローが提供するデータを確認する
アクションが機能するにはデータが必要であり、そのデータはトリガーによって、またはワークフロー中に データ取得アクションを含めることによって、アクションに提供される必要があります。必要なデータを受け取らないアクションを選択した場合、ワークフローは実行されず、エラーメッセージが表示されます。たとえば、[お客様が作成されたとき] トリガーで始まるワークフローは、お客様データをワークフローにインポートします。このトリガーの後に、お客様データではなく注文データを必要とする [注文にタグを追加する] アクションが続く場合、ワークフローはデータ欠落エラーになります。
これが重要な理由:これは、カスタムワークフローが破損したり、そもそも機能しなかったりする一般的な理由です。ワークフローを確定する前に、アクションがタスクを完了するためにどのような情報を必要とするかを考え、先行するステップでインポートされるデータセットがそのデータを提供できることを確認してください。
ワークフローにおけるアクションのタイミングを確認する
ワークフローは一連のステップとして動作します。ドラッグ&ドロップキャンバスでは、複数のアクションを同時に完了するワークフローを設計したり、アクションが次々に実行されるように整理したりできます。たとえば、条件Aが満たされた場合に、ワークフローでアクションXとYを同時に実行することも、アクションXを実行した後にアクションYを実行することも可能です。これは、特定の条件やアクションが、ワークフローの前の段階で他のアクションが実行されていることを必要とする場合に重要になります。
通常、条件が満たされ、アクションステップがワークフローの次に設定されている場合、アクションはすぐに実行されますが、[待機] アクションを使用することで、アクションがいつ実行されるかを管理することもできます。これは、新規のお客様にマーケティングメールを送信する前に1日待機するなど、お客様とのコミュニケーションを自動化するワークフローに役立ちます。ワークフローの実行中にアクションをいつ実行するかは、自由に設定できます。
重要なポイント:アクションのタイミングによって、ワークフローでタスクがいつ実行されるかが決まります。アクションを同時に、または順次実行されるように整理することで、自動化されたタスクが適切な順序で実行され、要件を満たすことが保証されます。たとえば、[待機] アクションを使用すると、お客様への通知やその他のフォローアップタスクのタイミングをニーズに合わせて管理できます。
アクションに変数を追加して動的データを返す
アクションステップで変数を使用すると、お客様へのメールなどのカスタムテキストに動的データを挿入できます。これらの変数は、条件で使用されるのと同じ GraphQL Admin API ドット表記でフォーマットされ、二重中括弧 {{ }} で囲まれます。アクションで使用される場合、変数はプレースホルダーとして機能し、ワークフローで提供されたデータに基づいて変数の特定の値を返します。
たとえば、[注文の請求書を送信する] アクションでは、メールの [件名] フィールドに、デフォルトで order.name 変数が含まれており、「Invoice {{order.name}}」という形式になっています。これは、メールが送信される際に、最終的なメールの件名が、その注文の値に基づいた注文番号に応じて「Invoice #1000」のようになることを意味します。
該当する場合、アクションのフィールドで [変数を追加] をクリックして、利用可能な変数を検索できます。これにより、Liquid を使用して、そのアクションで利用可能な変数に基づいて、任意のフィールドのコンテンツをカスタマイズできます。また、変数を使用して Liquid コードに条件文を追加し、コンテンツが表示されるタイミングをカスタマイズすることもできます。
たとえば、同じ [注文の請求書を送信する] アクションで、[カスタムメッセージ] フィールドに、ワークフローから提供されるデータに基づいた動的な値を含む変数をいくつか使用した、以下のコンテンツを追加できます。
Hello {{order.customer.firstName}}! This is the invoice for order {{order.name}}, which you placed on {{order.createdAt}}.
{% if order.fullyPaid = 'false' %}
Please complete any outstanding payments in the next 5 business days.
{% endif %}Shopify Flowで変数を使用してデータを表示または変換することについて、詳しくはこちらをご覧ください。