1. Slackとn8nの連携初期設定とメッセージ送信機能の構築 [0]

thumbnail

1.1. Slackアプリの作成と認証情報(Credential)の設定 [2]

  1. Slackアプリの作成:

    1. api.slack.comにアクセスする [2]。
    2. 「Create New App」をクリックし、「From Scratch」を選択する [4]。
    3. アプリに任意の名前を付け、ワークスペースを選択する [5]。
    4. 例として、新しく作成されたワークスペースは「automation」と名付けられている [6]。
    5. 「Create App」をクリックすると、アプリの認証情報ページに移動するが、この情報は現時点では気にしなくてよい [8]。
  2. n8nでの認証情報(Credential)の作成:

    1. n8nに戻り、メッセージ送信セクション(手動トリガーとメッセージ送信ノードで構成)で接続に必要なCredentialを作成する [10]。
    2. 「Create New Credential」をクリックする [12]。
    3. アクセストークン(n8nとSlackアカウントを接続し、アクセスを許可するパスワードのようなもの)が必要となる [13]。
  3. OAuthトークンの取得と権限設定:

    1. Slackアプリのページに戻り、「OAuth & Permissions」に移動する [15]。
    2. スクロールダウンして「Scopes」セクションに進む [17]。
    3. ボットに特定の権限(Permissions)を追加する [18]。
    4. ワークスペース内のすべてのチャンネルを読み取るには、対応する権限が必要である [19]。
    5. メッセージを送信するには、chat:write権限が必要である [20]。
    6. ユースケースに応じて必要な権限を追加する [21]。
    7. 権限設定後、ページ上部に戻り、ボタンをクリックして「Allow」を選択する [23]。
    8. 表示されたOAuthトークンをコピーし、n8nのCredentialフィールドに貼り付ける [24]。
    9. 「Save」をクリックすると、「connection tested successfully」と表示され、接続が完了する [25]。

1.2. メッセージ送信のテストとボットのチャンネル追加 [27]

  1. メッセージ送信の試行とエラー発生:

    1. n8nのSlackノードで、リストから任意のチャンネルを選択する [27]。
    2. テキストメッセージ「hello」を送信してノードをテスト実行する [29]。
    3. 「not in channel」というエラーが発生する [30]。
    4. これは、ボットが選択されたチャンネルに参加していないことを意味する [31]。
  2. ボットのチャンネル追加:

    1. Slackに戻り、チャンネル内でボットをメンションしてメッセージを送信する [32]。
    2. 「Add them」という通知が表示されるので、それをクリックしてボットを追加する [34]。
    3. これでボットがチャットに参加した状態となる [36]。
  3. 再テストと成功:

    1. n8nで再度ステップを実行する [37]。
    2. メッセージが正常に送信され、ボットがチャットで発言していることが確認できる [38]。

2. Slackトリガーの設定とAIエージェントとの連携ワークフロー構築 [42]

thumbnail

2.1. SlackトリガーとWebhook URLの設定 [42]

  1. Slackトリガーの準備:

    1. メッセージの受信を設定するため、Slackトリガーノードを開く [42]。
    2. ノード上部に表示されるWebhook URLをコピーする [44]。
  2. Slackアプリでのイベント購読設定:

    1. Slackアプリに戻り、「Event Subscriptions」に移動し、設定がオンになっていることを確認する [45]。
    2. コピーしたWebhook URL(テストURL)を貼り付ける [46]。
    3. この時点で「Your URL didn't respond with the value」というエラーが発生する [47]。
  3. Webhook URLの検証:

    1. n8nのSlackトリガーに戻り、Credentialが選択されていることを確認する [49]。
    2. 新しいイベントを監視するようにワークフローを実行する [49]。
    3. Slackアプリ側で「Retry」をクリックすると、「Verified」と表示されるはずである [50]。
    4. 検証が完了すると、ボットがイベントを受信するたびに、n8nワークフローにPOSTリクエストが送信され、Slackトリガーが起動する [51]。
  4. イベントの購読(Subscribe to events):

    1. ボットがメンションされた時、チャットが送信された時、チャンネルが作成された時など、特定のイベントを購読する必要がある [52]。
    2. このケースでは、app_mention(ボットがメンションされた時)イベントのみを設定し、保存する [53]。
    3. n8nのSlackトリガーに戻り、トリガーが「bot/app mention」に設定されていることを確認する [55]。
    4. 監視するチャンネル(例: let's chatチャンネル)を選択し、ステップを実行する [56]。

2.2. メッセージ受信のテストとAIエージェント連携 [57]

  1. メッセージ受信のテスト:

    1. let's chatチャンネルで、まずボットをメンションせずに「hello」と送信する [57]。
    2. ボットがメンションされていないため、何も起こらない [59]。
    3. ボットをメンションしてメッセージを送信すると、トリガーが実行される [60]。
    4. これでメッセージの送受信が可能になった [63]。
  2. AIエージェント連携ワークフローの構築:

    1. SlackトリガーをAIエージェントノードに接続する [64]。
    2. ワークフローの構造は、Slackからメッセージを受信すると、AIエージェントに送信され、その出力が応答ノード(Respond node)を介してSlackに返信されるようにする [64]。
  3. AIエージェントとの対話テスト:

    1. ワークフローを実行し、トリガーがSlackでの新しいイベントを監視するようにする [65]。
    2. ボットに「How are you」と質問する [66]。
    3. イベントが受信され、エージェントが応答を考え、Slackに「Hi, I'm doing great. Thanks for asking. How about you?」と返信した [67]。
  4. 本番環境への移行:

    1. このワークフローを本番環境(Production Ready)にするには、SlackアプリのEvent Subscriptionsエリアで、テストURLを本番URL(Production URL)に変更する必要がある [70]。
    2. URLを変更し、ワークフローをアクティブにすることで、手動実行なしでエージェントとチャットできるようになる [71]。
    3. これにより、毎回ワークフローを実行することなく、エージェントとシームレスに対話できる [72]。