tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:DreamHouse Process Builderを試してみました

DreamHouse Process Builderを試してみました。
f:id:tyoshikawa1106:20160723050001p:plain

プロセスビルダー - DreamHouse JP サンプルアプリケーション | Salesforce Developers


次の機能を確認できます。

  • 新着物件の告知
  • モバイルデバイスへの価格変更のプッシュ通知
  • 価格変更の Slack への投稿

新着物件の告知

新規物件が在庫に追加されると、仲介業者全員に知らせるために、メッセージを自動的に Chatter に投稿します。また、その物件のチラシを印刷するための条件を自動的に作成します。


Propertyオブジェクトを作成します。
f:id:tyoshikawa1106:20160723051023p:plain


するとChatterフィードに自動で投稿されます。また、ケースも自動生成されました。
f:id:tyoshikawa1106:20160723051143p:plain


この機能はプロセスビルダーの「Advertise New Property」で実装されています。
f:id:tyoshikawa1106:20160723051934p:plain

モバイルデバイスへの価格変更のプッシュ通知

DreamHouse では、お気に入りに登録した物件の価格に変化があったときに、モバイルにプッシュ通知を送れる仕組みが用意されています。
f:id:tyoshikawa1106:20160723053449p:plain


この機能はプロセスビルダーの「Price Change Push Notification」で実装されています。
f:id:tyoshikawa1106:20160723052533p:plain


通知処理ですが、Apexクラスの『PushPriceChangeNotification』から実行します。
f:id:tyoshikawa1106:20160723052634p:plain


Apexクラスを確認してみると、HerokuアプリのURLが指定されていました。おそらくプッシュ処理自体はHeroku側で行っているんだと思います。ここに関しては自分のDE組織では確認することができませんでした。


プロセスビルダー→Apexクラス→外部アプリにリクエストといった処理の実装例になるんだと思います。

価格変更の Slack への投稿

これはDreamHouseのSlack Botのページで紹介されていたものと同じものです。
f:id:tyoshikawa1106:20160723052823p:plain


プロセスビルダーを組み合わせることでこういったアプリ同士の連携を実装することができます。今まではApexトリガを経由する必要がありましたが、HTTPリクエストを実行するような処理はプロセスビルダーからApexクラスの処理を呼び出して対応するのが良いのかもしれません。(大量件数の一括処理は要確認)