Application Integration でサポートされているコネクタをご覧ください。

Salesforce トリガー

Salesforce トリガーを使用すると、変更データ キャプチャ(CDC)またはエンタープライズ メッセージング プラットフォーム のイベントをリッスンできます。このトリガーを使用すると、CDC イベント(作成、更新、削除、削除取り消し)のいずれか、または Salesforce インスタンスのプラットフォーム イベントに基づいて、統合を開始できます。

詳しくは、次のチュートリアルをご覧ください。

始める前に

このセクションでは、変更データ キャプチャ(CDC)イベントまたはプラットフォーム イベントを使用して Pub/Sub 方式で Application Integration に変更をストリーミングするように Salesforce インスタンスを接続および構成する手順の概要を説明します。Application Integration で Salesforce 関連のタスクまたはトリガーを構成する前に、次の手順を行う必要があります。

統合ユーザーを設定する

以下の手順で統合ユーザーを設定します。

  1. sysadmin 認証情報を使用して Salesforce インスタンスにログインします。
  2. 下の図に示すように、歯車アイコンをクリックし、[設定] を選択します。[設定] ページを示す画像[設定] ページを示す画像
  3. [管理] メニューから [ユーザー] > [ユーザー] をクリックします。
  4. [ユーザー] パネルで、[新しいユーザー] ボタンを選択します。
  5. [ユーザーの編集] ダイアログで、次の情報を入力します。
    1. First Name: 統合ユーザーの名。
    2. Last Name: 統合ユーザーの姓。
    3. Email Address: 統合ユーザーのメールアドレス。理想的には、グループのメールアドレスにする必要があります。
    4. Username: 組織レベルの命名規則に準拠するユーザー名。

      新しい統合ユーザーを作成する場合は、次の形式を使用します。EMAIL.SALESFORCE_ORG_NAME.SANDBOX_NAME

      既存の統合ユーザーが存在している場合は、そのユーザー名がここに入力されていることを確認してください。

    5. Role: プルダウンからオプションを選択します。
    6. User License: 「Salesforce」と入力するか、試用版組織を使用する場合は「Salesforce Platform」と入力します。
    7. Profile: 統合ユーザーの権限プロファイルをプルダウンから選択します。

      統合ユーザーの Salesforce へのアクセス権を不正アクセスから保護するために、権限なしのプロファイルを割り当てることをおすすめします。

    8. [保存] をクリックします。
  6. 新しい統合ユーザーのパスワードを更新する手順は次のとおりです。
    1. [ユーザー] ペインの [パスワードを再設定] ボタンをクリックします。パスワードの再設定メールが、ユーザーに関連付けられているメールアドレスに送信されます。
    2. メール アカウントからパスワード再設定のフローに従います。新しいパスワードをメモしてください。この後の手順で必要になります。

権限セットを設定する

統合ユーザーに適した権限セットへのアクセス権がすでにある場合は、この手順をスキップして、セキュリティ トークンを設定するに進んでください。 それ以外の場合、統合ユーザーと Salesforce オブジェクトの権限を構成するには、以下の手順を実行します。

統合ユーザーの権限セットを構成するには:

  1. [設定] メニューで [ユーザー] > [権限セット] をクリックします。
  2. [権限セット] ペインで、[新規] ボタンをクリックします。
  3. [権限セット] ダイアログで、次の詳細を入力します。
    • ラベル: 権限セットの名前を入力します。
    • ライセンス: [ライセンス] プルダウンから [Salesforce] を選択します。
    • [保存] をクリックします。
  4. [システム] 設定オプションの一覧を下にスクロールして、[システム権限] を選択します。
  5. [システム権限] ページで、[編集] ボタンをクリックします。
  6. 使用可能な権限のリストを下にスクロールし、[API が有効です] チェックボックスをオンにします。

    Api 専用ユーザー権限も必要ですが、必要なセキュリティ トークンがリセットされるまで有効にすることはできません。この権限は後のステップで追加します。

  7. (省略可)必要に応じて [すべてのデータを変更 ] と [すべてのデータを表示] までスクロールして選択します。この権限は必須ではありませんが、新しいオブジェクトへのアクセス権を統合ユーザーに自動的に付与したい場合に便利です。サンドボックスでのテストにのみ、これらの権限を有効にすることをおすすめします。
  8. 権限リストの先頭までスクロールして、[Save] をクリックします。
  9. 設定を確認し、[Save] をクリックします。

Salesforce オブジェクトの権限セットを構成するには:

  1. [権限セットの概要] をクリックし、メインの [権限セット] 構成ページに戻ります。
  2. [権限セット] ペインの [アプリ] セクションから [オブジェクト設定] を選択します。
  3. 下にスクロールして、権限セットを必要とする Salesforce オブジェクトを選択します。 この例では、[機会] オブジェクトを使用します。
  4. オブジェクトの詳細ページの [編集] ボタンをクリックします。
  5. レコードタイプのチェックボックスを選択します。必須のレコードタイプがわかっている場合は、それらを選択します。必須のレコードの種類がわからない場合は、すべてを選択します。
  6. [オブジェクトの権限] のチェックボックスをオンにして有効にします。 [読み取り] と [すべて表示] をおすすめします。
  7. 対応するチェックボックスをオンにして、読み取りアクセスまたは編集アクセスを各オブジェクト フィールドに付与します。
  8. ページの上部までスクロールし、[保存] をクリックします。

セキュリティ トークンを設定する

統合ユーザーのセキュリティ トークンを以前に作成している場合で、パスワードをリセットする場合、新しいセキュリティ トークンが記載されたメールが自動的に送信されます。その新しいトークンを使用すると、接続されているアプリの作成に進むことができます。

セキュリティ トークンを作成していない場合は、次の手順で統合ユーザーのセキュリティ トークンをリセットします。

  1. 前のステップで設定したユーザー名とパスワードを使用して、統合ユーザーとして Salesforce にログインします。
  2. メインメニューでプロフィール写真をクリックし、[設定] をクリックします。
  3. [設定] メニューで [Reset My Security Token] を選択し、[Reset Security Token] ペインを開きます。
  4. [Reset Security Token] ボタンをクリックします。
  5. 新しいセキュリティ トークンが記載されたメールが、統合ユーザーに関連付けられているメール アカウントに届いたことを確認します。 後のステップで必要になるため、新しいセキュリティ トークンをメモします
  6. (省略可)権限セットのシステムの権限Api User Only 権限を有効にします。詳細については、権限セットを構成するをご覧ください。

接続されているアプリを作成する

接続されているアプリを設定するには、システム管理権限が必要です。現在、統合ユーザーとしてログインしている場合は、必ずログアウトしてから sysadmin として再度ログインしてください。

接続されているアプリを設定する手順は、次のとおりです。

  1. 歯車アイコンをクリックして、[設定] を選択します。
  2. 下の図に示すように、[設定] メニューから [アプリケーション マネージャー] を検索して選択します。 [設定] ページを示す画像[設定] ページを示す画像
  3. [新規接続アプリケーション] をクリックします。
  4. [構成] ペインで、次の詳細を入力します。
    • 接続されているアプリ名: 接続されているアプリの名前を入力します。
    • API 名: API の名前を入力します。
    • 連絡先メールアドレス: 接続されているアプリのメールアドレス(理想的にはグループのメール エイリアス)を入力します。
    • API(OAuth 設定の有効化): [OAuth 設定の有効化] を選択します。次に、以下のとおりに設定します。
      1. (省略可)コールバック URL: 外部サービスが検証を行う場合にのみ必要です。 コールバックを指定する場合は、http(s):// 接頭辞を必ず含めてください。
      2. 選択した OAuth 範囲: 次のいずれかを選択します。
        • データ(api)にアクセスして管理する
        • リクエストを随時自動的に実行する(refresh_token、offline_access)
  5. [保存] をクリックします。
  6. [続行] をクリックします。メールアドレスに送信された確認コードを使用して、再承認を行う必要があります。
  7. コードの確認が完了すると、次のページにコンシューマ シークレットコンシューマ キーが表示されます。これらの値は、Application Integration の Auth モジュールを設定するときに使用されるため、メモしておきます。
  8. [管理] ボタンをクリックします。
  9. [Connected App Detail] ページで、[Edit Policies] ボタンをクリックします。
  10. [OAuth Policies] セクションで、[許可されているユーザー] プルダウンの値を [管理者が承認したユーザーは事前承認済み] に変更します。
  11. [保存] をクリックします。
  12. このページの [Profiles] セクションと [Permission Set] セクションまでスクロールし、接続されているアプリに適用するプロファイルまたは権限セットを選択します。
  13. 目的のプロファイルまたは権限セットを選択します。
  14. [保存] をクリックします。

CDC イベントを使用するための前提条件に関する手順

CDC イベントを使用するように Application Integration トリガーを構成する前に、Salesforce で構成済みのオブジェクトを CDC に追加してください。

  1. Salesforce に sysadmin としてログインします。
  2. 歯車アイコンをクリックし、[Setup] をクリックします。
  3. 左側のナビゲーションを使用して、[Change Data Capture] を検索して選択します。
  4. [変更データ キャプチャ] 設定ページで、使用する Salesforce オブジェクトを [利用可能なエンティティ] 列で見つけ、[選択したエンティティ] 列にドラッグします。
  5. [保存] をクリックします。

プラットフォーム イベントを使用するための前提条件に関する手順

プラットフォーム イベントを使用するように Application Integration トリガーを構成する前に、Salesforce で次の手順を行います。

  • プラットフォーム イベントを作成する
  • プラットフォーム イベント用の権限を更新する

プラットフォーム イベントを作成する

プラットフォーム イベントを作成する手順は、次のとおりです。

  1. sysadmin 認証情報を使用して Salesforce インスタンスにログインします。
  2. 歯車アイコンをクリックして、[設定] を選択します。
  3. ナビゲーション パネルで「Platform」を検索して、[Platform Events] をクリックします。
  4. 新しいプラットフォーム イベントを示す画像新しいプラットフォーム イベントを示す画像
  5. [Platform Events] ページで [New Platform Event] をクリックし、次のプロパティを設定します。
  • ラベル
  • Plural Label
  • オブジェクト名(このフィールドは自動的に入力されます)
  • Publish Behavior: 次のいずれかの値を選択します。
    • Publish After Commit: 条件が満たされていない場合に、イベントのストリーミングを元に戻します。
    • Publish Immediately: 検証を待たずに、イベントをすぐにトリガーします。
    パブリッシュ処理の詳細については、プラットフォーム イベントとトランザクションをご覧ください。
  • デプロイ ステータス(省略可): イベントをデプロイする準備ができている場合は、[デプロイ済み] を選択します。
  • [保存] をクリックします。
  • プラットフォーム イベントのラベルとパブリッシュ処理の動作の設定を示す画像プラットフォーム イベントのラベルとパブリッシュ処理の動作の設定を示す画像
  • カスタム フィールドを作成します。カスタム フィールドを作成するには、[カスタム フィールドと関係] セクションで [新規] をクリックし、カスタム フィールドの種類を選択します。必要な数のカスタム フィールドを作成できます。
  • カスタム フィールドを作成したら、[プラットフォーム イベント] ページで、[API 名] フィールドの値を確認します。オブジェクト名の末尾が _e のオブジェクトは、Platform Event オブジェクトを表します。CDC オブジェクトの場合は、オブジェクト名が _c で終わります。

    保存されたプラットフォーム イベントの詳細を示す画像保存されたプラットフォーム イベントの詳細を示す画像

    プラットフォーム イベント用の権限を更新する

    新しく作成されたプラットフォーム イベントを統合ユーザーがアクセスできるようにするには、権限セットを更新する必要があります。

    権限を更新する手順は、次のとおりです。

    1. [設定] メニューで [ユーザー] > [権限セット] をクリックします。
    2. [権限セット] ページで、前に作成した権限をクリックします。
    3. [Object Settings] > [Plural Label of the Platform Event] をクリックします。
    4. [Object Permissions] セクションで、[読み取り] 権限と [作成] 権限を有効にします。
    5. [保存] をクリックします。
    6. プラットフォーム イベントの権限を示す画像プラットフォーム イベントの権限を示す画像

    Salesforce トリガーを追加する

    新規または既存の統合に Salesforce トリガーを追加する手順は次のとおりです。
    1. Google Cloud コンソールで [Application Integration] ページに移動します。

      Application Integration に移動

    2. ナビゲーション メニューで [統合] をクリックします。

      [統合] ページが開き、Google Cloud プロジェクトで使用可能なすべての統合が一覧表示されます。

    3. 既存の統合を選択するか、[統合の作成] をクリックして新しい統合を作成します。

      新しい統合を作成する場合:

      1. [統合の作成] ペインで名前と説明を入力します。
      2. 統合のリージョンを選択します。
      3. 統合用のサービス アカウントを選択します。統合のサービス アカウントの詳細は、統合ツールバーの [統合の概要] ペインでいつでも変更または更新できます。
      4. [作成] をクリックします。

      統合エディタで統合が開きます。

    4. 統合エディタのナビゲーション バーで、[タスク] をクリックして、使用可能なタスクとコネクタのリストを表示します。
    5. 既存の統合を選択するか、[Create integration] をクリックします。
    6. 統合エディタで [+ Add a task/trigger] > [Triggers] をクリックして、利用可能なトリガーを表示します。
    7. [Salesforce trigger] 要素をクリックしてデザイナーに配置します。

    Salesforce トリガーを構成する

    Salesforce トリガーを構成するには、次の手順を行います。

    1. 統合エディタで [Salesforce trigger] をクリックして、トリガー構成ペインを表示します。
    2. [Salesforce instance configuration] プルダウンから Salesforce インスタンスを選択します。

      Salesforce インスタンスが存在しない場合は、新しいインスタンスを作成します。詳細については、新しい Salesforce インスタンスを作成するをご覧ください。

    3. [Salesforce チャネル構成] プルダウンから Salesforce チャネルを選択します。

      Salesforce チャネルが存在しない場合は、新しいチャネルを作成します。詳細については、新しい Salesforce チャネルを作成するをご覧ください。

    4. イベントタイプとして CDC を選択した場合は、次のいずれかのオペレーションを選択します。
      • Create
      • Update
      • Delete
      • Undelete

      特定のオペレーションまたはギャップ オペレーションが発生したときにのみトリガーが実行されます。

      Salesforce トリガーは 1 つのオペレーションに対してのみ構成できます。複数のオペレーションでトリガーを実行する場合は、オペレーションごとに Salesforce トリガーを作成します。

    新しい Salesforce インスタンスを作成する

    新しい Salesforce インスタンスを構成するには、次の手順に沿って操作します。

    1. トリガーの編集可能なプロパティで、[Salesforce インスタンスの構成を選択] > [+ 新しい Salesforce インスタンス構成の追加] の順にクリックします。
    2. [Salesforce インスタンス構成の追加] ダイアログで、次のプロパティを設定します。
      • Salesforce インスタンス接続名: インスタンスの名前を入力します。

        構成後は、この名前を使用して Salesforce インスタンスを参照します。

      • Salesforce domain: インスタンスのサービス権限を入力します。ドメインは Salesforce アカウントで確認できます。例: instance.my.salesforce.com次の図は、Salesforce ドメインを示しています。

        Salesforce インスタンスで Salesforce ドメインを取得する Salesforce インスタンスで Salesforce ドメインを取得する

      • Authentication profile: 認証プロファイルを選択します。

        認証プロファイルが存在しない場合は、OAuth 2.0 リソース オーナー パスワード認証情報認証タイプの新しいプロファイルを作成します。 フィールドの詳細については、OAuth 2.0 リソース オーナー パスワード認証情報をご覧ください。Salesforce インスタンスの場合は、次の値を入力します。

        • クライアント ID: 接続されているアプリの設定時にメモしたコンシューマ キーを入力します。
        • シークレット: 接続されているアプリの設定時にメモしたコンシューマ シークレットを入力します。
        • パスワード: ユーザー パスワードを USER_PASSWORDSECURITY_TOKEN 形式で入力します。次のように置き換えます。 たとえば、USER_PASSWORDtest-password で、SECURITY_TOKEN737K27NCa3O6 の場合、パスワードは test-password737K27NCa3O6 になります。
      • 次の画像は、認証プロファイルを作成するために必要なフィールドを示しています。

        OAuth 2.0 リソース オーナー パスワード認証情報 OAuth 2.0 リソース オーナー パスワード認証情報

      • Salesforce Organization ID: Salesforce インスタンスの組織 ID を入力します。ID は Salesforce 管理者から取得できます。
    3. [追加] をクリックします。

    新しい Salesforce チャネルを作成する

    新しい Salesforce チャネルを構成するには、次の手順に沿って操作します。

    1. トリガーの編集可能なプロパティで、[Salesforce チャネルの構成を選択] > [+ 新しい Salesforce チャネル構成の追加] の順にクリックします。
    2. [Salesforce チャネル構成の追加] ダイアログで、[Salesforce オブジェクト名] プロパティのオブジェクト名を入力します。

      Salesforce オブジェクトのリストについては、Salesforce の標準オブジェクトをご覧ください。オブジェクト名がわからない場合は、Salesforce 管理者にお問い合わせください。

    3. [追加] をクリックします。

    出力変数

    Salesforce トリガーからのレスポンスを出力変数で参照可能です。

    CDC イベントの出力変数を次の表に示します。

    変数 データの種類 説明
    SalesforceTriggerCdcPayload JSON 変更イベントの詳細。
    SalesforceTriggerEvent JSON イベントの replayId が含まれます。
    SalesforceTriggerSchema 文字列 トリガー スキーマ。
    SalesforceTriggerCdcSnapshot JSON 変更イベント後のオブジェクトのスナップショット。このフィールドは、Update オペレーションと Create オペレーションでのみ使用できます。
    SalesforceTriggerCdcRecordId 文字列 更新または追加されたレコードの recordId が含まれます。recordId は、変更された Salesforce オブジェクトの識別子です。

    Platform イベントの出力変数を次の表に示します。

    変数 データの種類 説明
    SalesforceTriggerPEPayload JSON 変更イベントの詳細。
    SalesforceTriggerEvent JSON イベントの replayId が含まれます。
    SalesforceTriggerSchema 文字列 トリガー スキーマ。
    このトリガーの出力パラメータは、CdcTriggerPayload JSON 変数です。JSON 変数には、更新されたレコード オブジェクトが含まれています。

    ベスト プラクティス

    Salesforce 通知を使用して統合をトリガーする場合は、Salesforce トリガーの使用をおすすめします。カスタムコードを記述することなく Salesforce イベントを公開することもできます。Salesforce ケースにどんな小さなフィールド変更があっても、Salesforce CDC イベントがトリガーされ、それによって統合もトリガーされるため、重大な統合ノイズが生じる可能性があります。統合をトリガーする必要がある CDC イベントのみをフィルタするには、変更イベント フィルタを使用することを検討してください。 変更イベント フィルタを使用すると、統合に伴うノイズを減らし、ライセンスの制限を確実に遵守できます。

    同様に、統合が不要になったときにこのトリガーを使用して、統合を非公開にすることをおすすめします。 公開停止または削除されるまで、この統合は Salesforce CDC イベントとプラットフォーム イベントを引き続きリッスンします。

    考慮事項

    Salesforce トリガーを使用して統合を実行する前に、次の点を考慮してください。

    • Salesforce では通常、1 日あたり最大 100,000 件の CDC イベントとプラットフォーム イベントを送信します。Salesforce からプラットフォーム イベント容量を追加購入すると、1 日あたり 1,000 万件を超えるイベントを公開できます。詳細については、プラットフォーム イベントの割り当てをご覧ください。統合トリガーの CDC イベントを選択する前に、Salesforce 管理者に連絡してライセンスの制限を確認してください。
    • Salesforce への一括アップロードを計画している場合は、CDC を一時停止して統合ノイズを低減し、ライセンスの制限を必ず遵守してください。
    • Salesforce が公開できるイベント メッセージの最大サイズは 1 MB です。詳細については、変更データ キャプチャの割り当てをご覧ください。
    • Application Integration では、次のリージョンでの Salesforce CDC イベントはサポートされていません。
      • asia-northeast1
      • asia-south1
      • australia-southeast1
      • europe-west2
      • europe-west3
      • europe-west6
      • northamerica-northeast1
      • southamerica-east1
      • us-east4
      • us-west2

    SLA の免責

    Salesforce トリガーは Salesforce プロダクトに依存しています。この依存関係は Application Integration の外部にあるため、Application Integration サービスレベル契約(SLA)の利用規約は Salesforce トリガーが正常に active 統合の実行を開始した場合にのみ適用されます。

    料金

    Cloud Pub/Sub トリガーと Salesforce トリガーでは、コネクタを作成する必要はありません。ただし、コネクタタスクを使用して Pub/Sub または Salesforce に接続する場合は、コネクタの使用量に対して課金されます。料金について詳しくは、Application Integration の料金をご覧ください。

    割り当てと上限

    割り当てと上限については、割り当てと上限をご覧ください。

    次のステップ