【Dify】毎朝のニュースから全自動でホットな営業リストを作成する

本記事は[Qiita Dify Advent Calendar 2024](https://qiita.com/advent-calendar/2024/dify) の10日目の記事です。

## 記事執筆の背景

とある営業担当者の知り合いから、「営業リストの作成に膨大な工数がかかっている」という相談を受けたのが始まりです。その営業担当者は、サービス導入の意欲が高い企業に絞ってアプローチしたいとのことでした。  

そこで今回は、Dify を活用して、ニュース情報から自動的に有望顧客候補となりうる企業を抽出し、営業リストを生成する仕組みを構築した内容を紹介します。

### 作成したい営業リストの要件

1. **企業の資金的余力や新規事業への意欲**  
   サービスを導入する見込みが高く、積極的に新しいサービスを検討してくれる企業を選定したい

2. **質の担保**  
   単に数を増やすだけではなく、ある程度のスクリーニングを行い、アプローチしやすいリストを作りたい

3. **ホットな情報**  
   最新のニュースから企業情報を得ることで、今が攻め時のホットなリストを作成したい

### 技術選定

上記要件を満たすため、今回は以下の技術を組み合わせました。

- **Google Alert**: 特定ワードに合致した新着ニュースをRSSで取得  
- **Dify**: プロンプトエンジニアリングやナレッジベース構築で、企業名抽出や事業概要生成を自動化  
- **Google App Script**: スプレッドシートへの書き込みなどの自動化処理

## ワークフロー概要

全体の流れは以下の通りです。

1. Google Alertから特定ワード(今回は「資金調達」で検索)にマッチしたニュースを抽出  
1. 抽出ニュースから企業名や事業概要をリストアップ  
1. 得られた企業名に対し、Difyを活用して事業概要の生成およびサービス導入提案のフィット感を初期判断  
1. Google App Scriptでスプレッドシートに情報を書き込み、条件を満たす企業に印を付ける

### 1. Google Alertでワードにマッチしたニュース抽出

Google Alertは、指定キーワードに合致した新着記事を毎日RSSで配信してくれるサービスです。今回は「資金調達」というキーワードでアラートを設定し、サービス導入余力のある企業に絞り込む足がかりとしました。キーワードは用途に応じて自由にカスタマイズ可能です。

![スクリーンショット 2024-12-10 12.07.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/47f04f3b-de0b-aaeb-03eb-eb9dad5989f1.png)

メール配信機能もあるため、日々トレンドをメールで受け取ることも可能です。「generative ai」などの海外トピックを指定すれば、毎朝海外の最新事例や動向をキャッチアップできるのでおすすめです。

### 2. 抽出ニュースから企業名・事業概要を抽出

次に、取得したニュースURLをもとに、資金調達を行った企業名を抽出します。ただし、そのまま抽出すると出資者企業や記事のサイドバーにある無関係な企業名なども拾ってしまいます。そのため、プロンプトで抽出条件をコントロールし、求める企業名だけをリストアップできるようにします。

#### URLから企業名抽出のロジック例  
![スクリーンショット 2024-12-10 13.21.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/f405926c-6afa-7bc7-995e-ec181c996aac.png)

#### Difyでの実行結果  
Difyを用いることで、資金調達企業のみを抽出した結果を得られました。記事によっては複数社がヒットする場合があるため、改行を用いるなどフォーマット面で工夫し、後続処理（スプレッドシート書き込み時）で対応します。

![スクリーンショット 2024-12-10 13.18.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/3a4594ad-4635-2862-b288-92a57007ddcb.png)

### 3. 企業名から事業概要を生成し、営業先としてのマッチ度を初期判断

抽出した企業名をもとに、その企業の事業概要をDifyで自動生成します。

#### 企業名から事業概要抽出のロジック例  
![スクリーンショット 2024-12-10 13.26.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/21e0c63e-dc51-29e6-4226-b271cf3ca990.png)

#### Dify実行結果  
企業名を入力するだけで、その企業の事業概要を取得できます。

![スクリーンショット 2024-12-10 14.11.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/1713add9-6c24-3aaa-794b-d0a30fa2725d.png)

#### 営業先としてのフィット度チェック

続いて、自社サービスに適したターゲット企業かどうかを判定します。ここで、あらかじめ自社サービスの概要をDifyのナレッジとして登録し、判定ロジックのインプットに利用します。今回はサンプルとして用いる架空サービス「WorkFlex」というサービスの概要を用意しそれに合わせる形で判定します。


#### ナレッジの追加  
Difyのナレッジ機能で、サービス概要や特徴、ターゲット層、価格帯などを登録します。

![スクリーンショット 2024-12-10 14.23.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/3d1e647d-b510-4976-e307-8681548ddb3b.png)  
![スクリーンショット 2024-12-10 14.23.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/18e1d074-5029-bf09-2e70-c871249eae6c.png)  
![スクリーンショット 2024-12-10 14.23.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/528539a3-1ea1-eedf-c9e4-e366a0f76c09.png)

これにより、登録済みナレッジを踏まえた適合性チェックが可能になります。  
実行ロジック例:

![スクリーンショット 2024-12-10 14.30.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/3baf64b1-bc99-ca74-1110-7d0341a40b84.png)

### 4. Google App Scriptでスプレッドシートに書き込み、条件に合う企業をマーク

1～3で確立したロジックをAPI化し、Google App Scriptで実行します。  
Difyで作成したワークフローは簡単にAPIとして利用できるため、外部サービスへの組み込みも容易です。

#### DifyのAPI Key発行  
API AccessタブからAPI Keyを発行し、Google App Scriptで利用します。

![スクリーンショット 2024-12-10 14.51.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/144d0f81-2f16-7edb-9a6b-4ba341c5eb7d.png)

#### Google App Scriptでの実行  
シートへの書き込み権限を付与し、Difyワークフローを呼び出して結果をスプレッドシートに保存します。

![スクリーンショット 2024-12-10 14.55.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/ff72e615-1f0f-cc3b-ce1f-27f8d21691e7.png)

#### ロジック検証フロー

1. Google Alertから「資金調達」にヒットしたニュースを抽出し、シートに一覧化  
2. URLごとにDifyワークフローを実行して企業名・概要抽出し、シート出力

##### 1. Google Alertでの抽出結果  
![スクリーンショット 2024-12-10 14.59.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/04c9b5aa-375b-762e-c73b-26b4e3bbf397.png)

##### 2. 抽出したURLからDifyロジックを実行  
Difyに組み込んだワークフローをGoogle App Scriptで実行し、営業リストを自動生成します。
Google App Scriptでは同じ企業が重複しないような処理などを追加したりしました。

## 完成したリストの例

最終的に作成されたアウトプット例がこちらです。

![スクリーンショット 2024-12-10 17.38.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199085/a72a4478-e8ed-9318-f61f-2df816027971.png)


### 改善ポイント

1. **サービスのプロンプト改善**  
   ダミー情報ではなく、実際のサービス資料(ウェブサイトや営業資料)を学習させることで、より精度の高いマッチングが可能になります

2. **AIチェック精度の向上**  
   AI判定は運用を通じた継続的な改善が可能です。フィードバックや人手による判断をナレッジに追加し、精度向上を図りましょう

3. **n8nの活用**  
   今回はGoogle App Scriptで自動化しましたが、n8nというワークフローの構築ができるツールを利用すれば、よりビジュアルなノーコード環境でフローを構築できます

## まとめ
今回は営業職の方の営業リストの作成を自動化したのですが、Difyを触っていて他にも色々な日常の業務を自動化していくことが可能だと感じました。また今回の自動化はきっかけに過ぎないので、運用していく中で『ここもっとこういう情報が欲しい』みたいな改善のヒントが集まってきたので作って終わりではなく作ってからが真のスタートだなとも感じております。

エンジニアは日常的に業務を自動化していると思うのですが、ぜひ別の職種の方と話してみて非エンジニアの方の業務理解をすることによって新たな価値を生み出すきっかけになるかと思います。