tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:フローをつかった外部サービス連携を試してみました

Trailheadの外部サービストレイルを見ながらフローをつかった外部サービス連携を試してみました。

外部サービスを使用してビジネスプロセスにアクセスする | Salesforce Trailhead

指定ログイン情報の登録

設定→指定ログイン情報で画面にアクセス。今回は従来版の機能を使って設定します。


登録内容はこうなりました。

外部サービスを追加

設定→外部サービスで設定画面にアクセスできます。外部サービスを追加ボタンをクリックして次に進みます。


選択肢はAPIとMuleSoftがあるようです。APIの方を選択します。


登録内容はこうなります。


操作を選択で次のような画面が表示されます。全部をチェックつけて次に進みます。


これで設定完了です。


外部サービスの登録数は無制限ではないようなのでそこはチェックが必要です。(DeveloperEdtion環境での確認ですが、150近くあるので基本上限にいくことはなさそう)

フローの作成

画面フローを選択して作成作業を進めます。


自動レイスアウトから自由形式に切り替えます。(自由形式にすると要素をドラッグ&ドロップで追加できます。)


要素のアクションをドラッグ&ドロップします。


検索条件を種別に切り替え→外部サービスを選択するとすべての外部サービスの機能が出てきます。


検索条件をカテゴリ→BackServiceのように今回作成した外部サービスを選択すると、対象の外部サービスのみ選択できます。


選択肢に出ることを確認できたら、一旦キャンセルボタンで戻ります。他の設定のあとにこの設定作業を行う感じです。

ユーザオブジェクトにカスタム項目を追加

テキスト型のカスタム項目を2つ作成します。

ユーザを作成

ユーザを作成します。ライセンスはSalesforce Platformでプロファイルは標準Platformです。


先程作成したカスタムフィールドはどちらも値の登録は不要です。

フローの設定

フロー設定に戻ります。次のようにテキスト項目を2つ配置して完了ボタンをクリックします。


画面要素が追加されたことを確認。今は置かれただけの状態です。ここで一旦フローを保存しておきます。(作成途中なので警告メッセージとかは気にしなくてOK)


新規アクションで「addAccount」を作成。アクションのところに直接入力すると対象アクションが選択できます。

※画面キャプチャは表示ラベルとAPI名の設定誤りがありました。次のようになります。詳細はTrailheadで確認のこと。

Add Bank Account (Add_Bank_Account)


詳細のところで「手動で変数を割り当て」にチェックをつけます。すると201とかの設定ができるようになります。

201の設定

新規リソースから設定していきます。


設定内容はこんな感じ。

409の設定

こちらも同じように設定します。


設定結果です。


今回は201と409だけ設定すればOKです。


トランザクションコントロールは推奨で良いと思います。


この時点でこうなっていると思います。まだ要素同士は接続されていない状態。次は決定の要素を追加します。


決定の最初の設定はこうします。


条件分岐のデフォルトの結果の方にもラベルをセットして完了。


次に割り当ての要素を追加します。


最後にレコードの更新の要素を追加します。ユーザオブジェクトを選択して次のように設定します。


この時点でこんな感じ。各要素は置かれただけの状態です。


要素作成のあとに新規リソースを2つ作成します。ツールボックスのマネージャの新規リソースボタンからです。

要素を接続

各要素を接続していきます。次のようになればOK。


決定コネクタはFOUNDの方を選択します。


接続できたら保存して設定完了です。(下に記載しますが一部の設定が不足していました。)

設定不足の修正

Trailheadのチャレンジで設定結果をチェックしたところエラーになりました。


We can't find the correct settings in the 'Bank Account Updated?' decision. Make sure you included the correct target reference to 'Update Salesforce User Record' (API Name: Update_Salesforce_User_Record).


調べたところ、分岐の設定が正しくなかったみたいです。


正しくはこうなります。

デバッグ

デバッグボタンから動作チェックできます。


次のように入力して、次へボタンをクリックします。これで各処理が動作することが確認できます。

動作確認

画面フローはLightningページに配置して動かすことができます。


デバッグと同じようにテスト用データを入力。(ユーザ名です)


ユーザオブジェクトに追加されたカスタム項目に値がセットされることを確認できます。

エラーハンドリング

Trailheadのこのフロー設定は必要最低限のものです。実際には各エラーハンドリングが必要になったります。


ということで外部サービス連携についてTrailheadで学習できるようになっていました。