Salesforce App bulider：Salesforceフロー(自動化)

# Salesforceフロー
Salesforce フローは、すべての Salesforce アプリケーション、環境、ポータルで宣言型プロセスの自動化を実現します。
## ツール
・プロセスを作成するためのプロセスビルダー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/396790b3-2c43-9552-c171-d7c8015c93d8.png)
・フローを作成するための Flow Builder 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/0f304c4c-307f-2d92-b04e-3de81b1f903b.png)
<font color ="red">
※プロセスの呼び出し元はプロセスのみ
　フローの呼び出し元はプロセス、フロー、ワークフロールール
</font>
## salesforceフローには含まれていないですが、関連あるツール
・承認プロセス
・ワークフロールール

## 比較
フロー＞プロセスビルダー＞ワークフロールール

|  | フロー | プロセスビルダー | ワークフロールール | 承認プロセス |
|:-|:-|:-|:-|:-|
| ステートメント | 複雑な分岐ロジックで設定可能 | 複数のif/then | 単一のif/then | 単一のif/then |
| 起動のタイミング | ・ユーザがボタンまたはリンクをクリックしたとき<br>・レコードが作成/編集されたとき<br>・プラットフォームイベントメッセージを受信したとき<br>・スケジュールによる起動（Winter'20） | ・レコードが作成/編集されたとき<br>・別のプロセスから呼び出されたとき<br>・プラットフォームイベントメッセージを受信したとき | レコードが作成編集されたとき | ・ユーザがボタンまたはリンクをクリックしたとき<br>・[承認申請] アクションを含むプロセスまたはフローが開始したとき<br>・Apex がコールされたとき |
| 項目の更新 | 関連していないオブジェクトでも可能 | 自分、親、子レコード（関連レコード）まで | 自分と親レコードのみ | 自分と親レコードのみ |
| レコードの作成 | 可 | 可 | ToDoのみ | ToDoのみ |
| レコードの削除 | 可 | 不可 | 不可 | 不可 |
| Chatterへの投稿 | 可 | 可 | 不可 | 不可 |
| ガイド付き視覚的環境(画面作成できる) | 可 | 不可 | 不可 | 不可 |
| バックグラウンドの自動化 | 可 | 可 | 可 | 可 |
| 承認の自動化 | 不可 | 不可 | 不可 | 可 |
| アウトバウンドメッセージを送信| 不可 | 不可 | 可 | 可 |
| メールの送信 | 可 | 可 | 可 | 可 |
| コードなしで送信メッセージを送信 | 不可 | 不可 | 可 | 可 |
| サードパーティシステム | 可 | 不可 | 不可 | 不可 |
| Apex コードのコール | 可 | 可 | 不可 | 不可 |
| フローの起動 | 可 | 可 | 可 | 不可 |

https://dev.classmethod.jp/articles/salesforce_auto_tool/

## プロセスビルダー作成
### 1.オブジェクト選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/697ea0ea-4edc-af5e-e0b7-13748afaec22.png)
### 2.条件指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/b4713546-7e53-96eb-c840-74794413033b.png)
### 3.スケジュール追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/6da60393-bf51-84fd-c6af-8ffc7dbca589.png)
### 4.ルール適用時アクション
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/19dbc71c-9eff-99cb-fd13-5e36832d3fd9.png)
### 5.スケジュールアクション追加(該当スケジュールに合っている場合、該当アクション実行)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/7c4edb4e-e1ac-52e0-3097-1c2097fa4f92.png)
### 6.作成結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/9fa7984b-d842-82b4-a4d5-f7b3c4172eae.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/9f81d599-7341-b48f-9c01-241544d3c637.png)
### Hands-on Challengeの問題
<font color ="red">※新しいplaygroundを作成して、新playgroundにプロセスを作成する方がいいです、既存のplayground利用すると、邪魔の設定があるので、ずっとエラー発生します、完了できないかもしれない。</font>

## Flow Builder作成
### 1.flow新規作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/bcab3cc9-2b6a-bdb4-ed7f-a047cd3bc3d5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/21883301-0202-de85-4714-13613ec401d5.png)
### 2.画面作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/2a6493f7-4317-5b69-fb44-ed1d844a0925.png)
### 3.レコードを作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/3fd619a2-d88b-c5c8-6b28-0e1c54c16c76.png)
### 4.ファイルアップロード画面作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/886a460b-2b2c-a499-8856-915c99e2a120.png)
### 5.要素接続（各要素の下部〇を押す、次の要素にドラックすると連結可能）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/13af09f8-1174-e05f-3c92-33d1ed01803f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/2297da22-72fc-4673-c229-f86120af73ab.png)
### 6.画面に配布
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/6ca53a2f-b4f5-00ba-cebf-77faf398c683.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/59414a93-567b-1bfc-0d01-938cb6309903.png)

Lightning ページにはいくつかの種類があり
・ホームページ: Lightning Experience でユーザがホームに移動したときに表示されるページ。
・レコードページ: Lightning Experience でユーザが取引先やケースなどのレコードを開いたときに表示されるページ。
・アプリケーションページ: オブジェクトに関連付けられていないページ。
・メールアプリケーションページ: Lightning for Outlook や Lightning for Gmail でユーザに表示されるページ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/42235c05-ffa8-f745-19c2-c7d67b36e95d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/b3e19f1e-4263-7a37-0d89-5a86afab0837.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/635af070-130d-941f-575f-d4f8a30679f3.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/7f29c7c2-3701-8057-29c4-4a54498c38ad.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/fa5cf2db-7347-89a7-d098-602504d470f6.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/556fe086-7320-1c61-5518-7720db618fcb.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/f311389e-455d-e787-1258-030b557d9c66.png)
また、レコードのアクションとして追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/55cd9a4c-4a50-60c2-25d3-a46268c0b956.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/c03df41b-15f9-6e86-5e4e-9136979b3da8.png)
ユーティリティ項目として追加（下のクイックバー、アプリのどの画面でも快速アクセス可能）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/ec9cc44a-a8d3-dd28-6915-d9e1a45239e7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/efab0598-b272-f669-5ddb-41fbf9c24622.png)
組織外のページでのフローの表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/abcd9181-31a7-4ce0-c7e4-605275566638.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/733d2431-39af-b0a8-0e7d-703f6a9ac2ff.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/0a7e846a-a4d9-1477-a70b-81451d867e71.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/15823c1d-b18d-a573-f1bc-4e3b9b028854.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/3314696c-1d9b-30fc-764e-faa433f53689.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/80543e3b-2969-5dba-07b6-33e78bc0a99b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/cc48e4a4-cd47-ad95-9d0b-64a8e490c267.png)
設定結果：外部からアクセス可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/2a8d94c9-3c55-0d74-b2e1-5e5f0bb969f8.png)




### フロー変数
| 種別 | 保存可能 | 例 |
|:-:|:-|:-|
| 変数 | 1 つの値 | “Hello World”、true、6 |
| コレクション変数 | 同じデータ型の複数の値 | [1, 2, 3, 5, 8, 13] |
| レコード変数 | 1 つのレコードの項目値セット | 取引先の評価、ID、および名前 |
| レコードコレクション変数 | 同じオブジェクト種別の複数のレコードの項目値セット | 複数の取引先の評価、ID、および名前 |

<font color ="red">※ループ内で避けるべき操作
レコードの作成また更新などのアクションの実行</font>

<font color ="red">・フローコンポーネントは、どの種類のエクスペリエンスビルダーページでサポートされていますか?
すべてのエクスペリエンスビルダーページ
</font>

## 承認プロセス
1.メールアラート用のテンプレート追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/d4eb5a96-d3bb-8984-330f-67fd6ce395eb.png)
2.カスタム項目追加
①パーセント項目
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/14024b03-3ecd-101c-5905-906fa5c2c734.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/46be96f5-333e-98bb-e5cd-b876ba25bfe3.png)
②リスト項目
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/908e4fb3-642f-a039-7018-0b20618c627b.png)
3.承認プロセス作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/c6591da7-7a2e-9e98-7f37-f2a7265591ea.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/216afa87-3ea9-418d-245c-ab1055cf85a2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/966766db-b49f-e307-4a3e-92791b174084.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/feea25d5-abf2-8ecf-9702-c68e120460cc.png)
### CHALLENGE
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/3ed823e8-e5a5-d4b0-91b7-42575ecf7b25.png)

#参考リンク
Salesforceのプロセスの自動化３種の違いについて
https://dev.classmethod.jp/articles/salesforce_auto_tool/