1. 商談前の準備に2〜3時間かけていませんか?
皆さんこんにちは、横浜で清掃業をしているヤスです。
のアプリを作りましたね。今回はこちらです。
「明日の商談に向けて企業調査しないと…」「提案書を作る時間がない…」営業職なら誰もが経験するこの準備時間の悩みを、Difyで丸ごと解決するアプリを作りました。
会社名・自社商材・自社の強みを入力するだけで以下が全自動で生成されます。
- 企業の公式サイトを自動取得して事業内容を分析
- その企業が抱えていそうな課題を3つ推定
- 自社商材との接続ポイントを整理
- 上司に見せられるレベルの提案書テキストを生成
- 商談前チェックリスト+想定質問と回答例を自動生成
これが数分で完成します。商談前の準備時間が2〜3時間から5分に変わります。
今回はシリーズ初の「ワークフロー型」アプリです。今まで作ってきたチャットボット型より難しいですが、手順通りに進めれば30〜45分で完成します。プロンプトは全文コピーOKです。
2. ワークフロー型とチャットボット型の違い
今回はじめてワークフロー型に挑戦する方のために、今まで作ってきたアプリとの違いを整理します。
| 比較項目 | チャットボット型 | ワークフロー型 |
| 代表アプリ | 断り文句・報告書・コピー | 今回のアプリ |
| ブロック数 | 1〜3個 | 約15個 |
| 処理の流れ | 1回のやりとり | 複数ステップが自動連鎖 |
| できること | シンプルな生成 | 検索・取得・分析・生成を連続実行 |
| 難易度 | ★☆☆☆☆〜★★☆☆☆ | ★★★★☆ |
💡 ワークフロー型はブロックを1つずつ追加してつないでいくだけです。難しく見えても手順通りに進めれば必ず完成します。
3. 完成イメージ|こんな出力が自動生成されます
「株式会社サイバーエージェント」「AIを活用した広告運用自動化ツール AdAI」を入力すると以下のような営業準備パッケージが出力されます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🏢 営業準備パッケージ ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 対象企業:株式会社サイバーエージェント 📊 STEP 1|企業分析レポート 【企業概要】インターネット広告・メディア・ゲームを主力とする 総合デジタルメディア企業。AbemaTVやAmeba等を展開。 設立:1998年 / 従業員:約7,000名 ⚡ STEP 2|推定課題・ニーズ 課題①広告運用の自動化・効率化 [緊急度:高] 根拠:大規模広告事業を展開しており運用工数の削減が急務 課題②データ活用によるROI最大化 [緊急度:高] 課題③クリエイティブ制作コストの削減 [緊急度:中] 📄 STEP 4|提案書テキスト 株式会社サイバーエージェント様 御提案書 1. 貴社の現状認識 インターネット広告事業を中核とされる貴社においては 広告運用の更なる効率化とROI向上が重要課題とお見受けします。 (課題・提案・選ばれる理由・ネクストステップが続く) ✅ STEP 5|商談前チェックリスト 商談のゴール:デモの日程確定と担当決裁者の確認 □ 現在の広告運用体制と担当人数を事前確認 □ 競合ツールの導入有無を確認 □ 予算感・導入時期の確認 Q2:他社ツールと比較して何が違いますか? A:AdAIは初期費用0円・最短1週間導入・既存の広告 アカウントをそのまま連携できる点が最大の差別化です。
4. 全体のブロック構成
15個のブロックが以下の順番で自動連鎖します。
| # | ブロック名 | 種類 | 役割 |
| 1 | ユーザー入力 | 開始 | 企業名・商材・強みを入力 |
| 2 | 検索クエリ生成 | LLM① | 公式サイト検索クエリを作成 |
| 3 | TAVILY SEARCH | ツール | Webを検索してURL取得 |
| 4 | URL抽出 | LLM② | 公式サイトURLだけを抽出 |
| 5 | HTTPリクエスト | HTTP | 公式サイトのHTMLを取得 |
| 6 | コード実行 | コード | HTMLを3000文字に切り詰め |
| 7 | サイト内容分析 | LLM③ | 事業内容を構造化して分析 |
| 8 | 課題・ニーズ推定 | LLM④ | 企業固有の課題を3つ推定 |
| 9 | 接続ポイント整理 | LLM⑤ | 課題×商材のマッチングを整理 |
| 10 | 提案書生成 | LLM⑥ | 提案書テキストを生成 |
| 11 | 商談チェックリスト | LLM⑦ | 商談前準備リスト+想定Q&Aを生成 |
| 12 | テンプレート変換 | テンプレート | 全出力を1文書に整形 |
| 13 | 出力 | 終了 | 最終結果を出力 |
5. 事前準備|必要なものはこれだけ
- Difyのアカウント(無料プランOK)
- OpenAIのAPIキー(platform.openai.com で発行)
- Tavily SearchのAPIキー(tavily.com で発行・無料枠あり)
- 所要時間:30〜45分
⚠️ TavilyはDifyのツール機能で使うWeb検索サービスです。無料プランで月1000回まで検索できます。tavily.comでアカウントを作りAPIキーを発行してDifyのツール設定から登録してください。
6. 【作り方】ステップごとに丁寧に解説
STEP 1|新しいワークフローアプリを作成する
- Difyにログインして「アプリを作成」をクリック
- 種類は「ワークフロー」を選ぶ ← チャットボットではない!
- アプリ名に「企業リサーチ→提案書自動生成くん」と入力
- 「作成する」をクリック
💡 ワークフロー画面はチャットボットと違いキャンバス形式になっています。ブロックを追加してつなぐだけでフローが完成します。
STEP 2|開始ブロック(ユーザー入力)を設定する
最初から配置されている「開始」ブロックをクリックして以下の3つの入力変数を追加します。
| 変数名 | 表示名 | 種類 | 必須 |
| company_name | 企業名 | テキスト(短文) | ✅ |
| our_product | 自社商材・サービス名 | テキスト(短文) | ✅ |
| our_strength | 自社の強み | テキスト(長文) | ✅ |
STEP 3|LLM①〜② 検索クエリ生成・URL抽出
開始ブロックの右「+」からLLMブロックを追加して「検索クエリ生成」と名前をつけます。以下のプロンプトを設定してください。
# Role あなたは企業調査の専門家です。 与えられた企業名から公式サイトを確実に見つけられる Google検索クエリを生成します。 # Input 企業名:{{開始.company_name}} # Pre-Processing(出力しないこと) 1. 日本語か英語かを判定する 2. 法人格の有無を確認する 3. 同名企業が複数ありそうか判定する # Rules – 検索クエリは1つだけ出力する – 「公式」を必ず含める – クエリ以外の文字を一切出力しない # Output 検索クエリのテキストのみを1行で出力すること。
次にTavily Searchツールブロックを追加して検索クエリを渡します。その後LLM②(URL抽出)ブロックで検索結果から公式サイトURLだけを抽出します。
STEP 4|HTTPリクエスト+コード実行
HTTPリクエストブロックでLLM②が抽出したURLのHTMLを取得します。メソッドはGET、URLにはLLM②の出力変数をサジェストから選んで設定します。
⚠️ 大企業のサイトはHTMLが大きすぎてトークン制限エラーになることがあります。HTTPリクエストの後にコード実行ブロックを追加してHTMLを3000文字に切り詰めてください。
コード実行ブロックの設定(言語:Python3)
def main(html: str) -> dict: trimmed = html[:3000] return {“result”: trimmed}
💡 入力変数「html」にHTTPリクエスト.bodyを紐づけ、出力変数名を「result」に設定します。LLM③のプロンプトではこのresultを参照します。
STEP 5|LLM③〜⑦ 分析・推定・生成の5連鎖
ここからが本番です。5つのLLMブロックを順番に追加して以下の処理を連鎖させます。
| ブロック | 名前 | temperature | 役割 |
| LLM③ | サイト内容分析 | 0.3 | HTMLから事業内容を構造化 |
| LLM④ | 課題・ニーズ推定 | 0.5 | 業種別典型課題と照合して3つ推定 |
| LLM⑤ | 接続ポイント整理 | 0.6 | 課題×商材のマッチングを設計 |
| LLM⑥ | 提案書生成 | 0.7 | 800〜1200文字の提案書を生成 |
| LLM⑦ | 商談チェックリスト | 0.4 | 5項目チェックリスト+想定Q&A |
各ブロックのプロンプトには前のブロックの出力変数を紐づけます。プロンプト欄で「{{」と入力するとサジェストが表示されるので手打ちせずサジェストから選んでください。
💡 同じ変数が複数回出てくる場合は最初の1つをサジェストで確認してコピペすればOKです。
STEP 6|テンプレート変換+終了ブロック
LLM⑦の後にテンプレートブロックを追加します。テンプレートブロックはLLMの変数を直接参照できないため、入力変数欄でarg1〜arg7として紐づけてからコード内で使います。
| 変数名(左) | 参照先(右) | 役割 |
| arg1 | LLM③.text | 企業分析 |
| arg2 | LLM④.text | 課題推定 |
| arg3 | LLM⑤.text | 接続ポイント |
| arg4 | LLM⑥.text | 提案書 |
| arg5 | LLM⑦.text | チェックリスト |
| arg6 | 開始.company_name | 企業名 |
| arg7 | 開始.our_product | 自社商材 |
最後に終了ブロックを追加してテンプレート変換の出力変数を設定すれば完成です。

7. よくあるエラーと解決方法
① Rate Limit Error 429(トークン超過)
大企業のサイトはHTMLが大きくトークン制限を超えることがあります。HTTPリクエストとLLM③の間にコード実行ブロックを追加してHTMLを3000文字に切り詰めてください。それでも解決しない場合はHTTPリクエストのURLを「https://r.jina.ai/取得したいURL」に変更すると大幅に改善します。
② 変数が認識されない
プロンプト内の変数は手打ちせず必ず「{{」と入力してサジェストから選んでください。ブロック名にスペースが入っている場合(「LLM 3」など)手打ちでは認識されません。
③ テンプレートブロックでLLMの変数が使えない
テンプレートブロックはLLMの変数を直接参照できません。入力変数欄でarg1〜arg7として紐づけてからコード内で{{arg1}}として使ってください。
8. よくある質問(FAQ)
Q1. Tavily Searchは有料ですか?
無料プランで月1000回まで検索できます。通常の業務利用であれば無料枠で十分です。tavily.comでアカウントを作成してAPIキーを発行してください。
Q2. サイトが取得できない企業はありますか?
ボット対策が厳しいサイトはHTMLが正常に取得できないことがあります。その場合はHTTPリクエストのURLをhttps://r.jina.ai/に変更するか、手動で企業情報を入力変数に追加する方法で対応できます。
Q3. 生成された提案書をそのまま送っていいですか?
必ず人間が内容を確認・修正してから使用してください。AIの推定には誤りが含まれることがあります。あくまで「叩き台」として活用し最終的な判断と修正は営業担当者が行ってください。
Q4. チャットボット型と組み合わせることはできますか?
できます。このワークフローをAPIとして公開してチャットボット型アプリからAPI経由で呼び出す構成にすることで、チャット感覚で提案書を生成できるようになります。
9. まとめ
- 会社名・商材・強みを入力するだけで企業分析→課題推定→提案書→チェックリストまで全自動
- 商談前の準備時間が2〜3時間から5分に短縮
- 15ブロックのワークフロー型で複数処理が自動連鎖
- プロンプトは全文コピーOK。手順通りに進めれば30〜45分で完成
- トークン超過エラーはコード実行ブロックで解決
今まで作ってきたチャットボット型アプリと比べてブロック数は多いですが、一度作ってしまえば営業活動の質が劇的に変わります。商談前の準備を「作業」から「確認」に変えることができます。
今回は久しぶりに複数のブロックを使ったワークフローの
アプリを作りましたがゆっくりと確実に作りました!
時間はかかりましたがどはまりしなかったので
割とスムーズに作れました!
xもやってるので良かったら見に来てください
次回も是非お楽しみに!

コメント