Salesforceリアルタイムトリガー
Workatoは、次のリアルタイムトリガーをサポートしています:
これらのリアルタイムトリガーは、Salesforceフローによって動作します。 Salesforceはフローを使用してレコードの変更を監視し、これらの変更が発生するとアウトバウンドメッセージを使用してWorkatoに即時に通知します。 Workatoレシピは、これらのアウトバウンドメッセージをトリガーイベントとして受信して処理します。
リアルタイムトリガーに関する非推奨のお知らせ
Workatoのリアルタイムトリガーは、Salesforceワークフロールールに依存しています。 これらの既存のワークフロールールは、引き続きサポートされます。 ただし、ワークフロールールとProcess BuilderはSalesforceによって非推奨になっているため、すべての新しいレシピではSalesforce Flowsを使用することをお勧めします。 ワークフロールールをフローに移行するための移行ツールがあります。
Salesforceで設定されたアウトバウンドメッセージは同じままであるため、このプロセスがWorkatoレシピに影響することはありません。 それでも、予期しない問題がないことを確認するために、まずSalesforceサンドボックスアカウントで移行をテストすることをお勧めします。
リアルタイムトリガーの権限
リアルタイムトリガーを使用するには、Salesforce組織でフローを設定する必要があります。 接続ユーザーにリアルタイムトリガーに必要な権限を付与するには、次の手順を実行します:
設定に移動し、クイック検索ボックスにProfilesと入力します。
フローアクセス権を付与するユーザープロファイルで編集をクリックします。
一般ユーザー権限に移動し、フローの管理とフローの実行を選択します。
一般ユーザー権限 - プロファイル設定
適切なトリガーの選択
次の表を参照して、新規レコード(リアルタイム)/新規/更新済みレコード(リアルタイム)トリガーと新規アウトバウンドメッセージトリガーの違いを確認してください。
| 新規および新規/更新済みレコード | 新規アウトバウンドメッセージ | |
|---|---|---|
| バックアップポーリングが有効 | はい。レシピは選択したオブジェクトへのすべての変更を取得します | いいえ。レシピはアウトバウンドメッセージを受信した場合にのみトリガーされます |
| 関連オブジェクトフィールド | はい | いいえ |
| SOQL WHERE句 | はい | いいえ |
| アウトバウンドメッセージでフィールドを設定 | いいえ。Workatoは、すべてのフィールドまたはフィールド入力フィールドで指定されたフィールドを自動的に取得します。 | はい。アウトバウンドメッセージで送信されるすべてのフィールドは、Salesforceで設定する際に指定する必要があります。 |
| 一意のエンドポイントURL(レシピごと) | いいえ。URLはレシピごとに一意ではありません。 同じコネクションとオブジェクトを使用するレシピは、一意のURLを共有します。 トリガーされるレシピは1つだけです。 | はい。URLはレシピごとに一意です。 各レシピは個別の名前を使用して一意のURLを生成します。 すべてのレシピが個別にトリガーされます。 |
| 複雑なSalesforceフローに関する考慮事項 | 推奨されません。レシピはSalesforceで設定されたフロー内の追加ロジックに従わず、バックアップポーリングにより不整合が発生するためです。 | 推奨されます。トリガーにはバックアップポーリングがなく、アウトバウンドメッセージがあるイベントに対してのみジョブが作成されるためです。 |
バックアップポーリング
Workatoのバックアップポーリングは、6時間ごとにSalesforceで対象オブジェクトを確認することで、見逃したイベントを復旧します。 一致するオブジェクトが見つかった場合、Workatoは、そのオブジェクトのジョブがまだ存在しなければジョブを作成します。
新規および新規/更新済みオブジェクト(リアルタイム)
新規レコード(リアルタイム)トリガーと新規/更新済みレコード(リアルタイム)トリガーは、設定されたポーリング間隔でSalesforceを確認する代わりに、アウトバウンドメッセージを使用してリアルタイム監視を提供します。 これは、販売時点情報管理、在庫、フルフィルメントなどのユースケースで特に役立ちます。
リアルタイムトリガーとポーリングトリガーの選択
リアルタイムのユースケースが不要なユーザーには、セットアップが容易で動作が同一であり、ポーリング間隔の期間(最短5分)分の最大遅延のみであるため、ポーリングトリガーを選択することをお勧めします。
新規レコードトリガーは、選択したタイプのオブジェクトが作成されたことを示すアウトバウンドメッセージを受信すると、リアルタイムでジョブを作成します。 例については、セットアップセクションを参照してください。
同様に、新規/更新済みレコードトリガーは、選択したタイプのオブジェクトが作成または更新されたことを示すアウトバウンドメッセージを受信すると、リアルタイムでジョブを作成します。 このトリガーでは、作成イベントと更新イベントの両方でメッセージが送信されるようにSalesforceフローを設定する必要があります。 Workatoは、一貫性を確保するためにレコードのLastModifiedDateフィールドを使用します。
トリガーのSOQL WHERE句フィールドまたはトリガー条件を使用して、特定のレコードのトリガーイベントを除外できます。 または、アウトバウンドメッセージを送信するイベントをフィルタリングするように、Salesforceフローを直接設定できます。 この方法ではバックアップポーリングが誤って動作するため、新規レコードおよび新規/更新済みレコードトリガーには推奨されません。
これら2つのトリガーでは、Salesforceがアウトバウンドメッセージを配信できなかった場合でも、オブジェクトに対するすべての新規/更新済みの変更を取得する6時間ごとのバックアップポーリングを使用して、Workatoが配信を保証します。 これは、SOQL条件またはトリガー条件で除外されない限り、すべてのレコード変更がWorkatoレシピによって取得されることを意味します。
セットアップ
これらのトリガーを設定するには、次を行う必要があります:
- Salesforceリアルタイムトリガーを使用してWorkatoレシピを作成し、生成されたエンドポイントURLをトリガーからコピーします。
- トリガーのエンドポイントURLを使用して、Salesforceでアウトバウンドメッセージを設定します。
- 関心のあるイベントを監視し、関連イベントが発生したときにアウトバウンドメッセージを送信するSalesforceフローを作成します。
- フローを有効化します。
- 必要に応じて、レシピにトリガー条件を追加します。
- レシピを開始します。
Salesforceで新規アウトバウンドメッセージを設定
すべてのトリガーでは、フローで使用するアウトバウンドメッセージを作成する必要があります。 まず、アウトバウンドメッセージを正しく設定するために必要な手順を説明します。
設定する予定のトリガーの折りたたみ可能なHELPセクションからwebhook URLをコピーします。
Salesforce組織に移動し、設定を選択します。
設定 > プロセスの自動化 > ワークフローアクション > アウトバウンドメッセージに移動するか、Salesforce設定サイドバーでOutbound Messagesを検索します。
Salesforce組織で、設定 > プロセスの自動化 > ワークフローアクション > アウトバウンドメッセージに移動
新規アウトバウンドメッセージをクリックし、監視するオブジェクトタイプを選択します。
新規アウトバウンドメッセージを作成して関連オブジェクトを選択
メッセージの一意の名前を入力し、WorkatoのエンドポイントURLを入力して、送信するフィールドを選択します。
関連情報を入力し、必要なフィールドを選択してアウトバウンドメッセージを設定。
トリガー設定
新規レコードトリガーと新規/更新されたレコードトリガーは、Workatoの設定に基づいてフィールドを取得します。 新規アウトバウンドメッセージトリガーを使用して、アウトバウンドメッセージ用にSalesforceで設定されたフィールドを取得します。
セットアップFAQ
1. 新規オブジェクトおよび新規/更新済みオブジェクトトリガーについて、Workatoに送信されるレコード数を制限するフィルターをSalesforceフローに設定しました。 この設定では、バックアップポーリングはどのように動作しますか。
バックアップポーリングはすべての新規または新規/更新済みオブジェクトを確認するため、フローで指定されたフィルターは考慮されません。 これにより、フローで除外された可能性のあるイベントに対応する新しいジョブが作成されます。 これを防ぐには、トリガーフィルターまたはSOQL条件を使用することをお勧めします。
2. Salesforce内で発生するイベントを監視する高ボリュームのユースケースがあります。 推奨されるアプローチは何ですか。
高ボリュームのユースケースでは、より耐久性の高いSalesforce Streaming APIを使用するプラットフォームイベントトリガーまたはPushTopicトリガーを使用することをお勧めします(イベントキュー内のイベントに24時間アクセスできます)。
Last updated: