0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

n8nのAIエージェント機能をベースにSlack、GWSと連携する方法

Posted at

n8nのAIエージェント機能を用いて、Slack・GWSと連携する手順をまとめました。
普段コードなどに触れていない方向けに説明を記載しています。

ステップ①:Slackとn8nの連携

利用するツール

n8n:https://n8n.io/
Slack
GoogleWorkspace(個人も可)

上記の3つのツールを組み合わせ、エージェントを作成します。Googleとの連携は一瞬で終わりますが、初期設定のSlackとn8nの連携がやや大変に感じるかもしれません。ですので、手順をしっかりと案内しますね。

n8nのアカウントを開設する

n8nのページにアクセスしてアカウントを開設します。14日は無料トライアル(上限あり)で利用可能です。ローカルで動かす方法もありますが、難しいので興味のある方は調べてみていただけると。

最終的に完成するエージェントは以下のようになります。何よりも見た目がカッコイイ。

image.png

まずはSlackと連携する

最初のステップを追加からSlackを選択します。なんか物騒な日本語が映っているのはブラウザ翻訳を使っているからです(本当は全て英語)

image.png

アクションを「Slackに新しいメッセージが投稿されたとき」にします。
image.png

設定画面が表示されています。

image.png

僕の場合はすでに連携済みですが、まずは認証設定を行いましょう。

image.png

すると以下のような画面が表示されます。

image.png

この時点で、抵抗感のある方はいるかもしれませんが大丈夫です、解説します。アクセストークンと呼ばれている「鍵」を入れてやる必要があります。

人で言うところの家の鍵みたいなものです。誰でも彼でもSlackに入ってこられたら困りますからね。n8nの場合には「ドキュメント」などのリンクが貼られているので、すぐに参照できます。

Slackのアプリページに移動してアプリを作成します。注意点は管理者でないとアプリが作成できないので、アラートが出た場合は管理者に相談するか自分個人で開設したSlackアカウントを使いましょう。

image.png

「ゼロから」を選びます。

image.png

アプリ名と接続するワークスペースを指定します。

image.png

Slackアプリの権限設定

左のメニューの「OAuthと権限」からSlackアプリケーションに対する権限を付与します。実際に付与した権限は下記の通りです。

image.png

「アプリホーム」からアプリに名前とユーザー名を付けます。これをしないとSlackにアプリインストールができません。

image.png

OAuthと権限からアプリインストールを実施、許可ボタンを押します。

image.png

うまくいくとSlackのAppタブに該当のアプリが追加されます。

image.png

OAuthと認証に戻り、OAuthトークンをコピーします。機密情報なので、ネットへの公開や他人への共有はしないようにしましょう。

image.png

n8nに戻り、Slackとの連携フローのアクセストークンに先ほどのトークンをコピペして保存します。

image.png

その際に、SlackトリガーのWebhookURLをクリックしてコピーします。これのアドレスでSlack側からn8nにデータの受け渡しを行います。n8nはテストと本番でWebhookURLが異なりますが、まずはテストURLをコピーします。

image.png

Slackアプリに戻り、OAuthと権限のリダイレクトURLに先ほどコピーしたURLを添付します。

image.png

続けて「イベント・サブスクリプション」メニューのRequest URLに同じくコピーしたURLを追加。ボットイベントにアプリメンションやmessege:groupを追加します。※この画面だけは、翻訳画面で保存するとエラーになるため英語表記にしています。

image.png

最終的にはn8nで以下のようにSlackとの連携設定を実施します。対象となるチャンネルはID指定でも、リストから選ぶでもOKです。トリガーは「ボット/アプリの言及(メンション)」にしておきましょう

image.png

続けて「テストステップ」をクリックするとテストモードになります。Slack上から追加したアプリをメンションしましょう(チャンネルにアプリが参加していない場合は招待します)

例えば、以下のように入力すると

image.png

ちゃんと情報として反映されていますね。これでSlackとn8nの連携が完了しました。続けて、AIエージェントのベースを構築します。

image.png

AIエージェントの中枢を構築する

続けてSlackの次の項目に「フィードを編集」を追加します。Slackから飛んできたデータのうち、メッセージデータを部分のみを抽出します。

image.png

画面左の入力の「文章」をドラッグして、右のtext項目にセットします。

image.png

続けて「AIエージェント」の項目をセットします。その上で、まずはモデルを設定します。今回は「OpenAIチャットモデル」を選択します。
image.png

以下のように利用するモデルを選択します。今回はOpenAIで選択していますが、geminiやClaudeなど利用しているモデルをセットしましょう。
image.png

連携にあたり、OpenAIのAPIキーが必要になります。公式サイトからログインしてAPIプラットフォームからAPIキーを発行します(こちらのページ)※発行に当たってはクレジットカードの登録が必要です。発行したAPIキーは先ほどのSlack認証と同じように、GPTの認証欄にセットします。

image.png

AIエージェント欄ではプロンプトを設定できます。プロンプトは後述するものを参考に構築していただければと思います。
ツール(道具)から連携対象のアプリケーションを選択します。今回はGoogleカレンダーとタスクです。認証はGoogleアカウントにログインするだけですので省略しますが、クリックするだけで完了します。

image.png

Googleカレンダーの連携項目は下記のように設定しています。カレンダーは自分のカレンダーを指定、その上で日付は「モデルによって自動的に定義される」=生成AIで判断するようにしています。

image.png

最後にアウトプット先のSlackを設定します。認証は先ほど完了しているので、アウトプットを設定していきましょう。
image.png

アウトプットでは、生成AIから帰ってきた回答データをドラッグして、「メッセージテキスト」に配置します。その際に、Slackのスレッドtsをタイムスタンプとして指定しておくとスレッドにちゃんと返信してくれるようになります。
image.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?