データピル
データピルは、トリガーまたはアクションステップからの出力データです。 データピルは、ビジネスロジックをレシピステップにマッピングできる変数として機能します。 たとえば、SalesforceアカウントからZendesk組織を作成する場合、新しいSalesforceアカウントトリガーのデータピルを、レシピアクション内のZendesk組織のフィールドにマッピングできます。
データピルはデータツリーのレシピデータセクション内に表示されます。 特定のレシピステップでは、レシピデータセクションにトリガーとそれ以前のすべてのアクションからの出力が含まれます。
レシピステップ内のデータツリー
レシピエディターでレシピデータメニューを展開できます。
レシピデータメニューを展開
デフォルトのデータピル
すべてのジョブには、デフォルトのデータピルセットが含まれています。 これらには、プロパティデータツリーを展開してアクセスできます。
すべてのレシピのデフォルトデータピル
| データピル | 説明 |
|---|---|
| ユーザーID | ユーザーの一意の識別子。 ワークスペースでは、これはワークスペースIDに対応します。 |
| ユーザー名 | ワークスペースまたはワークスペース所有者の名前。 Development Environmentでは、これはワークスペース名またはワークスペース所有者の名前に対応します。 テストおよびプロダクションEnvironmentでは、この名前はそれぞれ Environment TestまたはEnvironment Productionです。 |
| ユーザーメール | ユーザーのメールアドレス。 ワークスペースでは、これはワークスペースメールに対応します。 |
| レシピID | レシピの一意の識別子。 |
| ルートレシピID | 該当する場合、最初にジョブをトリガーした元のレシピID。 ネストされた関数呼び出しを使用する場合、ルートレシピIDは呼び出しチェーン内で最も早い非関数レシピを表します。 |
| レシピURL | レシピへのURLリンク。 |
| レシピ名 | レシピの名前。 |
| レシピパス | レシピが保存されているディレクトリパス。 |
| ジョブID | ジョブの一意の識別子。 |
| ルートジョブID | 該当する場合、最初にジョブをトリガーした元のジョブID。 ネストされた関数呼び出しを使用する場合、ルートジョブIDは呼び出しチェーン内で最も早い非関数レシピジョブを表します。 |
| ジョブURL | ジョブレポートへのURLリンク。 |
| ジョブ作成日時 | ジョブが作成された日時。 |
| マスタージョブID | ジョブが繰り返された場合の初回ジョブID。 初回ジョブの場合、これは現在のジョブIDです。 |
| 呼び出し元レシピID | 該当する場合、このジョブをトリガーしたレシピのID。 |
| 呼び出し元ジョブID | 該当する場合、このジョブをトリガーしたジョブのID。 |
| 繰り返し | ジョブが繰り返しジョブかどうかを示します。 |
| テスト | ジョブがテストジョブかどうかを示します。 |
| 繰り返し回数 | ジョブが繰り返された回数。 |
| 繰り返しジョブ? 非推奨 | このフィールドは非推奨です。 代わりにIs repeatを使用します。 ジョブが繰り返されているかどうかを示します。 |
| 親ジョブID 非推奨 | このフィールドは非推奨です。 代わりにMaster job IDを使用します。 ジョブが繰り返された場合の初回ジョブID。 |
エラー時のデータピル
レシピにエラー処理ステップを追加すると、エラーが発生した場合にWorkatoは次のエラー関連データピルを生成します。 これにより、エラーの種類、メッセージ、ソース(レシピステップ、アクション、またはアプリ)などに応じて、レシピエラーを異なる方法で処理するようにレシピを設定できます。
エラー処理のベストプラクティスの詳細を確認してください。
エラー時データピルのAPI名のバリエーション
エラー時データピルのAPI名は、アプリやサービスによって異なる場合があります。 データピルエラーの原因を特定するには、実際のエラーペイロードを調査することが重要です。
| データピル | 説明 | API名 |
|---|---|---|
| エラータイプ | 発生したエラーのタイプ。 |
|
| エラーメッセージ | エラーを説明するメッセージ。 |
|
| 再試行回数 | Workatoがhandle errorsブロック内のアクションの再実行を試行した回数。 |
|
| エラーUUID | エラーのUniversally Unique Identifier(UUID)。 これは、エラーを識別するために使用される128ビットのラベルです。 このキーは任意であり、キーを指定した場合にのみ値が表示されます。 |
|
| エラーが発生したステップ番号 | エラーが発生したステップ。 |
|
| エラーが発生したアプリ | エラーの原因となったアプリ。 |
|
| エラーが発生したアクション | エラーが発生したアクション。 |
|
| 内部メッセージ | サードパーティサービスからの応答、またはクライアントから直接返された詳細が含まれる可能性がある未処理のエラーメッセージ。 形式および内容は予告なく変更される場合があります。 |
|
データ型
動画ガイド:データツリー、データマッピング、データ型
データピルには、次のデータ型を使用できます。
- 文字列
- 整数または数値
- 日付または日時
- リスト
- オブジェクト
- ブール値
データピルをマッピングするときは、問題を回避するために型の互換性があることを確認してください。 曖昧さや情報の損失がない場合、Workatoは可能な限りデフォルトの型変換を実行します。
Formulaモードでレシピステップを開くことで、データを変換することもできます。 これにより、より高度なデータ操作を実行できます。
ルートレベルのデータピル
ルートレベルのデータピルは、すべてのトリガーとアクションで使用できます。 レシピステップの入力フィールドでFormulaモードを選択した後にアクセスできます。
トリガー出力データピル
これらのデータピルは、トリガーまたはアクションの完全な出力スキーマを提供します。 書式設定には.to_jsonなどのFormulaを使用し、特定のデータまたはキーを抽出するには.pluckを使用できます。
型変換
Formulaを使用して特定のデータ型を変換できます。 たとえば、数値のテキスト文字列を算術演算用の整数に変換したり、文字列として表された日時を適切な日時型に変換したりできます。
よく使用される型変換Formulaには、次のものがあります。
Formulaエディターを使用して、他の型変換を確認します。
Formulaモードで型変換を見つける
プレビューデータ
Workatoは、アプリ内のデータをよりよく理解できるように、アカウントから取得したサンプルデータをデータピルの横に表示します。
サンプルデータは、データピルの横に斜体で表示されます。
新規Salesforceアカウントトリガーの出力データツリー
フィールドマッピング
フィールドマッピングとは、データピル(変数)または絶対値(定数)をアクションまたはトリガーの入力フィールドに割り当てることです。 これにより、アプリ間のデータフローを制御します。
Salesforceアカウント(トリガーから)のフィールドをZendeskの組織作成アクションにマッピングすることで、Zendesk組織とSalesforceアカウントが同じデータを持つようにできます。
各レシピステップでは、現在のステップの入力フィールドを設定するために、以前のすべてのステップのデータピルにアクセスできます。
例
次の例では、Salesforceの新規アカウントトリガーからアカウント名データピルを、メール送信アクションのメッセージ入力フィールドにマッピングします。
アカウント名データピルをメッセージ入力フィールドにマッピング
定数のマッピングと変数のマッピング
Workatoの入力フィールドは、変数(データピル)または定数(固定値)を受け入れます。
変数のマッピング
この例では、変数アカウント名Step 1が名前入力フィールドにマッピングされています。 これは、新しいSalesforceアカウントが作成されるたびに、そのアカウント名がZendeskの組織名として使用されることを意味します。 たとえば、Sattei Wineryという名前の新しいSalesforceアカウントが作成されると、レシピは同じ名前のZendesk組織を作成します。
変数マッピングを含む入力フィールド
定数のマッピング
この例では、メモ入力フィールドに定数値Synced over from Salesforceがマッピングされています。 これは、Workatoを通じて作成されたすべてのZendesk組織のメモフィールドにこのテキストが含まれることを意味します。
定数マッピングを含む入力フィールド
結果として、変数と定数の両方のマッピングを使用して新しいZendesk組織が作成されます。
新しく作成されたZendesk組織Sattei Winery
定数と変数の両方のマッピング
入力フィールドで定数と変数を組み合わせて、必要に応じてデータをカスタマイズすることもできます。
例
このサンプルレシピは、メーリングリストに登録した各Salesforceリードにウェルカムメールを送信します。
新規Salesforceリードにウェルカムメールを送信するレシピ。 レシピの例
メール送信アクションでは、新規Salesforceリードデータツリーのデータピルが入力フィールドにマッピングされます。
アクションステップにマッピングされているデータピルの例
データピルは変数であるため、その値は特定のトリガーイベントまたはアクションによって異なります。 この例では、宛先入力フィールドに割り当てられる値は、各新規リードのEmailの値によって異なります。
レシピは新規リードからFirst name(Betty)とEmail([email protected])を読み取り、次のメールを送信します。
To: [email protected]
Hi Betty,
Thanks for joining our mailing list! We're excited to have you!ステップ出力でデータピルとして定義されていないフィールドのマッピング
ステップの出力でデータピルとして直接使用できないフィールドにアクセスする必要があるシナリオもあります。
例
Query paramsAとBを受け入れるHTTP Webhookによってトリガーされる、Webhooks connectorを使用したレシピを考えます。
このレシピでは、ロガー by Workatoアクションがメッセージをログに記録します。 パラメーターCをメッセージフィールドにマッピングする予定ですが、Cはデータツリーにデータピルとして表示されません。 これは、パラメーターがステップ出力ペイロードに含まれているものの、Webhookスキーマで定義されていない場合に発生します。
非表示データピルのマッピング
データツリーに表示されていないステップ出力ペイロードのフィールドにアクセスするには、次の手順に従います。
マッピングする予定で、データツリーに表示されていないフィールド(たとえば、パラメーターC)を特定します。
パラメーターをマッピングする予定の入力フィールドで、親オブジェクトデータピル(たとえば、Params)をマッピングします。
親オブジェクトデータピルに、角括弧で特定のフィールド名を追加します。 たとえば、パラメーターCにアクセスするには、Params['C']を使用します。
括弧内に特定のフィールド名を追加
データ変換
あるアプリのデータフィールドが、別のアプリのデータフィールドに直接マッピングされない場合があります。 例:
- 営業アプリでは名前が単一の氏名フィールドに保存されますが、マーケティングアプリでは名と姓の2つのフィールドを使用します
- Eコマースアプリでは住所が個別のフィールド住所行1、住所行2、市区町村、都道府県として保存されますが、会計アプリでは単一の請求先住所フィールドのみを受け入れます
- チケット管理アプリの優先度レベルは低、中、高として保存されますが、営業システムでは低、通常、緊急として保存されます
このような場合、Formulaを使用してWorkatoのデータ変換機能を活用できます。
フィールドマッピング時の一般的な問題
フィールドマッピング時に発生する可能性のある一般的なエラーには、次のものがあります。
実行時に値がない必須フィールド
設計時(レシピの作成時)には、すべての必須フィールドをマッピングする必要があります。 必須フィールドが空のままの場合、レシピは開始されず、エラーをスローします。
ただし、入力フィールドが設計時にマッピングされていても、実行時(トリガーイベントが発生し、ジョブが処理されるとき)に値がない場合があります。 必須フィールドに実行時の値がない場合、ジョブはエラーをスローして失敗します。
このようなシナリオに対処する適切な対応を決定する必要があります。 欠落している値が解決を必要とするビジネスロジックエラーを表す場合は、ジョブを失敗させ、さらなるアクションのために問題をフラグ付けすることができます。 たとえば、レシピが営業アプリから新規リードを移動しようとしたときにメールアドレスが空であることがわかった場合、レシピはビジネスロジックに従ってこれに対処する必要があります。
誤ったデータツリーのデータピル
データピルを使用して入力フィールドをマッピングするとき、データツリー内に同じ名前のデータピル(たとえば、SalesforceのメールとZendeskのメール)が存在する場合があります。 混乱を避け、正確なデータ処理を確保するために、関連するステップから正しいデータピルをマッピングしていることを確認してください。
レシピの誤った部分のデータピル
レシピに条件付きステップが含まれている場合、各ジョブには未処理のステップがある可能性があります。 その結果、これらのステップのデータツリー内の値は空白になる可能性があります。
これらのステップのデータピルを使用する場合、nullになる可能性があることに注意してください。
Last updated: