恭平はじめに皆さん、こんにちはSalesforceのイベントでLINEBotを活用したデモンストレーションやDreamHouseサンプルアプリケーションでLINEBotを試した方も多いかと思います。DreamHouseはLINEのWebHook先をHerokuアプリケーションに設定し、Herokuを介してSalesforceと繋がっています。今回、ご紹介する方法はHerokuを介さず、直接Salesforceに繋ぐ方法になります。それでは設定していきましょう。CenterからDeveloper用のアカウントを取得します。自分のLINEアカウントを使用してDeveloper用を作成しました。⇒後で設定しますSalesforceの設定1:WebService作成Webhookから呼び出されるWebServiceを作成します。LINEは「友達申請」「メッセージ送信」の度にWebhook先へJSONでPOSTしますので、「ApexRest」を使用します。内容は単純にJSONの情報を元に「userId」が存在しなければ、取引先にレコードを作成。「ブロック(unfollow)」されれば取引先の「LineFollow」をfalseに更新します。result;}}2:サイト設定WebServiceを公開しても、LINEのWebhookはSalesforceのログイン情報を保持していないのでアクセスできません。そのためサイト設定をし、ゲストユーザとしてWebServiceを起動します。サイトの設定方法に関しては割愛します。ここで重要なのが、カスタムURLの「ドメイン名」でWebhookの設定に使用します。公開アクセス設定よりゲストユーザのプロファイル設定を行います。「1:WebService作成」で作成したApexClassに対して権限を付与していきます。クラスに「1:WebService作成」で作成したApexClassを追加します。Salesforce側の設定は以上になります。DevelopersからWebHookの設定を行います。動作確認では早速動作確認をしていきましょう。LINEから友達の追加を行います。Developersの「QRCode」を読み込みます。友達追加すると取引先ができました。取引先に追加しましたが情報が乏しいですね。ステータスメッセージ」ぐらいしかありません。先程までの手順はLINEからSalesforceへの通知でしたが次はSalesforceからLINEへの通知を設定していきましょう。今回はイベント(カスタムオブジェクト)のタイトルが変更された時にPush通知を行うサンプルを作ってみます。1:リモートサイトの設定SalesforceからLINEへのコールアウトが発生するため、LINEをリモートサイトへ登録します。URL:https://api.line.me2:Push通知機能の実装Push通知はプロセスビルダーからオブジェクト変更時にApexを発火させる方法にしました。同じトランザクション内でDML発効後にコールアウトはできないため、Queueableを使用した非同期処理にしています。動作確認イベントのタイトルを変更すると、LINEへ通知がされたことを確認できましたね。最後にLINEのアカウント作成から、Salesforceの設定、LINEへのPush通知と色々説明しましたが簡単にLINEと繋がることができると感じて頂けたのではないでしょうか。LINEの友達追加をリード情報として利用することはできますが、プロフィール情報が少ないため物足りないかと思います。Salesforceに溜まったLINEアカウントに対してキャンペーンやイベント情報の発信は可能かと思いますので是非一度試してみてはと思います。検索クラウドやるならテラスカイ。求む!Salesforce開発エンジニア。