# Salesforceリアルタイムトリガー

Workatoでは、3つのSalesforceトリガーに対してリアルタイム機能を提供しています:

  • 新規オブジェクト
  • 新規/更新オブジェクト
  • 新規アウトバウンドメッセージ

これらのリアルタイムトリガーは、Salesforceフロー (opens new window)によって動作します。これらのフローを介して、Salesforceは特定の変更を監視し、これらの変更が発生した際に即座にアウトバウンドメッセージを介してWorkatoに通知します。これらのアウトバウンドメッセージは、Workatoのレシピによってトリガーイベントとして受信および処理されます。

廃止予告 - リアルタイムトリガーに関する注意事項

現在、Workatoで構成されたリアルタイムトリガーは、Salesforceのワークフロールールに依存しています。これらの既存のワークフロールールは引き続きサポートされますが、Salesforceによってワークフロールールとプロセスビルダーが廃止予定 (opens new window)されたため、新しいレシピではSalesforceフローを使用することをお勧めします。ワークフロールールをフローに移行するためのmigration tool (opens new window)があります。 Salesforceで構成されたアウトバウンドメッセージは変更されないため、このプロセスはWorkatoのレシピに影響を与えるべきではありません。ただし、予期しない問題が発生しないことを確認するために、まずSalesforceのサンドボックスアカウントで移行をテストすることをお勧めします。

# リアルタイムトリガーの権限

Salesforceでリアルタイムトリガーを使用するには、Salesforce組織でフローを設定する必要があります。ユーザーは次の手順でアクセス権を付与する必要があります:

  1. セットアップから、クイック検索ボックスに「プロファイル」と入力します。
  2. フローアクセスを許可したいユーザープロファイルの編集をクリックします。
  3. 一般的なユーザー権限の下で、「フローの管理」と「フローの実行」を選択します。

一般的なユーザー権限 - プロファイル設定 一般的なユーザー権限 - プロファイル設定

# 適切なトリガーの選択

3つのトリガーはすべてSalesforceからWorkatoに送信されるアウトバウンドメッセージでトリガーされますが、次の点に注意する必要があります:

新規および新規/更新オブジェクト 新規アウトバウンドメッセージ
バックアップポーリングの有効化 はい、レシピは選択したオブジェクトのすべての変更を取得します いいえ、レシピはアウトバウンドメッセージを受信したときにのみトリガーされます
関連オブジェクトフィールド はい いいえ
SOQL WHERE句 はい いいえ
アウトバウンドメッセージのフィールドの設定 いいえ、Workatoは自動的にすべてのフィールドまたは'Fields'入力フィールドで指定されたフィールドを取得します。 はい、アウトバウンドメッセージで送信されるすべてのフィールドは、Salesforceで設定する際に指定する必要があります。詳細については、以下を参照してください。
ユニークなエンドポイントURL(レシピごと) いいえ、URLはSalesforceの接続と選択したオブジェクトに固有です。 はい、URLはSalesforceの接続と選択したオブジェクト、およびユーザー指定の名前に固有です。
複雑なSalesforceフローの考慮事項 推奨されません。ワークフローがSalesforceで構成された追加のロジックに従わず、バックアップポーリングによる不整合が発生する可能性があります。 推奨されます。トリガーにバックアップポーリングが存在しないため、アウトバウンドメッセージがあるイベントのみジョブが作成されます。

バックアップポーリングとは何ですか?
Workatoによって設定されたメカニズムで、Workatoは6時間ごとにSalesforceをポーリングして関連するオブジェクトを確認します。Workatoは必要なジョブが作成されているかどうかをチェックします。イベントが欠落している場合、Workatoはその時点でジョブを作成します。

# 新規および新規/更新オブジェクト(リアルタイム)

「新規オブジェクト」と「新規/更新オブジェクト」は、一般的なポーリングトリガー (opens new window)と同様に使用されますが、ポイントオブセールや在庫管理、フルフィルメントなどのリアルタイムのニーズに対応します。変更をポーリングするためにWorkatoレシピが待機するのではなく、アウトバウンドメッセージが構成され、レシピをトリガーするために使用されます。

リアルタイムトリガーとポーリングトリガーの選択

リアルタイムの使用ケースがないユーザーには、ポーリングトリガーを選択することをお勧めします。セットアップの容易さと同じ動作があり、ポーリング間隔の最大遅延時間(最低5分)のみがあります。

「新規オブジェクト」は、選択したオブジェクトのレコードが作成されたことを示すアウトバウンドメッセージの受信時にリアルタイムでトリガーされます。これは、Salesforceでレコードが作成されるたびにアウトバウンドメッセージが送信される例で示されています。

同様に、「新規/更新オブジェクト」トリガーは、選択したオブジェクトのレコードが作成または更新されたときにトリガーされます。

オブジェクトが作成または更新されました。フローの設定を変更してこれを考慮する必要があります。フローの開始を変更して、作成または更新のいずれかに対応するようにします。さらに、WorkatoはレコードのLastModifiedDateフィールドも確認して一貫性を確保します。

Workatoレシピが受信しているすべてのアウトバウンドメッセージイベントから除外する必要がある場合は、トリガーのSOQL where句フィールドまたはトリガー条件を使用してフィルタリングする必要があります。 また、アウトバウンドメッセージの送信を引き起こすイベントをフィルタリングするためにフローを直接設定することもできます。ただし、これによりバックアップポーリングが誤動作する可能性があり、NewおよびNew/Updated Objectトリガーでは推奨されません。

これらの2つのトリガーを使用することで、Workatoは6時間ごとのバックアップポーリングを使用して配信を保証します。Salesforceがアウトバウンドメッセージの送信に失敗した場合でも、オブジェクトのすべての新規/更新変更がWorkatoレシピによって取得されます。これは、SOQL条件またはトリガー条件でフィルタリングされていない限り、すべてのレコード変更がWorkatoレシピによって取得されることを意味します。

# セットアップ

これらのトリガーを設定するには、以下の手順を実行する必要があります:

  1. Salesforceリアルタイムトリガーを使用してWorkatoレシピを作成し、トリガーから生成されたエンドポイントURLをコピーします。
  2. Salesforceでアウトバウンドメッセージを設定します。トリガーからのエンドポイントURLを使用します。
  3. Salesforceフローを作成し、興味のあるイベントを監視し、関連するイベントが発生した場合にアウトバウンドメッセージを送信します。
  4. フローをアクティブにします。
  5. 必要に応じてレシピにトリガー条件を追加します。
  6. レシピを開始します。

以下のセクションでは、リアルタイムトリガーのセットアップの詳細な手順を提供します:

# Salesforceで新しいアウトバウンドメッセージを設定する

すべてのトリガーには、フローで使用するアウトバウンドメッセージの作成が必要です。まず、アウトバウンドメッセージを正しく設定するために必要な手順を説明します。

1

アウトバウンドメッセージの設定を開始する前に、トリガーからのWebhook URLが必要です。

2

Salesforce組織にアクセスし、Setupを選択します。Setup > Process Automation > Workflow Actions > Outbound Messagesに移動して新しいアウトバウンドメッセージを作成します。 または、Salesforceのセットアップのサイドバーでアウトバウンドメッセージを検索します。

Salesforce組織でSetup > Process Automation > Workflow Actions > Outbound Messagesに移動します Salesforce組織でSetup > Process Automation > Workflow Actions > Outbound Messagesに移動します

3

新しいアウトバウンドメッセージをクリックし、情報を受信するオブジェクトを選択します。

新しいアウトバウンドメッセージを作成し、関連するオブジェクトを選択します 新しいアウトバウンドメッセージを作成し、関連するオブジェクトを選択します

4

一意の名前を持つアウトバウンドメッセージを設定し、Webhook URLエンドポイント(Workatoから)を入力し、関連するフィールドを選択します。

関連情報を入力し、必要なフィールドを選択してアウトバウンドメッセージを設定します 関連情報を入力し、必要なフィールドを選択してアウトバウンドメッセージを設定します。

WorkatoのNew and New/Updated Objectトリガーでは、取得されるフィールドはWorkatoの設定に基づいており、対応するアウトバウンドメッセージの設定で構成されたフィールドではありません。WorkatoのNew Outbound Messageトリガーでは、フィールドはSalesforceの設定時に行われた構成に基づいています。

# 新しいオブジェクト(リアルタイム)

以下では、新しいオブジェクトのリアルタイムトリガーのセットアップ手順を説明します。Salesforceで新しいアカウントのリアルタイムトリガーを設定します。

1

Workatoでトリガー**New Object (Real-time)**を選択します。Salesforceアカウントに接続するように求められます。

2
Salesforceで監視する特定のオブジェクトを選択します。この場合、Accountを選択します。

オブジェクトを選択すると、トリガーはSalesforceフローを作成するためのエンドポイントURLを提供します。このURLは、Salesforceに新しく作成されたアカウントに関するリアルタイムイベントをこのWorkatoレシピに送信するように指示します。このURLをクリップボードにコピーして、Salesforceのアウトバウンドメッセージの作成に使用します。

WorkatoがSalesforceフローのエンドポイントURLを生成します WorkatoがSalesforceフローのエンドポイントURLを生成します

トリガーでオブジェクトまたは接続を変更する

このエンドポイントURLは、トリガーに接続されたSalesforce組織と選択したSalesforceオブジェクトに固有です。トリガーのオブジェクトまたは接続を変更する場合は、エンドポイントURLを再生成する必要があります。

# 新規/更新オブジェクト(リアルタイム)

以下では、Salesforceで新規および更新されたオブジェクトのリアルタイムトリガーのセットアップ手順を説明します。Salesforceで新規および更新されたリードのリアルタイムトリガーをセットアップします。

1

Workatoでトリガー「新規/更新オブジェクト(リアルタイム)」を選択します。Salesforceアカウントに接続するように求められます。

2
Salesforceで監視する特定のオブジェクトを選択します。この場合、リードを選択します。

オブジェクトを選択すると、トリガーはSalesforceフローのセットアップに使用するエンドポイントURLを提供します。このURLは、Salesforceに新しく作成されたアカウントに関するリアルタイムイベントをこのWorkatoレシピに送信するように指示します。このURLをクリップボードにコピーして、Salesforceのアウトバウンドメッセージの作成に使用します。

WorkatoがSalesforceフローのエンドポイントURLを生成します WorkatoがSalesforceフローのエンドポイントURLを生成します

トリガーでオブジェクトまたは接続を変更する場合

このエンドポイントURLは、トリガーに接続されたSalesforce組織と選択したSalesforceオブジェクトに固有です。Salesforceの接続または監視するSalesforceオブジェクトを変更する場合は、このエンドポイントURLを再生成する必要があります。

3

生成されたエンドポイントURLを使用して、Salesforceで新しいアウトバウンドメッセージを設定します。このアウトバウンドメッセージでは、リードをオブジェクトとして選択する必要があります。

4

Salesforce組織に移動し、セットアップを選択します。セットアップ > プロセスオートメーション > フローに移動し、新しいフローを選択して新しいSalesforceフローを作成します。これにより、Salesforceフローセットアップウィザードに移動します。

Salesforce組織でセットアップ > プロセスオートメーション > フローに移動し、新しいフローを選択します Salesforce組織でセットアップ > プロセスオートメーション > フローに移動し、新しいフローを選択します

5

セットアップウィザードで、レコードトリガードフローを選択します。

Salesforceでレコードトリガードフローを選択します Salesforceでレコードトリガードフローを選択します

6

セットアップウィザードの次のステップで、レシピで選択したSalesforceオブジェクトと同じオブジェクトを選択します。この場合、リードです。

トリガーの設定レコードが作成された場合を選択します。

バックアップポーリングメカニズムとの競合を避けるため、エントリ条件を設定しないでください。

フローの最適化アクションと関連レコードを選択します。

レコードが作成されたときにトリガーされるようにSalesforceフローを設定します レコードが作成されたときにトリガーされるようにSalesforceフローを設定します

7

フロービルダービューで+アイコンをクリックし、アクションを選択します。 アクションのセットアップビューで、アウトバウンドメッセージをクリックし、事前に設定したアウトバウンドメッセージ(この場合はリードのアウトバウンドメッセージ)を選択します。 新しく作成したフローを保存します。

Salesforceフローにアウトバウンドメッセージをアクションとして追加します Salesforceフローにアウトバウンドメッセージをアクションとして追加します

8

Salesforceフローを保存すると、ラベルとAPI名を指定するように求められます。

Salesforceフローを保存します Salesforceフローを保存します

9

フロービルダーでフローをアクティブにします。

フロービルダーでフローをアクティブにします フロービルダーでフローをアクティブにします

10

Workatoに戻り、レシピを開始します。レシピが正常に動作しているかテストするために、新しいリードを作成します。Salesforceフローが正常に動作していることを確認するために、トリガーイベントがすぐに検出されるか確認してください。

トリガーイベントがすぐに検出される場合、SalesforceフローとWorkatoトリガーが正しく設定されていることを意味します。レシピが実行されている間、Salesforceで新しく作成されたレコードを監視し、トリガーイベントとしてすぐに処理します。ワークフローに特定のレコードをフィルタリングするための追加のロジックが必要な場合は、トリガー条件を追加してください。

# 新しいアウトバウンドメッセージ(リアルタイム)

新しいアウトバウンドメッセージトリガーは、Salesforceからのアウトバウンドメッセージを受信したときにのみレシピがトリガーされるように使用できます。

トリガーの出力は、アウトバウンドメッセージで指定されたオブジェクトのすべてのフィールドです。

アウトバウンドメッセージトリガーの使用

より複雑なSalesforceフローを設定する場合は、このトリガーを使用することをお勧めします。これにより、Workatoに送信されるアウトバウンドメッセージを柔軟に制御することができ、既存のワークフローオートメーションの設計に簡単に組み込むことができます。

トリガーを設定するには、アウトバウンドメッセージ名フィールドに一意の名前を指定し、Salesforceオブジェクトを選択します。レシピは、Salesforce接続、選択したオブジェクト、および指定した名前に固有のURLを生成します。

このURLは、エンドポイントURLフィールドでアウトバウンドメッセージを設定する際に使用します。

新しいアウトバウンドメッセージトリガー Workatoの設定でのアウトバウンドメッセージ

レシピの後続のステップで必要なすべてのフィールドは、アウトバウンドメッセージで指定する必要があります。上のスクリーンショットでは、必要な連絡先の選択フィールドはContactIdFullNameなどです。これにより、Workatoが最終的にトリガーで受け取る出力が提供されます。

新しいアウトバウンドメッセージトリガー 新しいアウトバウンドメッセージの最終出力

Salesforceでアウトバウンドメッセージを設定する手順は、上記で説明されているとおりです。ただし、アウトバウンドメッセージの構成中に使用するフィールドセットを選択する必要があります。Workatoでフィールドを選択しても、アウトバウンドメッセージの構成で選択しない場合、レシピの実行中にエラーが発生する可能性があります。

# 常時オン

新しいアウトバウンドメッセージトリガーは、バックアップポーリングを介しての配信を保証しないため、イベントを受信する場合は常にレシピがオンになっていることを確認してください。

これはWebhookトリガーと同じ方法で機能します。レシピが停止していると、イベントを受信できません。レシピが長時間(>24時間)停止されていると、イベントが見逃される可能性があります。

# アウトバウンドメッセージの情報

アウトバウンドメッセージの作成と構成は簡単ですが、このSalesforceの機能には制限があります。アウトバウンドメッセージがエンドポイントに配信できない場合、メッセージの再送信は24時間以内に指数関数的な間隔で最大2時間まで行われます(ドキュメント (opens new window)を参照)

注意

アウトバウンドメッセージを使用して監査トレイルを構築することはできません。各メッセージは少なくとも1回は配信されるはずですが、複数回配信される場合もあります。

また、24時間以内に配信できない場合は、メッセージがまったく配信されない場合もあります。最後に、上記のように、通知が送信される前にソースオブジェクトが変更される可能性があるため、エンドポイントは最新のデータのみを受信し、中間の変更は受信しません。

既存のアウトバウンドメッセージを表示するには、セットアップから、_クイック検索ボックス_にアウトバウンドメッセージを入力し、Salesforceユーザーインターフェースで選択します。

  • 新しいアウトバウンドメッセージを定義するには、新しいアウトバウンドメッセージをクリックします。
  • アウトバウンドメッセージの配信状況を追跡するには、メッセージ配信ステータスの表示をクリックします。
  • 既存のアウトバウンドメッセージを選択して、詳細を表示するか、それを使用するワークフロールールや承認プロセスを表示します。

# セットアップFAQ

1. Salesforceフローを設定して、New ObjectおよびNew/Updated Objectトリガーに送信されるレコードの数を制限しています。この設定の下でバックアップポーリングはどのように機能しますか?

バックアップポーリングは、すべてのNewまたはNew/Updatedオブジェクトをチェックするため、フローで指定されたフィルターを尊重しません。これにより、フローでフィルタリングされたイベントに対応する新しいジョブが作成されることがあります。これを防ぐために、トリガーフィルターまたはSOQL条件の使用をお勧めします。

2. Salesforce内で発生するイベントを監視するための高容量ユースケースがあります。推奨されるアプローチは何ですか?

高容量ユースケースでは、PlatformイベントトリガーまたはPushtopicトリガーの使用をお勧めします。これらはSalesforce Streaming APIを利用しており、より耐久性があります(イベントを24時間イベントキューでアクセスできるようにします)。


Last updated: 2024/2/13 16:59:53