実装ハンズオン

【n8n】ライフサイエンス企業検索・リサーチBot Part2:Slack連動

更新:

連載シリーズ

ライフサイエンス企業検索・リサーチBot

全4回・n8n × Firecrawl × RAG・Slack常駐Botとして運用するまで

  1. Web検索とレポート生成
  2. Slack連動
  3. 質疑応答機能の実装
  4. RAGによる高度検索

目次

  1. 導入
  2. 背景と目的
  3. Slack連携による自動化の概要
  4. Slack Appの設定手順
  5. n8nでの設定
  6. Webhook認証とイベント設定
  7. Slackメッセージ返信の設定
  8. 実行結果
  9. まとめ

1. 導入

前回の記事では、n8n上でFirecrawlとOpenAIを組み合わせ、企業名を入力するだけでWeb検索からレポート生成まで自動で実行できる企業検索ボットの構築方法を紹介しました。

今回はその発展編として、Slack上から直接ボットを起動できる仕組みを解説します。
Slackで「@bot 企業名」とメンションするだけで、n8nがバックグラウンドで検索・分析を行い、その結果をスレッドに自動返信します。

これにより、リサーチや営業活動の現場で、チャットの中からシームレスに企業情報を取得できるようになります。

2. 背景と目的

Slackは多くのチームで日常的に利用されるコミュニケーション基盤です。
企業調査や提案活動の最中に、気になる企業名が出た瞬間に自動でレポートを返せる仕組みがあれば、情報収集のリードタイムを大幅に短縮できます。

n8nを用いたSlack連携により、コーディング不要で「Slack=リサーチポータル」のような環境を構築できる点が大きな魅力です。

3. Slack連携による自動化の概要

Slack UIとの連携後は、以下の流れでワークフローが動作します。

  1. Slack上でボットにメンション(例:「@bot xx製薬」)
  2. FirecrawlがWeb検索を実施し、複数のURLを取得
  3. 各URLをスクレイピングし、企業関連情報を収集
  4. OpenAIノードがレポート形式で企業情報を要約・整理
  5. SlackスレッドにMarkdown形式で自動返信

この仕組みにより、Slackを起点とした企業分析プロセスが完全自動化されます。

Slack連携による自動化の概要

4. Slack Appの設定手順

まずは、Slack Appを新規に作成します。
Slack API(https://api.slack.com/apps)から「Create New App」を選択してください。

アプリ作成後、「App Home」タブにApp Display Nameを入力します。
この入力を忘れると、組織にアプリをインストールできません(最近の仕様変更点です)。

次に、左側メニューの「OAuth & Permissions」を開き、以下のBot Token Scopesを追加します。

•	app_mentions:read
•	chat:write
•	channels:history

設定後、「Install to Workspace」をクリックし、インストールが完了すると OAuth Token が発行されます。

Slack Appの設定

5. n8nでの設定

続いて、n8n側でSlackとの連携を設定します。

  1. Slack Credentialsを作成
     n8nの「Credentials」設定画面で、以下を入力します:
     - OAuth Token(Slackで発行されたBot Token)
     - Signing Secret(Slackの「Basic Information」タブで確認)
Slack Credentialsを作成
  1. Slack Triggerノードを追加
     このノードを設置すると、Webhook URLが自動生成されます。
     このURLを後ほどSlack側に設定します。
Slack Triggerノードを追加

6. Webhook認証とイベント設定

Slackの管理画面に戻り、「Event Subscriptions」を開きます。

  • 「Enable Events」をONにする
  • 「Request URL」にn8nで発行されたWebhook URLを貼り付ける

Slackが自動的に認証テストを行い、成功すると「verified」と表示されます。
これでSlackとn8n間のWebhook連携が確立されます。

次に、「Subscribe to bot events」欄で app_mention を追加します。
これにより、Slack上でボットがメンションされるたびにn8nのワークフローが起動します。

Event Subscriptions

7. Slackメッセージ返信の設定

企業情報をスレッド内に返信するために、n8nの Slack Messageノード を設定します。

項目 内容
Send Message To 返信先のチャンネルID
Message Text OpenAIノードで生成されたMarkdown形式のレポート
Reply to a Message メッセージID(ts)

この設定を行うことで、ボットはメンション元のスレッドに自動的に返信します。

また、n8nでは分岐や集約を多用するとデータリンクが途切れる「linking errors」が発生することがあります。
このため、各フィールドを手動で指定することで安定動作を確保します。

Slack Messageノード

8. 実行結果

ここまでの設定が完了すると、Slack上で「@bot 企業名」とメンションするだけで、
企業情報の自動レポートがスレッドに返信されるようになります。

レポートはMarkdown形式で整形され、読みやすく即座に共有可能です。

日常的なコミュニケーションの流れの中で、最新の企業情報を取得できる環境が整います。

@企業情報検索ボット
対象企業:武田薬品工業株式会社(Takeda Pharmaceutical Company Limited)
業種:医薬品

事業概要
武田薬品工業株式会社は、日本を代表する国際製薬企業であり、消化器系疾患、希少疾患、血液系腫瘍、オンコロジー(がん)、ニューロサイエンス(神経精神疾患)、ワクチン領域に焦点を置いた研究開発・販売を行っています。
研究開発は特にがん、希少疾患、免疫、神経、消化器、ワクチンの5領域に集中しており、特にオンコロジーや希少疾患、希少免疫領域では臨床開発の後期段階の製品も有しています。
ビジネスモデルとしては、自社開発製品の販売に加え、買収によるパイプライン強化や、他社製品の導入・提携も積極的に行っています。
かつては一般医薬品部門も保有していましたが、現在は処方薬中心のポートフォリオ構成を保持しています。

売上・業績情報
•	2023年3月期の売上高は約4兆274億円
•	営業利益は約9,059億円
•	直近5年では、持続バランスの取れた事業成長と安定的な収益体質を維持している
•	海外売上比率は約79.9%(2024年上半期データ)でグローバル展開が主体
•	セグメント別では消化器疾患、がん、希少疾患医薬品が売上の大部分を占める
事業規模・組織体制
•	連結従業員数は47,455名(2025年3月31日時点)
•	本社は大阪市中央区および東京都中央区にあり、主要R&D拠点を国内外に配置
•	研究開発拠点として米国ボストン、スイス・チューリッヒ、シンガポール等に展開し、オープンイノベーションを重視
•	グローバル経営体制のもと、多様な人材構成を特徴とするダイバーシティ経営を実践

主力製品・新製品について
主な販売中の製品:
•	エンティビオ(消化管用抗炎症薬)
•	ニンラーロ(多発性骨髄腫治療薬)
•	アディシブ(高血圧治療薬)
•	アルンブリグ(非小細胞肺がん治療薬)
•	テイクカブリ(HIV治療薬)
開発中の注目パイプライン:
•	シャイアー買収により希少疾患・オンコロジー領域で先進的なパイプラインを多数保有
•	Innovent社との共同開発プロジェクトが進行中(2025年10月時点の最新発表)
•	神経疾患・ワクチン領域でも新規開発案件が拡大中

想定される経営課題・事業課題
•	特許切れ(パテントクリフ)への対応
•	グローバル開発コスト・販売コストの上昇による収益性圧迫
•	開発プロセスの長期化およびFDA等の承認遅延リスク
•	欧米市場における価格規制・薬価引き下げリスク
•	プロジェクトマネジメントとコンプライアンスの両立課題
•	AI創薬領域への投資増大に伴うROI不確実性

AI・DXに関する取り組み
•	創薬工程にAIを活用したドラッグ・ディスカバリー技術の導入を推進
•	外部ベンチャーとの協働を通じた創薬AI基盤の構築
•	営業部門ではリモートMRおよびCRMデータ統合による営業効率化を実施
•	ロボティック・プロセス・オートメーション(RPA)導入で業務標準化を推進
•	グローバル本社直轄でAI活用推進部門を新設し、各国子会社間で技術連携を展開

リサーチに関する提案・次のアクション
1.	AI創薬分野の国内外パートナー動向の比較分析
2.	製薬大手におけるパテントクリフ対応策の定量比較
3.	Takedaの主要新薬の地域別収益構造(アジア・北米・欧州)分析
4.	リモートMR導入後の営業効率化とROI検証
5.	オンコロジー領域におけるAI創薬ベンチャーとの共同研究数・投資比率の可視化

備考
本レポートは2025年10月末時点の公情報(プレスリリース・IR資料等)を基に作成されています。

9. まとめ

Slack連携により、n8nで構築した企業検索ボットをチームのワークフローに自然に組み込むことが可能になります。
FirecrawlやOpenAIノードと組み合わせることで、Slackを起点にした軽量な情報収集プラットフォームが完成します。

今後は、スレッド内での追加質問への対応(RAG拡張)や、社内データベースとの統合も視野に入れることで、より高度なリサーチ支援Botへ発展させることができます。

Appendix. 詳細ステップ

STEP1. 企業検索ワークフロー(Slack UI)

一連の流れ

  1. Slackからボットにメンションすることでワークフローを起動
  2. Firecrawlを用いてWeb検索を実施し、複数のURLを取得(Firecrawl / Split out)
  3. URL群に対してスクレイピングを実施(Loop Over Items / Firecrawl)
  4. 結果をまとめて企業情報に関するレポートを生成(OpenAI)
  5. 結果をSlack上でリプライとして送信

Slackからメンションしてワークフローを起動できるようにする

必要なもの:
Slack Appのアクセストークン
Slack AppのSigning Secret

1.Slack APIのAppsから新しいAppを新規作成する。

(⚠️最近の更新を経てから、「App Home」タブの中にあるApp Display Nameを入力してあげないと、組織に作成したAppをインストールできなくなっているため、まずはここを入力する)

Slack API

2.左側サイドバーのメニューから「OAuth & Permissoins」を選択しBot Token Scopesの中から以下のScopeを選択(必要なScopesは以下)

Bot Token Scopes

3.インストールに成功するとOAuth Tokenが発行される。これをn8nのCredentialsとして登録

OAuth Token

4.もう一つ、Signature Secretがn8nの画面では求められるが、このフィールドにはSlack App「Basic Information」タブにあるSigning Secretをコピーして貼り付ける

Signature Secret

5.SlackのCredentialsを設定した状態で、「Slack Trigger」ノードを配置してあげると、「Webhook URLs」が発行されている。まずはこのTest URLをコピーする。

Webhook URLs

6.Slack側の設定をもう一つ追加する前に、まずはExecute Workflowを押して、Listening for test event状態にする。後ほどSlack側で認証テストを行うのだが、この時にListeningしておかないと、Slackとn8nの間で認証が確立されないため、前に進められない

Listening for test event状態

7.Slackからボットをメンションするだけで、n8nのノードを起動できるようにする設定として、もう一度Slack Appのページに戻る。サイドバーから「Event Subscriptions」を開くと以下の画面が表示される。

  • まずはEnable EventsをONにする。
  • 次にRequest URLに先ほどコピーしたURLを配置する
  • 勝手に認証を行ってくれて成功すると verifiedと表示される
Event Subscriptions
Enable Events

8.最後に「Evnet Subscriptions」下部にある「Subscribe to bot events」のフィールドを開き、「Add bot user event」からapp_mentionのScopeを追加する

Subscribe to bot events

これで認証が成功したので、Slackからボットをメンションすればワークフローが起動するようになっている。

Slackのスレッドに返信する

  1. まずはSlackからのメンションを受けてみる
    • a.先ほど同様にSlack TriggerのブロックをExecute Stepで、メンションを待ち受ける状態にする。その状態でSlack上で botに@をつけてメンション。すると以下のようなスキーマのデータが届いていることがわかる。
Slack Trigger
  1. 質問者のスレッドに返信を返す仕組みを設定する。
    • まずワークフローの一番最後に、Slack Messageブロックを配置する。中に入れていくパラメータを設定していきたいのだが、その前にSlackの「どのチャンネルから問い合わせが来たか」「どのメッセージのスレとして返信すれば良いか」を特定する。
      • ts・・・Slackチャンネル内メッセージの一意なID
      • channel・・・お問合せが来たチャンネルのID
Slack Messageブロック
  • 本来ならドラッグ&ドロップで画像赤枠の要素を、右側のフィールドに入れれば良いのだが、linking errorsが発生してしまう可能性が高い(通常の直列処理だと、一本のメインストリームの流れをちゃんと記憶したままフローが進行するが、分岐やMerge、Aggregate処理を行うとフローの流れや対応情報が抜け落ちてしまう、n8n特有のエラー)。そこで以下画像のように入力する
Slack Messageブロック
  • Send Message To・・・これはChannelを指定する。ChannelIDが入るようにしたい。フィールドをクリックすると、現在の接続情報で繋いでいるチャンネルの一覧を見ることもできる。「このチャンネルだけで回答生成したい」といった固定ニーズがあるときは、ここに直接入力しても良い。
  • Message Text・・・これはSlackのメッセージとして返却するテキストの本文がはいる。本ワークフローで言えば一つ前のOpenAIブロックが出力するMarkdown形式の回答が入る
  • Options >Reply to a Message・・・このOptionsを設定しないと、チャンネルに普通のメッセージとして出力されてしまう。最初のSlack Triggerブロックに含まれているtsカラムが、メッセージのIDになっているので、これを指定する。

ここまでの設定が正しくできていると、以下のようにSlackに返信として企業情報に関するレポートがまとめて帰ってくる。

企業情報に関するレポート

連載シリーズ

ライフサイエンス企業検索・リサーチBot

全4回・n8n × Firecrawl × RAG・Slack常駐Botとして運用するまで

  1. Web検索とレポート生成
  2. Slack連動
  3. 質疑応答機能の実装
  4. RAGによる高度検索