
株式会社メンバーズのセールスマーケ部門で主に社内DX推進の業務に携わっている長野です。
今回は、複数のSaaSツールを連携させて、営業のToDo実施率を向上させる仕組みを構築しましたので、その内容についてご紹介いたします。(内容は2025年3月時点のものとなります)
営業のToDo忘れをなくすための取り組み
SalesforceのToDoをチャットでリマインド
Salesforce (SF) に登録されているToDoの状況を、毎朝8時半に営業メンバーにチャットで通知するようにしました。これは、朝会でチーム全体でToDoの状況を確認できるようにするためです。今日締め切りのToDoや期限切れのToDoの有無を、メンバーがいるグループに通知しています。
通知では、個人別にToDoの件数がわかるようになっています。また、Salesforceのリンクも貼っているので、具体的な内容はそこから確認できます。

この仕組みを作った背景
メンバーズの新規営業ではSalesforceを使用しており、セミナーやイベントのフォローアップで、マーケティングチームからToDoが発行されることが多いです。もちろん、営業自身も継続フォローなどでToDoを使用しています。
Salesforceは情報を探すのには便利ですが、プッシュ通知の機能が弱いため、営業担当者によっては期限管理がうまくいかず、期限切れのToDoが大量発生してしまうケースがありました。
SalesforceはSlackとの連携は容易ですが、メンバーズではGoogleチャットが標準のチャットツールであり、直接連携することができませんでした。
メンバーズではチャット文化が根付いており、メールよりもチャットの方がよく見られる傾向があります。そこで、営業担当者別にToDo状況を通知する仕組みを構築することにしました。
使用ツール
今回の仕組みを作るにあたり、以下のツールを使用しました。
Salesforce | 営業支援ツール。リードや取引先の情報が入っており、ToDoもSalesforce上に存在します。 |
MotionBoard | ウイングアーク1stのBI/レポートツール。Salesforceと連携済みで、今回は集計をMotionBoardで行いました。 |
Google Chat | Googleのチャットコミュニケーションツール。最終的にGoogle Chatのグループに投稿されます。 |
dejiren | ウイングアーク1st社のiPaasツール。今回の機能はdejirenを中心に実装しました。dejirenからGoogle Chatに代理投稿します。 |
Azure Open AI | MicrosoftのAzure上にあるAIツール (≒ Chat GPT)。MotionBoardで集計したデータをAzure Open AIに渡して、Google Chatの投稿文を作成しています。 |
ToDoリマインドシステムの構築手順
ToDoリマインドシステムの構築手順は以下の通りです。
- STEP1:MotionBoardでToDo明細を取得
- STEP2:MBデータを Open AIにわたして投稿文を生成
- STEP3:dejirenでGoogle Chatに投稿
それぞれ具体的に解説します。
STEP1:MotionBoardでToDo明細を取得
当初はSalesforceでToDo数を集計しようとしていましたが、2つの理由からMotionBoard経由での集計に変更しました。
1つ目は、取引先名・部署名が取得できなかったことです。SalesforceのToDoデータは特殊で、紐づいているリードの情報を引っ張ってくることができませんでした。集計表自体に取引先・部署名などは必要ありませんが、今後の拡張を考えて紐づけたほうが良いと判断しました。
2つ目は、ToDoの超過状況を判断できなかったことです。これはメンバーズの環境に依存していますが、Azure Open AIがインターネットに接続していないため今日の日付を取得できませんでした。そのため、ToDoの期限日と今日の日付を比較して、超過しているのか、未来の期日なのかを判断できませんでした。ちなみにAIに今日の日付を渡しても正しく判断できませんでした。

(2025年なのに、2023年9月1日と返答が返ってきています)
SalesforceでToDoオブジェクトに項目を追加して表示させる方法もありましたが、管理が煩雑になることから却下しました。
結果、MotionBoardの事後計算項目で「判定」という項目を作成し、当日の日付と比較して「未来ToDo」「期限超過」「明日期限」「今日期限」「データなし」の文字列を自動的に入れるように数式を書きました。
判定の数式は以下の通りです。
CASE
WHEN [ToDo期日] IS NULL THEN 'データなし'
WHEN [ToDo期日] < CURRENT_DATE() THEN '期限超過'
WHEN [ToDo期日] = CURRENT_DATE() THEN '今日期限'
WHEN [ToDo期日] = CURRENT_DATE() + INTERVAL '1' DAY THEN '明日期限'
ELSE '未来ToDo'
END
※ちなみにこの判定文は、MBのAIアシスタントに書いてもらいました。
明細はこちらのようになりました。割当先は営業担当です。特定の部署で完了していないステータス(状況)のデータだけ取得するようにしています。

STEP2:MBデータを Open AIにわたして投稿文を生成
取得したToDo明細をAzure Open AIに渡して、判定項目ごとに数を出してもらおうとしたのですが、プロンプトを変えても正しい数字を出せなかったため、明細を渡すのをやめました。代わりに、MotionBoardで集計表を作成し、その数字を渡すことにしました。

この方法にしたら、数字を間違えることなく投稿文を生成できるようになりました。結果的に、AIに送るデータ量も減ったので、費用削減にもなりました。
ちなみに、プロンプトは以下の文章で記載しました。複雑なプロンプトにはせず、フォーマット通りの内容を投稿するように指示しています。何回かテストをしていると、データがない場合はコメントで表記するケースも出てきたので、0件も記載するように追記しました。
各営業(割り当て先)向けに、ToDoのリマインドを行います。
今日期限のToDo、明日(翌営業日)期限のToDo、期限切れのToDoなどと言った形で営業メンバーが入っているグループチャット(新規作成予定)に通知をさせたい。
データが存在しない場合は0件として記載してください。
#ToDo設定状況
今日期限のToDo
・山田 花子:XX件
・田中 太郎:XX件
・佐藤 次郎:XX件
明日期限のToDo
・山田 花子:XX件
・田中 太郎:XX件
・佐藤 次郎:XX件
(中略)
STEP3:dejirenでGoogle Chatに投稿

投稿時間:毎日 8:30

MotionBoardからデータを取得します。MotionBoardで集計条件を絞っているのでdejiren上での設定は特にありません。

プロンプトをAzure Open AIに投稿します。会話を覚える必要がないのでチェックしています (30分しか記憶しないのでどちらでも問題ないはずです)。

実際に投稿された文章はこのようになりました。

開発のポイント
従来のシステム連携では、APIで接続したり、プログラム開発が必要でしたが、今回は完全にノーコードで入口から出口まで作ることができました。
ノーコードでシンプルに作っているため、他のメンバーが修正する場合でも、比較的容易に変更できるのが利点です。
今後の展望
第一段階としてToDo数を把握する流れはできましたが、投稿自体が長くなってしまっているため、クロス集計表で投稿できないかなど改善を検討しています。
また、ToDoの完了管理が本人任せになりすぎるのもマネジメント上は良くないので、常に期限超過がない状態に保つ方法を運用にどう組み込んでいくかが課題だと考えています。
株式会社メンバーズ サースプラスカンパニーでは、Salesforceを中心としたSalesforce・SaaS活用の内製化・伴走支援サービスを提供しています。
SaaS活用を通じて企業のDX推進を進めたいと考えている方は、ぜひ一度お問合せください。