手順

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

レシピステップは、レシピのコアロジックを定義します。 ステップを使用すると、ターゲットアプリ内で作成、更新、検索を実行できます。 ステップには、IF条件などの制御フローステートメントや、Repeatステップによるアクションの繰り返しも含まれます。 ユーティリティステップは、エラー処理、ジョブの停止、再利用可能なロジックの呼び出し、データの変換をサポートします。

概要

  • レシピは、ターゲットアプリ内での作成、更新、検索、または制御フローステートメントによるビジネスロジックの定義を可能にするステップで構成されます。
  • 条件分岐を作成するには、IF条件ステップを使用します:
    • IF条件は初期条件を評価し、条件がtrueの場合にアクションを実行します。
    • ELSE IF条件は、前の条件が満たされなかった場合にのみ評価される条件分岐を追加します。
    • ELSEは、先行する条件がいずれも満たされない場合にアクションを実行します。
  • Repeatステップを使用するとリストアイテムを処理でき、Repeat in Batchesは高速データ転送を小さなバッチで管理します。
  • Call recipe functionステップを使用すると、再利用可能なロジックのために別のレシピをトリガーできます。
  • Stop jobステップを使用すると、ビジネスロジックエラーが発生した場合にジョブを早期に終了できます。
  • プログラミングのtry/catchブロックと同様に、アクションのエラーを監視および管理するには、Handle errorsステップを使用します。

利用可能なステップレシピエディターで利用できるさまざまなレシピステップ

アクションステップ

アクションは、レコードの作成、更新、検索アクションなど、ターゲットアプリで操作を実行します。 各アクションには特定の入力フィールドが必要で、出力データツリーを返します。この出力データツリーを使用して、後続のステップにデータをマッピングできます。

ドラッグアンドドロップでレシピ内のステップを並べ替える(動画)

例: アクションステップ

この例では、Zendesk連携でのSearch organizationsアクションを示します。 入力フィールドでは、次の条件を使用してZendesk組織を検索できます:

  • Name: 組織名で検索します。
  • Tags: カンマ区切りのタグリストで検索します。
  • Page number: ページネーション時に結果を取得するページを指定します。
  • Maximum results: 1回のリクエストで返される結果数を制限します。

この場合、Search organizationsアクションはNameで組織を検索します。

Salesforceアカウント名でZendesk組織を検索Salesforceアカウント名でZendesk組織を検索しています。 サンプルレシピ

Search organizationsアクションが完了すると、Zendeskは一致する組織のデータを返します。 出力データツリーには利用可能なフィールドが表示され、後続のステップにマッピングできます。

たとえば、Update organizationアクションでは、Search organizations出力のIDPropertiesデータピルを使用して、更新するZendesk組織を識別します。 IDPropertiesデータピルは組織を一意に識別し、正しいレコードが更新されるようにします。

IDを使用してZendesk組織を更新IDで識別されたZendesk組織を更新しています。 サンプルレシピ

IF制御ステートメント

IF制御ステートメントは、指定された条件に基づいて特定のアクションを実行するようレシピに指示します。 これにより、条件分岐を作成し、評価された条件に応じて異なるステップを実行できます。 ELSE IFを使用して追加の分岐を含め、最後にELSE分岐を使用して複数の結果を効率的に処理できるため、ネストされた条件が不要になります。

利用可能な条件の詳細については、条件のドキュメントを参照してください。

例: 条件ロジックによるZendeskチケットの管理

次のレシピは、条件付きステップを使用してZendeskチケットを管理します:

  • チケットのタイプにBugが含まれる場合、IFでワークフローはチケットのPriorityHighに更新し、Developmentチームに割り当てます。
  • チケットのタイプにFeature Requestが含まれる場合、ELSE IFでワークフローはチケットのStatusPendingに更新し、製品管理チームに割り当てます。
  • ELSEでワークフローはチケットのStatusClosedに更新します。

条件付きステップの例条件付きステップを使用してZendeskチケットを管理するレシピ

この例では、各チケットに対して1つの分岐のみが実行されるため、効率的かつ対象を絞った処理が可能になります。

Repeat制御ステートメント(ループ)

Repeat制御ステートメントを使用すると、特定の条件に基づいて一連のステップを繰り返すことができます。 Workatoには、次の2種類のRepeat制御ステートメントがあります:

  • Repeat whileは、条件が満たされている_間_、1つ以上のアクションを_繰り返します_。 条件が満たされなくなると、ループは自動的に終了します。 たとえば、取得するページが残っている間、Google Driveの検索結果の次のページを取得する処理を繰り返すことができます。
  • Repeat for eachは、リスト内の各アイテム_ごとに_、1つ以上のアクションを_繰り返します_。 リスト内のすべてのアイテムが処理されると、ループは自動的に終了します。 たとえば、検索結果のリスト内の各Google Driveファイルをダウンロードする処理を繰り返すことができます。

REPEAT FOR EACH IN BATCHES

Repeat for each制御ステートメントは、デフォルトではリストアイテムを1つずつ処理し、バッチで処理することもできます。 アイテムをバッチで繰り返すには、Repeat for each in batchesを参照してください。

次の図は、Repeat whileループとRepeat for eachループのロジックを示しています:

Repeat whileループ:

Repeat for eachループ:

Repeat whileとRepeat for eachの組み合わせ

複雑なユースケースに対応するため、同じレシピ内でRepeat whileRepeat for each制御ステートメントを組み合わせることができます。 たとえば、レシピでRepeat whileループを使用して、結果のページがさらにある間、SOQLクエリでSalesforceの連絡先を照会できます。 Repeat whileループ内で、Repeat for eachループは検索結果の現在のページ内の各レコードについて連絡先の詳細を取得します。

Call Recipe Functionアクション

Recipe Functions - Call Recipe Functionアクションを使用すると、レシピ関数と呼ばれる別のレシピをトリガーできます。 レシピ関数を使用すると、複数のレシピでロジックを再利用し、重複を減らしてメンテナンスを簡素化できます。

詳細については、Recipe Functionsのドキュメントを参照してください。

Stop jobステップ

Stop jobステップは、以降の処理を防ぐためにジョブを終了します。 レシピが意図したアクションを完了できない条件を満たした場合に使用します。

ジョブをFailedまたはSuccessfulとしてマークし、必要に応じてエラーメッセージを追加できます。

詳細については、エラー処理ガイドのStop jobセクションを参照してください。

Handle errors制御ステートメント

Handle errors制御ステートメントを使用すると、ステップのグループでエラーを監視できます。 監視対象ブロック内のいずれかのステップが失敗した場合、再試行、問題のログ記録、アラート送信、または修正ステップの実行が可能です。

この制御ステートメントには2つのブロックがあります:

  • Monitor block: エラーを監視する予定のアクションを追加します。 すべてのアクションが成功すると、WorkatoはErrorブロックをスキップします。
  • Error block: 監視対象のステップが失敗した場合に実行するステップを追加します。 試行回数と時間間隔を指定して再試行を設定できます。 すべての再試行が失敗した場合、Workatoはこのブロック内の残りのステップを実行します。

再試行動作や条件付き再試行を含め、このステップの使用方法と設定方法については、Handle errorsステップでエラーを監視するセクションを参照してください。

Last updated: