n8nを使ってみた ~前編:Slack連携とAIエージェント~
はじめに
トレジャー・ファクトリーのsho64です。
最近、システム管理業務をワークフロー自動化ツールで、負荷軽減できないか挑戦しています。
この度、GoogleWorkspaceのユーザ管理業務を簡略化・負荷軽減するべく、n8nを使ってみました。汎用的なノウハウとして使えそうな情報を、初心者や導入検討中の方に向けた記事として書いていきます。

n8nワークフローサンプル
全3編に分けて紹介しますので、利用シーン別にて参照しやすい形となっていれば幸いです。
n8nとはなんぞ??
早速、教えてGemini様(3行で要約)。
n8n(エヌエイトエヌ)を3行でまとめると、以下の通りです。
- アプリ連携の自動化ツール: 異なるサービス同士をノーコードでつなぎ、業務を自動化できます。
- 圧倒的な自由度とコスパ: 自社サーバーに設置すれば無料で使い放題で、コードを書いて複雑な処理も可能です。
- AI連携に強い: ChatGPTなどの生成AIを組み込んだ高度な自動化エージェントを、視覚的に作成できます。
要するに、AIも使って、色々な処理を連携させる、コスパの良い自動化ツール、といった理解。
DifyやMakeなど、類似のワークフローツールもあるものの、今回はローカル環境で構築すれば実質いくらでも使える点をメリットと感じ、n8nを採択。
環境構築
AWS EC2上にDockerで構築。
社内向けドメインと汎用SSL証明書も当てて、httpsでアクセスできるようにした。
ここの詳しい手順はバッサリ割愛、この記事ではn8n自体の操作にフォーカスしていくため。
環境構築では既に参考になる記事も多数あるので、いくつか参考にしたURLだけ貼っておく。
用語の理解
2025年12月現在では完全に対応した日本語版はまだ出ていない、要するに英語版が主流という状況。メニュー画面などでよく使う用語は先に押さえておくのが肝要・・・ということで、7つほどまとめて先にご紹介。
キャンバス(Canvas)
ワークフローを作る領域、ここに様々なアクションを追加・連結させていく。

ワークフロー(Workflow)
自動化プロセスそのもの、複数の処理を組み合わせて1つの自動処理とした流れのこと。

ノード(Node)
ワークフロー内の1つ1つの処理のこと、ノードを連結させていくことで複雑な一連の流れを作っていく。

トリガー(Trigger)
ワークフローの起点にあたり処理、手動で実行開始する以外にも「メールトリガー」や「チャットトリガー」のほか様々なサービスとのWebhook連携も標準で備えている。
ノードの1種でありトリガーノードとも呼ばれる。

コネクション(Connection)
トリガーやノード同士をつないでいる部分、データの流れを示す。

認証情報(Credential:クレデンシャル)
外部サービスとの接続・認証情報、あらかじめ設定しておくことで様々な外部サービスへ自動的に連携ができるようになる。

実行(Execution:エグゼキューション)
“実行”あるいは“実行結果”のこと、n8nではExecutionsタブから実行結果を確認できる、デバッグツールも兼ねているので複雑なワークフローになるほどよく使うことになる機能。


シンプルなワークフローを作る
ここから実際にn8nでの操作を行ってみる。
今回はとりあえず動くワークフローを作り、必要なノードは後から置き換えていくこととする。
トリガーは画面上で簡単に入力ができる「チャットトリガー」を使い、AIエージェントからの出力結果をSlackで確認できるワークフローを作ってみる。
前編での解説ポイントは、大きく分けて2点にまとめる。
- Slackアプリとの連携
- Slackアプリの作成と認証情報の発行
- Slackアプリのインストール
- Slackアプリとの認証設定
- Slackノードの追加
- AIエージェントとの連携
- Google AI Studio APIキーの発行
- Gemini(Google AI Studio)との認証設定
- AIエージェントノードの追加とプロンプト設定
大きなポイントに入る前に、少しだけ先にn8nに触れてみよう!
チャットトリガーでワークフローを作り始める
n8nでアカウント登録まで行い、ログインをした直後は、Workflowsタブには何もない状態・・・。
まっさらな環境に初めてのワークフローを作るには「Create workflow」を押してみる。

すると、用語の理解で紹介した「キャンバス」の画面が表示された!
ここで最初のノードを追加していく。
中央に表示された「Add first step...」の「+」を押すと、右サイドにノード選択のメニューが出現する。キーワードに「chat」と入力し、サジェスト上位にある「Chat Trigger」を選んでみる。

ノードの詳細設定を行う画面になるが、「Back to canvas」もしくは「Escキー」を押してキャンバス画面へ戻る。

デデーン!!

チャットトリガーがキャンバスに作成された。
「Open chat」を押すと、チャットメッセージの入力窓などが開く。
試しにテキストを入力して送信すると、チャットトリガーのみのワークフローが実行され、OUTPUTに入力結果が表示される。

最小構成ではあるが、1つのワークフローが出来上がった。
分かりやすいワークフロー名を付けて、こまめにセーブしておくことをオススメする。
Slackとの連携
Slackとの連携に入る前に、Slackのワークスペースが未作成の方は、以下のヘルプページなどから事前にご用意を!
Slackアプリの作成と認証情報の発行
さて、Slack連携のために、まずSlack側で認証トークンの生成とアプリの登録が必要。
Slackアプリの管理画面である「Slack API」を開く。
画面を開いたら、右上にある「Create New App」の緑色のボタンを押す。

Slackアプリを作る方法の選択画面となるので「From Scratch」を選択。

任意の「App Name」を入力、アプリを常駐させるワークスペースを選択して、右下の「Create App」ボタンを押す。

Slackアプリが新規作成され、設定画面に切り替わる。

画面をスクロールすると「Scopes」というセクションがあるので、今回は以下のスコープを設定する。

スコープを設定したら画面の上の方まで戻り、OAuth Tokensの「Install to <ワークスペース名>」ボタンを押す。

ワークスペースへのアクセス許可画面が出てくるので「許可する」ボタンを押す。

許可すると「OAuth & Permissions」の画面に戻ってくる。
「Bot User OAuth Token」が生成されているので別の場所にメモして厳重に保管する。
非常に重要なTokenなので決して外部には漏らさない。

Slackアプリのインストール
次いでSlackアプリをインストールして、出力先とするSlackチャンネルと連携させる。
Slack画面で ツール > App を表示する。

作成したアプリを選択し、さらに「アプリを開く」を選択する。

出力先とするSlackチャンネルにて、作成したSlackアプリをメンションしてメンバーに招待する。

これでSlack側の連携は完了。
次の手順から再びn8nの画面へ!
Slackアプリとの認証設定
n8nの管理画面にて、Credentialsタブを開く。
右上の「Create credential」ボタンを押す。

キーワード検索窓でSlackと入力すると候補が絞られる。
今回は「Slack API」を選択し、「Continue」ボタンを押す。

Slackアプリの作成時に生成された「Bot User OAuth Token」を、「Access Token」に貼り付けて「Save」ボタンを押す。

「Connection tested successfully」が表示されれば認証設定の登録成功。

Slackノードの追加
仕上げにn8nワークフローへSlackノートを追加する。
先に作っておいたチャットトリガーの右に伸びている「+」を押して、右サイドにノード選択のメニューを出す。
今度はキーワードに「Slack」と入力し、サジェストで出てきた「Slack」を選んでみる。

Slackノードの細かいメニューに分かれて表示されるため、今回は「Send a message」を選択。

Slackノードの詳細設定では、いくつか設定を変更・入力する必要がある。
- Credential to connect with:先ほど登録したSlackアプリとの認証設定
- Send Message To:Channel
- Channel:From list > 連携先とするチャンネル
- Message Type:Simple Text Message
- Message Text:Expression > {{ $json.chatInput }}
特に「Message Text」ではJSON形式での記述方法を試しに行ってみた。
また今回はチャットトリガーの直後に追加していることから、左側の「Schema」に「chatInput」の入力情報が表示されているので、これをドラッグ&ドロップして「Message Text」に持ってくるだけでも同じ入力値を設定することができる。
前のノードで出力される情報をポイポイッと配置するだけで、簡単に処理の流れを作ることができるのがn8nの魅力の1つなので、ぜひ覚えてもらいたい。
Escキーでワークフロー画面へ戻った後、試しにチャット入力窓へテキストを入力して送信する。

今回はOUTPUTだけでなくSlackノードへINPUTした内容も表示された。
下部の実行結果の窓では、ワークフローで選択中のノードの情報が表示される。
初回実行時はチャットトリガーが選択されていたが、今回はSlackトリガーが選択中だったため、表示される結果が変わった。
チャットトリガーを選択すれば、チャットトリガーの実行結果も確認することができる。
また、Slackトリガーを連結させた結果として、Slackチャンネルも確認する。

n8nデフォルトの署名付きではあるが、チャットで入力したメッセージがSlackでも想定通り表示された!
AIエージェント(Gemini)との連携
n8nのワークフローの中で、入力データをAIで解析・加工していきたいので、AIエージェントノードを追加する。
今回は Gemini をAIモデルに採用するため、Google AI Studio でAPIキーを発行して利用する。
Google AI Studio APIキーの発行
Google AI Studio でのAPIキーの発行は非常にシンプル。
- Google AI Studio のサイトへ、Googleアカウントでログインする。
- 「新しいプロジェクトを作成」する。
- 「APIキーを作成」する。
無料枠であれば、難しい設定も不要なので、説明自体もここでは割愛。
APIキーのみ別の場所にメモして厳重に保管した前提で進める。
Gemini(Google AI Studio)との認証設定
今回もn8nの管理画面にて、Credentialsタブを開く。
右上の「Create credential」ボタンを押す。

キーワード検索窓でgeminiと入力すると候補が絞られる。
今回は「Google Gemini(PaLM) Api」を選択し、「Continue」ボタンを押す。

Google AI Studio で生成されたAPIキーを、「API Key」に貼り付けて「Save」ボタンを押す。
こちらも「Connection tested successfully」が表示されれば認証設定の登録成功。

AIエージェントノードの追加とプロンプト設定
n8nのワークフロー画面に戻り、今度はチャットトリガーとSlackノードの間のコネクション(矢印)にマウスオーバーする。そうすると「+」とごみ箱のアイコンが表示されるので、「+」を押す。
おなじみの右サイドメニューが出てくるので、冒頭にある「AI」を選んでみる。

AIノードにも種類がいくつかあるが、今回はオーソドックスな「AI Agent」を選択する。

詳細設定は一旦Escキーでスキップして、ワークフロー画面に戻ってみる。
チャットトリガーとSlackノードの間に「AI Agent」が挟まっていれば想定通り。
もし別の場所にノードが出来てしまっていたり、コネクションがこんがらがっていたりした場合には、ノードをドラッグ&ドロップして配値変更を行い、コネクションの接続先もドラッグ&ドロップで繋ぎなおしてほしい。

AIエージェントノードの詳細設定の前に、AIモデルを追加する。
AIエージェントの下にいる「Chat Model」の「+」を選択し、右サイドメニューから「Google Gemini Chat Model」を選ぶ。
- Credential to connect with:先ほど登録したGemini(Google AI Studio)との認証設定
- Model:今回は「models/gemini-2.5-flash」を選択
AIモデルを追加したら、改めてAIエージェントの詳細設定を行う。
「AI Agent」をダブルクリックすると詳細設定画面へ切り替わる。
- Source for Prompt (User Message):Connected Chat Trigger Node(初期値のまま)
- Prompt (User Message):{{ $json.chatInput }}(初期値のまま)
- Options
- System Message:以下のようなシステムプロンプトを入力
あなたのペルソナと口調:
* 性格: 明るい、丁寧、ニュースキャスターのお姉さん
* 口調: 3文以内に要約する、「です」「ます」などを多用し、丁寧な言葉遣い
* 出力: 必ず1行

ワークフローとしてはこのような状態。

ただし、このままではSlackノードの設定がAIエージェントとうまくつながっていない。
試しにチャットへ適当に入力して実行してみると、ワークフロー自体は正常終了するもののSlackチャンネルへは「undefined」という文字列が返ってくる。
Slackノードの詳細設定を開いてみると「Message Text」が赤くなっている。
これは前の処理から送られてくる情報として、直前のチャットトリガーの「chatInput」を想定していたところ、AIエージェントが間に入ったことで、直前から送られる情報が変わってしまったことに起因している。

今回は、AIエージェントの応答内容をSlackチャンネルに送るようにもしたいので、「Message Text」は、直前のAIエージェントが送る「output」に置き換える。
ひとつ前の実行結果をもとにした変更後の結果も確認できるのでとても便利。

この設定内容で再度チャットへ入力すると、AIエージェントからの返答内容がSlackチャンネルへ送られるようになる。


今回はここまで、忘れずにセーブして終了。
次回予告
ひとまず今回は初めてのn8nでワークフローを作るところまで。
Slackへの出力や、Geminiを用いたAIエージェントの応答もワークフローに組み込んでみた。
いよいよ次回の記事で、メインターゲットの GoogleWorkspace への連携に踏み込んでいくので、記事更新をお待ちくださいませ。
Discussion