2021.04.01

電話の内容をスムーズに伝えられる「電話メモ」アプリをSalesforceで作ってみた

  • このエントリーをはてなブックマークに追加
  • follow us in feedly
gettyimages (20325)

「おことづけをお願いしたいのですが。」

たまたま電話を受けると「メモアプリを立ち上げ電話番号を書いて、伝言を記載、社員にメール送信」と、バタバタと一連の作業をこなす自分がいます。今回はSalesforceを活用して、そんなシーンで役立つ「電話メモ」の業務アプリケーション(以下電話メモアプリ)を作ってみましたのでご紹介します。

*本記事内でSalesforce(およびmitoco)のオブジェクトを利用していますが、例としての紹介であり製品として動作を保証しているわけではありません。

「電話メモ」アプリとは

会社に電話がかかってきた際に、担当者が不在であれば電話の内容を担当者に伝える必要があります。付箋やメールでも伝達はできますが、電話メモアプリであれば決まったフォーマットに沿って入力するだけで電話の内容を伝えることが可能です。
今回ご紹介する電話メモアプリは、SalesforceのLightningフローを利用して、電話の内容を登録できるようにします。このアプリに電話の内容を入力すると、相手のToDoにタスクとして電話メモが登録されます。また、この電話メモアプリは、Salesforceライセンスの契約がないmitocoユーザーでも利用できます。

電話メモに情報を入力すると、SalesforceのTo DoやmitocoのTo Doで確認できる

事前準備

Salesforceでは参照項目等を利用して2つのレコードを関連づけることができますが、それらの関連しているレコードを検索するときに検索ダイアログが表示されることありませんか。

取引先責任者から取引先を検索したところ

この関連レコードを検索する機能を「ルックアップ検索」といいます。今回作成する「電話メモアプリ」では電話を受けたときに、このルックアップ検索を利用して、伝言先となるユーザーを検索します。表示されたルックアップ検索でユーザーを選択すると、電話メモアプリはユーザーのID値をToDoオブジェクトの任命先に書き込みます。

ルックアップ検索でユーザーを選択

そのため、次の条件を満たす項目を準備してください。

・ルックアップ検索*が利用できるオブジェクトであること
・ユーザーへの参照ができる項目がそのオブジェクトにあること

*ルックアップ検索が利用できるオブジェクト等について詳しくはこちらをご覧ください。
https://trailhead.salesforce.com/ja/content/learn/projects/improve-data-quality-for-a-cleaning-supply-app/create-a-lookup-filter

以下のように、ユーザーへのルックアップ検索が利用できる既存項目を利用すればよいため、電話メモアプリ用のカスタム項目を作る必要はありません。

<Salesforceユーザーの方>

ユーザーへのルックアップ検索が利用できる項目を探して利用します。もしくは、その項目をどこかのオブジェクトに作成します。あとで利用するので、対象のオブジェクトのAPI参照名項目のAPI参照名をメモしておいてください。

<mitocoをご契約中の方>
次のオブジェクトと項目がユーザーへのルックアップ検索に利用できます。

オブジェクト名:TSMNTBS__CMN_Notification__c
項目名:TSMNTBS__from__c

1. 画面フローを起動する

ここからはLightningフローを利用して、電話メモアプリを作成していきましょう。Salesforceの設定を開き、Lightningフロー*を起動してください。新規フローでは「画面フロー」を選択します。

画面フローの選択

* Lightningフローについて基本的な使い方のヒントは以下のブログを参考にしてください。
https://base.terrasky.co.jp/articles/jqI8C

2. 入力画面を作る

電話の用件を選択したり電話の内容を入力したりする画面を作りましょう。「要素を追加」から「画面」を選んでください。

「画面」要素を追加する

入力用の項目を作る

画面の編集画面が表示されたら左側の画面コンポーネントから、以下のコンポーネントを画面に配置してください。

・ルックアップ
・日時
・電話
・選択リスト
・ロングテキストエリア
・ルックアップ

画面にコンポーネントを配置する

コンポーネントを選択して、以下のプロパティを設定します。
ここでは変更する項目のみ記載します。

ルックアップ
 API 参照名: DestinationUser
 オブジェクト API 参照名: ユーザーへのカスタムルックアップのあるオブジェクト名
 項目API 参照名: ユーザーへのカスタムルックアップの項目のAPI名
 表示ラベル:宛先
 必須:{!$GlobalConstant.True}

日時
 表示ラベル:電話日時
 API 参照名: PhoneDateTime

電話
 API 参照名:PhoneNumber
 表示ラベル:電話番号

選択リスト
 表示ラベル:ご用件
 API 参照名:PhoneRequirementsPickList
 項目の選択肢:新規リソースから以下を作成
 選択リストの選択肢1
  リソース種別
  API 参照名:HaveMessage
  選択肢表示ラベル:伝言があります
  データ型:テキスト
  選択肢の値;伝言があります
 選択リストの選択肢2
  リソース種別:選択肢
  API 参照名:PlaeseCallMeBack
  選択肢表示ラベル:折り返しお電話ください
  データ型:テキスト
  選択肢の値;折り返しお電話ください

ロングテキストエリア
 表示ラベル:伝言内容
 API 参照名:PhoneMessage

ルックアップ
 API 参照名: AccountLookup
 オブジェクト API 参照名: Contact
 項目API 参照名:AccountId
 表示ラベル:会社名

「ルックアップ」コンポーネントのプロパティ例

「選択リスト」コンポーネントのプロパティ例

「選択リストコンポーネント」の「選択肢リソース」のプロパティ例

画面遷移を設定する

コンポーネントの設定が終わったら、画面のプロパティを設定してください

画面プロパティ
 表示ラベル:電話メモ
 API 参照名:PhoneMemo
 ナビゲーションを制御:「[前へ]」、「[一時停止]」のチェックを外し、「[次へ] または [完了]」にチェックする

「入力画面」のプロパティ例

入力画面の設定はこれで完了です。「完了」ボタンを押して保存します。

3.電話メモのリソースを作る

入力画面で入力した内容をToDoに保存するために、2つリソースを作ります。画面左上の「新規リソース」ボタンを押してリソースを作成してください。

1つ目リソース
 リソース種別:テキストテンプレート
 API 参照名:DescriptionText
  テキストの種類:プレーンテキストとして表示
 本文:
----ここから----
電話番号:{!PhoneNumber.value}
電話日時:{!PhoneDateTime}
ご用件
{!PhoneMessage}
----ここまで----

2つ目リソース
 リソース種別:テキストテンプレート
 API 参照名:TitleText
  テキストの種類:プレーンテキストとして表示
 本文:
----ここから----
{!PhoneDateTime}に電話がありました。{!PhoneRequirementsPickList}
----ここまで----

「テキストテンプレート」リソースの作成例

4. ToDoの作成フローを作る

入力画面の内容をSalesforceのToDoオブジェクトに保存するためにレコードの作成処理を作ります。フローの要素の追加から「レコードを作成」を選択してください。

「レコードを作成」の要素を追加する

表示された画面で以下のように入力します。

表示ラベル:ToDo作成
API 参照名:InsertToDo
作成するレコード数:1にチェック
レコード項目の設定方法:個別のリソースおよびリテラル値を使用
オブジェクト:Todo
項目1
 項目:Description
 値:DescriptionText
項目2
 項目:OwnerId
 値:DestinationUserのレコードIDを指定
項目3
 項目:Subject
 値:TitleText
項目4
 項目:WhatId
 値:AccountLookupのレコードIDを指定 *

* 今回は「WhatId」に取引先のレコードを保存していますが、「WhoId」に取引先責任者を保存することもできると思われますので工夫してみてください。

「レコード作成」要素の入力例

「入力画面」で入力した内容がToDoオブジェクトのレコードに保存されるようになりました。
最後に登録が完了したことを示す画面を作成しましょう。

5. 登録完了画面を作る

「登録完了画面」を作るために、「ToDo作成」要素の下に画面要素の追加してください。

「画面」要素を追加する

表示用の項目を作る

次に以下のコンポーネントを配置して、プロパティに入力してください。

コンポーネント:
表示テキスト


プロパティ
API 参照名:TextView
内容:
----ここから----
{!DestinationUser.recordName}さん宛の電話メモを登録しました。
----ここまで----

プロパティに入力

登録完了画面にラベルをつける

コンポーネントの設定が終わったら、画面のプロパティを設定してください

画面プロパティ
表示ラベル:登録完了
API 参照名:Finish

お疲れ様でした。設定はこれで終わりです。
「完了」ボタンを押して保存します。

電話メモアプリを試す

作成した電話メモアプリを保存して有効化し、「実行」ボタンを押して動作を見てみましょう。


* 保存ボタンを押した際に「Lightningランタイム」が必要との警告が表示された場合、一度設定に戻り「プロセスの自動化設定」を開いて、「フローのLightningランタイム」を有効化してください。詳細はこちらをご覧ください。

電話メモアプリの動作イメージ

もしうまく動作しない場合にはフローに戻り、アルファベットの入力ミスなどがないか確認してください。一度「有効化」したフローを再度編集する場合には、「別名で保存」して「有効化」する必要がありますので注意してください。
今回作成したLightningフローは、Salesforceの「ホーム画面」や「ユーティリティーバー」に配置することもできます。配置方法はSalesforceのヘルプ等を確認してくださいね。

電話メモの内容を「Salesforce ToDo」で表示した例

電話メモの内容を「mitoco ToDo」で表示した例

最後に

今回はSalesforceを活用して電話メモアプリを作る方法を紹介しました。紹介した方法は新たに「カスタムオブジェクト」や「カスタム項目」を追加しなくても利用できるため、「むやみにカスタムオブジェクトを増やしたくない」という要望がある場合にも対応しやすいでしょう。

また、今回ご紹介した電話メモアプリはmitocoでもお試しいただけます。「Salesforceのライセンスがない同僚にも電話メモアプリで伝言を残せるようにしたい」という場合は、ぜひmitocoをご検討ください。
56 件
     
  • banner
  • banner

関連する記事