このチュートリアルでは、Application Integration を使用して Salesforce の顧客のケースのルーティングと割り当てというビジネス プロセスフローを自動化する方法のユースケースについて説明します。
概要
このチュートリアルでは、Salesforce トリガーを使用して Salesforce のケースチャネルを登録する統合を作成します。Salesforce で新しいケースが作成されると、統合が呼び出され、ケース ID とケースタイプが抽出されます。ケースタイプに応じて、新しい問題またはインシデントが、Jira Cloud または ServiceNow にそれぞれ作成されます。
目標
このチュートリアルでは、統合で以下のタスクを行う方法について説明します。
- 統合を呼び出すように Salesforce トリガーを設定する。
- Salesforce、Jira Cloud、ServiceNow 接続用のコネクタタスクを追加して構成する。
- ケースの詳細を抽出してマッピングするためのデータ マッピング タスクを追加して構成する。
費用
このチュートリアルでは、Google Cloud の次の課金対象のコンポーネントを使用します。
このチュートリアルの手順は、リソース使用量が Google Cloud の Always Free 階層の制限内に収まるように設計されています。
このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer
), Secret Manager Secret Accessor (roles/secretmanager
).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer
), Secret Manager Secret Accessor (roles/secretmanager
).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
環境を準備する
Salesforce ユーザーの設定を確認する
このチュートリアルでは、必要なユーザー設定と一連の権限を持つ既存の Salesforce デベロッパー アカウントがあることを前提としています。アカウントで変更データ キャプチャ(CDC)が有効になっていることを確認します。新しいアカウントの作成については、統合ユーザーを設定するをご覧ください。
Jira Cloud アカウントを確認する
このチュートリアルでは Jira Cloud を使用します。既存の Jira Cloud アカウントを使用することも、新しいアカウントを作成することも可能です。Jira Cloud のプロジェクトとボードが設定されていることを確認します。Jira Cloud の詳細については、Jira ソフトウェアのドキュメントをご覧ください。
ServiceNow インスタンスを確認する
このチュートリアルでは、ServiceNow の無料の Personal Developer Instance(PDI)を使用します。既存の ServiceNow インスタンスを使用することも、新しいインスタンスを作成することも可能です。インスタンスがアクティブであることを確認し、そのインスタンスの URL をメモします。PDI の詳細については、ServiceNow PDI のドキュメントをご覧ください。
接続を設定
このチュートリアルでは、Integration Connectors で次の接続を構成する必要があります。
- Salesforce 接続
- Integration Connectors で Salesforce 接続を構成します。Salesforce コネクタの構成については、Salesforce コネクタをご覧ください。
- Jira Cloud 接続
- プロジェクト URL を使用して Integration Connectors の Jira Cloud 接続を構成し、プロジェクトで Jira の問題を作成します。プロジェクト ID と問題 ID を必ずメモしてください。Jira Cloud コネクタの構成については、Jira Cloud コネクタをご覧ください。
- ServiceNow の接続
- インスタンス URL を使用して Integration Connectors の ServiceNow 接続を構成し、ServiceNow でインシデントを作成します。ServiceNow コネクタの構成については、ServiceNow コネクタをご覧ください。
統合を作成する
新しい統合を作成するには、次の手順を行います。
- Google Cloud コンソールで [Application Integration] ページに移動します。
- ナビゲーション メニューで [統合] をクリックします。[統合] のページが表示されます。
- [
- 連携名: 「
salesforce-case-integration
」と入力します。 - 説明: 「
Demo integration created for tutorial
」と入力します。 - リージョン: サポートされているリージョンのリストから
us-central1
を選択します。 - [作成] をクリックして統合エディタを開きます。
統合を作成] をクリックし、[統合を作成] ページで次の情報を入力します。 - 連携名: 「
統合トリガーを設定する
統合が正常に作成されたら、特定されたイベントの統合を呼び出す統合トリガーを追加して構成できます。
このチュートリアルでは、Salesforce トリガーを使用して、Salesforce で新しいケースが作成されるたびに統合を呼び出します。salesforce-case-integration
統合に Salesforce トリガーを追加して構成するには、次の操作を行います。
- 統合エディタで [トリガー] をクリックし、使用可能なトリガーのリストを表示します。
- 統合エディタで、[Salesforce トリガー] 要素をクリックして配置します。
- デザイナー キャンバスで [Salesforce trigger] 要素を選択して、Salesforce トリガーの構成ペインを開きます。
- [トリガー入力] で、次の項目を構成します。
- イベントタイプ: プルダウン リストから [変更データ キャプチャ(CDC)] を選択します。
- Salesforce インスタンス構成: プルダウン リストから [+ 新しい Salesforce インスタンス構成の追加] オプションをクリックします。
[Add Salesforce instance configuration] ダイアログで、次の操作を行います。
- Salesforce instance connection name: Salesforce インスタンスの接続名を入力します。例:
test
- Salesforce ドメイン: Salesforce のドメイン名を入力します。この情報は、[Salesforce アカウント] > [プロファイルを表示] ページで確認できます。
- 認証プロファイル: 認証プロファイルを選択します。認証プロファイルが存在しない場合は、新しいプロファイルを作成します。詳細については、新しい認証プロファイルを作成するをご覧ください。
- [追加] をクリックします。
- Salesforce instance connection name: Salesforce インスタンスの接続名を入力します。例:
- Salesforce チャネル構成: プルダウン リストから [+ 新しい Salesforce チャネル構成の追加] をクリックします。
[Add Salesforce channel] ダイアログで、次の操作を行います。
- Salesforce object name: 「
Case
」と入力します。 - [追加] をクリックします。
- Salesforce object name: 「
- オペレーション: プルダウン リストから [作成] を選択します。
プロパティへの変更は自動的に保存されます。
トリガー ペイロードを Salesforce コネクタにマッピングする
Salesforce トリガーを使用して統合を呼び出すと、ケース ID が抽出されて Salesforce コネクタにマッピングされ、ケースの詳細情報がさらに取得されます。
Salesforce アカウントに接続する
次の手順で、Connectors タスクを追加して構成し、Salesforce 接続を使用してケースの詳細を取得します。
- 統合エディタで [タスク] をクリックし、使用可能なタスクのリストを表示します。
- 統合エディタで [Connectors] 要素をクリックして配置します。
- デザイナーで [Connectors] タスク要素を選択して、[Connectors] タスク構成ペインを表示します。
- [
Fetch Salesforce Data
に変更します。
] をクリックし、Connectors ラベルの名前を - [コネクタを設定する] をクリックします。
- [Connectors Task Editor] ページで、次の操作を行います。
- [Select connection] で、
us-central1
リージョンを選択します。 - 使用可能な接続のリストから Salesforce 接続を選択します。
- [次へ] をクリックします。
- [タイプ] で [エンティティ] を選択します。
- [Set entities/actions] で使用可能なエンティティのリストから [ケース] を選択し、[オペレーション] として [入手] を選択します。
- [完了] をクリックして接続の構成を完了し、ペインを閉じます。
- [Select connection] で、
ケース ID を抽出してマッピングする
Data Mapping タスクは、その Salesforce トリガーと Salesforce コネクタの間のケースの詳細をマッピングして抽出するために使用されます。
統合でデータ マッピングを追加して構成するには、次の操作を行います。
- 統合エディタで [タスク] をクリックし、使用可能なタスクのリストを表示します。
- 統合エディタで [Data Mapping] 要素をクリックして配置します。
- デザイナーで [Data Mapping] 要素を選択して、タスク構成ペインを表示します。
- [
Get Case ID
に変更します。
] をクリックし、Data Mapping タスクの名前を - [Open Data Mapping Editor] をクリックします。
データ マッピング エディタを使用すると、使用可能な変換関数を使用して、入力変数を目的の出力変数にマッピングできます。出力は、他の統合タスクまたはトリガーの変数として使用できます。マッピング変数の詳細については、マッピングを追加するをご覧ください。
- トリガーの(
SalesforceTriggerCdcRecordID
)出力変数を自動生成されたコネクタの(entityId(Fetch Salesforce Data)
)入力変数にマッピングします。マッピングが完了したら、ペインを閉じます。変更は自動的に保存されます。
- Salesforce トリガーから Get Case ID タスクにエッジ接続を追加します。
- Get Case ID タスクから Fetch Salesforce Data コネクタにエッジ接続を追加します。
ケースタイプを抽出する
Salesforce コネクタからすべてのケースの詳細を取得したら、ケースタイプを抽出し、Jira Cloud または ServiceNow アプリケーションに転送します。
Salesforce のケースタイプを抽出する手順は次のとおりです。
- 統合エディタで [タスク] をクリックし、使用可能なタスクのリストを表示します。
- 統合エディタで [Data Mapping] 要素をクリックして配置します。
- デザイナーの [Data Mapping] 要素をクリックして、タスク構成ペインを表示します。
- [
Get case type
に変更します。
] をクリックし、Data Mapping タスクの名前を - [Open Data Mapping Editor] をクリックします。
- [+ 新しい変数を追加] をクリックして、次の出力変数を作成します。
出力変数名 データ型 sf_case_type
STRING
- Salesforce コネクタのペイロード変数とローカル変数の間で次のマッピングを作成します。
入力 出力 connectorOutputPayload (Fetch Salesforce Data) .GET_PROPERTY("Type")
sf_case_type
マッピングが完了したら、ペインを閉じます。変更は自動的に保存されます。
- Fetch Salesforce Data コネクタから Get case type タスクにエッジ接続を追加します。
新しい Jira の問題を作成する
Salesforce のケースタイプを抽出した際にケースのタイプが Engineering
である場合は、新しい問題として Jira Cloud に転送します。
Jira プロジェクトに接続する
次の手順で、Jira プロジェクトに新しい問題を作成する Connectors タスクを構成します。
- 統合エディタで [タスク] をクリックし、使用可能なタスクのリストを表示します。
- 統合エディタで [Connectors] 要素をクリックして配置します。
- デザイナーで [Connectors] タスク要素をクリックして、コネクタタスクの構成ペインを表示します。
- [
Create issue in Jira
に変更します。
] をクリックして Connectors の名前を - [コネクタを設定する] をクリックします。
- [Connectors Task Editor] ページで、次の操作を行います。
- [Select connection] で、
us-central1
リージョンを選択します。 - 使用可能な接続のリストから Jira Cloud 接続を選択します。
- [次へ] をクリックします。
- [タイプ] で [エンティティ] を選択します。
- [Set entities/actions] で使用可能なエンティティのリストから [問題] を選択し、[オペレーション] として [作成] を選択します。
- [完了] をクリックして接続の構成を完了し、ペインを閉じます。
- [Select connection] で、
問題の詳細を変換してマッピングする
ケースの詳細を変換して Jira の問題にマッピングするには、次の操作を行います。
- 統合エディタで [タスク] をクリックし、使用可能なタスクのリストを表示します。
- 統合エディタで [Data Mapping] 要素をクリックして配置します。
- デザイナーの [Data Mapping] 要素をクリックして、タスク構成ペインを表示します。
- [
Mapping for issue creation
に変更します。
] をクリックし、Data Mapping タスクの名前を - [Open Data Mapping Editor] をクリックします。
- [+ 新しい変数を追加] をクリックして、次の変数を作成します。
変数名 データ型 デフォルト値 jira_project-id
STRING
JIRA_PROJECT_ID は、Jira プロジェクト ID に置き換えます。JIRA_PROJECT_ID
jira_issue_type_id
STRING
JIRA_ISSUE_TYPE_ID は、次のいずれかの問題タイプ ID に置き換えます。JIRA_ISSUE_TYPE_ID
1000
- Epic の場合1001
- ストーリーの場合1002
- タスクの場合1003
- サブタスクの場合1004
- バグの場合
- 次のマッピングを作成します。
入力 出力 "{ "IssueTypeId": jira_issue_type_id, "ProjectId": jira_project_id }" .TO_JSON() .SET_PROPERTY( connectorOutputPayload.Description (Fetch Salesforce Data), "Description" ) .SET_PROPERTY( connectorOutputPayload.Subject (Fetch Salesforce Data), "Summary" )
connectorInputPayload (Create issue in Jira)
マッピングが完了したら、ペインを閉じます。変更は自動的に保存されます。
- Mapping for issue creation タスクから Create issue in Jira コネクタにエッジ接続を追加します。
新しい ServiceNow インシデントを作成する
Salesforce から抽出されたケースのタイプが Sales
の場合は、新しいインシデントとして ServiceNow に転送します。
ServiceNow に接続する
ServiceNow インスタンスに新しいインシデントを作成する Connectors タスクを構成するには、次の手順を実施します。
- 統合エディタで [タスク] をクリックし、使用可能なタスクのリストを表示します。
- 統合エディタで [Connectors] 要素をクリックして配置します。
- デザイナーで [Connectors] タスク要素をクリックして、コネクタタスクの構成ペインを表示します。
- [
Create incident in ServiceNow
に変更します。
] をクリックして Connectors の名前を - [コネクタを設定する] をクリックします。
- [Connectors Task Editor] ページで、次の操作を行います。
- [Select connection] で、
us-central1
リージョンを選択します。 - 使用可能な接続のリストから ServiceNow 接続を選択します。
- [次へ] をクリックします。
- [タイプ] で [エンティティ] を選択します。
- [Set entities/actions] で使用可能なエンティティのリストから [インシデント] を選択し、[オペレーション] として [作成] を選択します。
- [完了] をクリックして接続の構成を完了し、ペインを閉じます。
- [Select connection] で、
インシデントの詳細を変換してマッピングする
ケースの詳細を変換して ServiceNow インシデントにマッピングするには、次の操作を行います。
- 統合エディタで [タスク] をクリックし、使用可能なタスクのリストを表示します。
- 統合エディタで [Data Mapping] 要素をクリックして配置します。
- デザイナーの [Data Mapping] 要素をクリックして、タスク構成ペインを表示します。
- [
Mapping for incident creation
に変更します。
] をクリックし、Data Mapping タスクの名前を - [Open Data Mapping Editor] をクリックします。
- [+ 新しい変数を追加] をクリックして、次の入力変数を作成します。
- 次のマッピングを作成します。
入力 出力 "{}" .TO_JSON() .SET_PROPERTY( connectorOutputPayload.Description (Fetch Salesforce Data), "description" ) .SET_PROPERTY( connectorOutputPayload.Subject (Fetch Salesforce Data), "short_description" )
connectorInputPayload (Create incident in ServiceNow)
マッピングが完了したら、ペインを閉じます。変更は自動的に保存されます。
- Mapping for incident creation タスクから Create incident in ServiceNow コネクタにエッジ接続を追加します。
エッジ条件を追加する
エッジ条件を使用すると、統合を制御するために満たされる必要がある条件を指定して、エッジで接続されたタスクに渡すことができます。必要なタスクの追加と構成が完了したので、エッジ条件を追加して統合のフローを定義できます。
次のエッジ条件により、Salesforce のケースのタイプに基づいて統合のフローが制御されます。
- 次のエッジ条件で、Get case type タスクから Mapping for issue creation タスクにエッジ接続を追加します。
$sf_case_type$ = "Engineering"
- 次のエッジ条件で、Get case type タスクから Mapping for incident creation タスクに別のエッジ接続を追加します。
$sf_case_type$ = "Sales"
統合フローのサンプル
次の図は、このチュートリアルを使用して作成した統合のサンプル レイアウトを示しています。
統合を公開してテストする
統合を公開するには、統合デザイナー ツールバーの [公開] をクリックします。
統合が正常に公開されると、公開された統合の実行ログを表示、検査できます。ログを表示するには、[View execution logs for this integration] をクリックします。実行ログのページが表示されます。
テストケース 1: エンジニアリング ケースで Jira の問題が作成されているかどうかを確認する
Salesforce インスタンスにログインして新しいケースを作成し、統合をテストします。ケースを作成するときに、[タイプ] フィールドに「Engineering
」と入力します。
統合が成功したことを確認するには:
Jira Cloud アカウントに移動します。
- プロジェクトに新しい問題が作成され、Salesforce のケースの説明とサマリーが含まれているかどうかを確認します。
テストケース 2: セールスケースに対して ServiceNow インシデントが作成されたかどうかを確認する
Salesforce インスタンスにログインして新しいケースを作成し、統合をテストします。ケースを作成するときに、[タイプ] フィールドに「Sales
」と入力します。
統合が成功したことを確認するには:
ServiceNow インスタンスに移動します。
- インスタンスに新しいインシデントが作成され、Salesforce のケースの説明とサマリーが含まれているかどうかを確認します。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、統合の公開を停止して、Integration Connectors で作成した接続を削除します。