Einstein Next Best Actionて何？触ってみる

# はじめに

Salesforceのデモ画面でよく見かける右上あたりに置いてある`Next Best Action`てなんだろう？と思ったて気になっていたけど普段触ることなかったので調べてみます。

>![image](https://user-images.githubusercontent.com/39574826/208277615-f5316ae8-c88f-45e0-b4fb-518199040c55.png)https://trailhead.salesforce.com/ja/content/learn/modules/einstein-next-best-action/get-started-with-einstein-next-best-action

https://help.salesforce.com/s/articleView?id=sf.einstein_next_best_action.htm&type=5

:::note
検証に使う環境は、Trailheadのハンズオン組織です。
データに関してもデモデータ + 検証で作ったデータしか入っていません
:::

# Einstein Next Best Actionとは

https://help.salesforce.com/s/articleView?id=sf.einstein_next_best_action.htm&type=5

https://trailhead.salesforce.com/ja/content/learn/modules/einstein-next-best-action/understand-how-einstein-next-best-action-works

>Einstein Next Best Action で適切なおすすめを、適切なタイミングで、適切なユーザに表示します。一意の条件に合わせて調整した、ユーザへの提案とアクションを作成して表示します。ビジネスロジックを適用する戦略を作成し、おすすめを絞り込みます。戦略により、おすすめが洗練され、修正、割引、またはアドオンサービスのようないくつかの主要な提案に変換されます。最終的なおすすめを Lightning アプリケーションまたは Experience Builder サイトに表示します。

作成したコンテンツを取引先レコードが特定の状態のときに出す！等の設定ができるものとのこと
Einsteinと付いているのでいい感じに出してもらうとかではなく人が設定するものなので、
業務の中で特定の条件を満たしたら人が別のレコードとかアプリケーションを見に行く！みたいな場合に、おすすめとして表示してあげれるので新人の人とかも行動しやすそうだ。

# 作り方

1. おすすめオブジェクトにおすすめとしてだすコンテンツを作成

![](https://user-images.githubusercontent.com/39574826/208278434-133aff21-fdb7-46b6-bec2-985a3badd04b.png)

2\. Strategy Builderでおすすめを表示する条件の作成

![](https://user-images.githubusercontent.com/39574826/208278391-de19b98c-5122-43f2-9500-c5db0e7ec5b3.png)

# 今回書かないこと

フローの作り込み、フローの作り方


#  おすすめコンテンツ

## 説明

アプリケーションランチャーもしくは、タブから`おすすめ`オブジェクトを開く

![](https://user-images.githubusercontent.com/39574826/208278509-192509a8-66e1-4869-a357-b590326f8f9a.png)

もし表示されない場合は、`設定>プロファイル`でONにしましょう

![](https://user-images.githubusercontent.com/39574826/208278700-0f1a17e1-42c0-44f3-b7a5-baebb6562136.png)

コンテンツの内容は以下の通り、

- 名前
- 説明
- 画像
- 承諾の表示ラベル
- アクション
    - 承諾時に開始するフロー
- 却下の表示ラベル

![](https://user-images.githubusercontent.com/39574826/208278434-133aff21-fdb7-46b6-bec2-985a3badd04b.png)

入力内容と出力の関係は下記の通り

|入力内容例|結果|
|---|---|
|![](https://user-images.githubusercontent.com/39574826/208279892-11f7bbd7-d003-44d0-96c1-f04ce53d8528.png)|![株式会社 Salesforce Canvas _ Salesforce](https://user-images.githubusercontent.com/39574826/208279947-ac0130fb-bc63-455e-a64c-d1118fd8a8da.png)承諾ボタンを押すと![](https://user-images.githubusercontent.com/39574826/208279925-f26b3ebf-6ede-4f66-bcd9-b74d86fe31a8.png)|

今回呼び出すフローは、別の検証で作っていた画面フローをそのまま使います。
ただ、入力エリアがあるだけのフローです。

## 作成

今回は、取引先の評価が`Hot`のときに出すものと`Coldの`ときに出すもの２種類を作成します。

### `Hot`のとき

![](https://user-images.githubusercontent.com/39574826/208280202-8830a4ad-df5f-496d-8798-edca110b9292.png)

### `Coldの`とき

![](https://user-images.githubusercontent.com/39574826/208280258-3bc66959-834f-4742-bba4-6e6ad22dac22.png)

# Strategy Builder

基本構成は以下の3つ

- 1\. 登録したおすすめを読み込む
- 2\. おすすめを表示するための条件を設定
- 3\. 出力

1と2を自分で設定していくことになる。

![](https://user-images.githubusercontent.com/39574826/208280394-cda9ea1c-8ffc-4a8b-9f1a-39917dc44525.png)

## 1. 表示するオブジェクトの選択

`設定>Next Best Action`にアクセス
`新規戦略`で新規作成する

![Next Best Action _ Salesforce](https://user-images.githubusercontent.com/39574826/208280307-933d9159-38b8-4be6-8d40-328a25a842eb.png)

今回は、取引先の画面におすすめを出すのでオブジェクトを取引先にする

![Next Best Action - Strategy Builder](https://user-images.githubusercontent.com/39574826/208280346-444c2391-90af-4fe3-82a2-04cb8576edbe.png)

## 2. 登録したおすすめを読み込む

ツールボックスの読み込みを使う

![Next Best Action - Strategy Builder (1)](https://user-images.githubusercontent.com/39574826/208280588-c4bda7c4-c0f8-4d72-a157-a44c7e236129.png)

登録したおすすめのレコードIDで読み込む。同様にColdの方も読み込みを作成する

![](https://user-images.githubusercontent.com/39574826/208280505-3aa1c7c5-458d-41c2-9804-7bb5ba0c49d2.png)

読み込みに関しての条件は以下の画像の通りなのだが、なぜおすすめレコードを選択させてくれないのだろうか。
演算子も一致する以外のも含むとかもあるので高度な使い方になると、あえておすすめを特定させないことに意味がある？？

![](https://user-images.githubusercontent.com/39574826/208280531-65f8d213-f413-4cfc-a7e4-ca451fe57947.png)

## 3. おすすめを表示するための条件を設定

ツールボックスのブランチセレクタを使う

![Next Best Action - Strategy Builder (2)](https://user-images.githubusercontent.com/39574826/208280617-60ef106c-1850-4f49-a2ec-772bac440058.png)

ブランチセレクタを配置したから以下の画像のように線を結び直す

![](https://user-images.githubusercontent.com/39574826/208280772-25fec48f-76b4-4899-9d92-02d930d879ae.png)

おすすめごとの表示条件を設定する。
今回は、取引先の取引先評価（選択リスト）なので演算子は選択リストのものを使う

同様にHotも登録した。

![](https://user-images.githubusercontent.com/39574826/208280760-a6ee14ec-dce7-44a9-88f1-d355b2467087.png)


![](https://user-images.githubusercontent.com/39574826/208280752-b7d54cab-8a7a-4d20-998b-aaed06bc02d3.png)

## 4. 動作確認

テスト機能で表示内容が確認できます。

![Next Best Action - Strategy Builder (3)](https://user-images.githubusercontent.com/39574826/208280827-270d6642-a698-4afa-afec-260da7ce863c.png)

取引先評価がHotのレコードを選択したら、Hotのおすすめが出てきました。

![](https://user-images.githubusercontent.com/39574826/208280870-e8b0fad6-8725-4d50-ba3e-f2130dc9468e.png)

# 取引先画面に配置&動作確認

編集ページで`Einstein Next Best Action`を配置して、作成したアクション戦略を選択

![取引先 レコードページ - Lightning アプリケーションビルダー (3)](https://user-images.githubusercontent.com/39574826/208280966-21fecbcc-266f-4ec6-93f2-7728d3da65da.png)

結構サクサク変わります。

![画面収録_2022-12-18_13_26_46_AdobeExpress](https://user-images.githubusercontent.com/39574826/208281539-7ec6d5a6-bd40-43d1-be6d-b8f5da9daa28.gif)

## 取引評価をHotに変えてみる

![](https://user-images.githubusercontent.com/39574826/208280998-a3754d98-3533-4b3e-95f3-4e57d258df41.png)

## 取引評価をColdに変えてみる

![](https://user-images.githubusercontent.com/39574826/208280996-41d4050c-8b69-4a82-bac1-63b1b635e8ad.png)

# さいごに

Einstein Next Best Action触ってみました。
機能としてはかなり可能性があるもので、
〇〇をしたら、〇〇の入力を〇〇でする→〇〇をしたら、〇〇の入力が出てくるからしてね
に変わるのなかなか業務効率が上がるのではないでしょうか？
Strategy Builderに関しては、まだまだ理解が浅いので一度複雑なものを見てみて何ができるのか？を確認してみたいです。

# 参考にさせていただいた記事

https://www.mk-design.co.jp/blog/2020/07/marketing-salesforce-einstein-next-best-aciton_01

https://help.salesforce.com/s/articleView?id=sf.einstein_next_best_action.htm&type=5

https://help.salesforce.com/s/articleView?id=sf.einstein_next_best_action.htm&type=5

https://trailhead.salesforce.com/ja/content/learn/modules/einstein-next-best-action/understand-how-einstein-next-best-action-works