[Salesforce]フローオーケストレーターで承認のワークフローを作るには

# やりたいこと
ある会社で、商談を完了するには上長から承認を得る必要があるという業務ルールが存在しているとします。現状のルールでは、紙で申請書を作り、上長に判子を押してもらうこととなっています。
しかし、紙がもったいないので、これをSalesforce上で実現してみましょう！

# 中身に入る前に用語説明
上記のように、複数名が連携して1つのレコードをリレーしつつ処理していく様を、一般的に「ワークフロー」と呼びます。
今回の例では2名だけが絡む単純なワークフローですが、実際には多数の人が登場する複雑なワークフローもありえます。
※その方法がデジタルかアナログかは問いません。
※ここでいう「ワークフロー」は、Salesforceの持つ[ワークフロー機能](https://help.salesforce.com/s/articleView?id=sf.customize_wf.htm&type=5)とは別の概念です。

# 機能要件
- レコード所有者は、商談のステージが「Negotiaion/Review」に達したタイミングで承認申請ができること。
- 承認申請を行うと、商談のステージが「Waiting Approval」に進むこと。
- 商談のステージが「Waiting Approval」となっているレコードは、レコード所有者のManager項目に指定されたユーザが承認を行えること。
- 承認が行われると、商談のステージが「Closed Won」に進むこと。

# 実装方針
以前であればこのような要件は[承認プロセス](https://help.salesforce.com/s/articleView?id=sf.approvals_getting_started.htm&type=5)機能が使われることが多かったですが、この記事では、最近デビューした[フローオーケストレータ](https://trailhead.salesforce.com/ja/content/learn/modules/orchestrator-basics/meet-orchestrator)を使います。

フローオーケストレータは、承認プロセスと違って承認前後のアクションにフローを利用できるので、より複雑な処理の作りこみが可能というメリットがあります。


# 作るもの
### 1. 申請用フロー
###### 全体像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/e602a318-acf7-9f7a-222c-da90a50d632f.png)
###### 表示する画面 ... 「Nextボタンを押すと承認申請が走るよ」という説明があるだけのシンプルな画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/e38b7218-a0a7-1108-8621-7b6b01ba9013.png)
###### 商談レコードのステータスを更新するために値をセットする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/d219d3c0-1370-b70d-623c-0e8861021870.png)
###### 商談レコードを更新する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/236600ea-2196-bbbe-32ee-eadb84d8a6e8.png)

### 2. 承認用フロー
###### 全体像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/a014e816-3bac-1722-7244-3297b6181d91.png)
###### 表示する画面 ... 「Nextボタンを押すと承認されるよ」という説明があるだけのシンプルな画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/224bbdb0-ff36-28a8-f76f-c6ee29567907.png)
###### 商談レコードのステータスを更新するために値をセットする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/b2005d8d-2c5c-f9ac-a54d-fd002fbb8049.png)
###### 商談レコードを更新する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/a5dd972f-0f36-1e66-059c-25fc8f753365.png)

### 3. フローオーケストレータ
###### 全体像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/45d0f402-34e8-b55e-ed17-6ee9161fa314.png)

###### Start
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/d902b42d-245c-45aa-4606-97f77d1bf664.png)

###### 申請用フローの呼び出し
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/11618cba-3541-a8c1-cc20-7bfac3cb87f7.png)

###### 承認用フローの呼び出し
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/50926c8c-2757-4ace-9f7e-3d29e035a0e2.png)

### 4. Lightningレコードページ
オーケストレータ作業ガイドコンポーネントを追加する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/7201de8b-5cca-dd1c-19d9-138b6ced969f.png)

# オーケストレータの作り方のヒント
本記事ではフローの作り方は割愛します。フローオーケストレータは、以下の手順で作成可能です。

1. フローの作成ボタンを押す。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/98d84f15-b676-ed15-2347-b1d1819fa4ec.png)

2. 以下を選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/3e9bd705-6134-3635-dfb9-f3c4624b4103.png)

# 動作
1. Negotiation/Reviewのレコードを用意する。(右サイドバーのWork Guide欄に申請用フローが表示されていることに注目)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/a846899e-b838-79d1-18f7-644a3aadfa6a.png)

2. Nextボタンを押す。「Your work item is completed.」のメッセージが表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/08c10139-5709-62fe-7c25-865679b50405.png)

3. ここでF5キーでリロードすると、ステータスがWaiting Approvalに進んだことがわかる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/ceeb13ca-04ec-11a7-a7c0-e415b6b651a2.png)

4. 承認者でログインし、当該レコードを見ると、承認待ちの欄が出ることが確認できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/a8099155-e3ef-b8e5-0e74-e521ccb306da.png)

5. Nextボタンを押す。「Your work item is completed.」のメッセージが表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/90d337c8-bb89-2762-b1bc-31930ed5221b.png)

6. ここでF5キーでリロードすると、ステータスがClosed Wonに進んだことがわかる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573815/3261b62a-0e93-abd4-f788-373370326c90.png)