はじめに
Dify(ディフィ)を使ってAIのワークフローを作ろうと思い、色々と試しているのですが、その中でSlackとの連携設定が意外と複雑で、公式ドキュメントも少なかったので、やりながらまとめたものになります。
前提
Slack連携の中でも、ワークフローの開始にあたるトリガー周りをまとめます。
「チャンネルにメッセージが投稿されたとき、そのメッセージ内容をもとに処理を走らせたい」 といった場合を想定します。
Difyはクラウド版を使用します。
設定方法
では早速、設定方法を解説していきます。
1. Difyのトリガーアプリをインストール
Difyのプラグインマーケットプレイスで Slack などで検索し、トリガー用のアプリをインストールします。
アプリ名の下部には製作者名が記載されています。
langgenius はDifyを開発・運営する企業なので、似たようなアプリがある場合は、まずlanggenius製をインストールするのが良いと思います。
2. Slackアプリをセットアップ
ここからはSlack側の設定になります。
Slack Developer Portal にアクセスし、新しいアプリを作成します。
右上の Create New App を押下してください。
場合によっては権限が必要かもしれません。その際はSlackの管理者に相談してください。
From scratchを選択します。
アプリ名と作成するワークスペースを選択してください。
ここまで完了すると、下記の画面になります。
この画面の情報は後で必要になるので、別タブなどで開いたままにしておいてください。
3. Slackアプリの権限を設定する
作成したSlackアプリのページの左サイドバーから OAuth & Permissions を押下し、Scopesの欄に channels:history を追加します。
※このスコープを付与すると、アプリが連携されたパブリックチャンネル内のメッセージやその他のコンテンツにアクセスできるようになります。
プライベートチャンネルの場合は別のスコープになるので注意が必要です。
権限の追加が終わったら、ワークスペースにインストールを行います。
※自身の権限によっては、ここで管理者へのリクエストが求められる場合があります。
4. DifyのトリガーアプリとSlackアプリを連携する
ここから再びDifyの画面に戻ります。
プラグインのページを開き、インストールしたSlackアプリを選択します。
表示された詳細画面で 新しいサブスクリプションを作成 ボタンを押下します。
表示されたダイアログに、先ほど開いたままにしておいたSlackアプリの情報を、該当箇所に入力してください。
情報を入力したら、コールバックURLをコピーしてから 作成ボタンを押下してください。
※プラグインの画面で後から編集することも可能です。
ここで再びSlackアプリの設定画面に戻ります。
Event Subscriptions の項目をONにし、まずはチャンネルに投稿されたメッセージを購読できるよう、画面のとおり message.channels を追加します。
Difyのサブスクリプション設定でコピーしたコールバックURLを貼り付けます。
疎通確認が成功したら、画面右下の保存を行います。
これでSlack側の設定は終了です。
最後に、トリガーしたいパブリックチャンネルにアプリを追加してください。
5. DifyのSlackトリガーをワークフローに追加する
再びDifyの画面に戻り、新規でワークフローを作成します。
スタートをユーザー入力ではなく、トリガーを選択し、Slackトリガーの中からMessage Channelsを選んでください。
追加したトリガーに、先ほど作成したサブスクリプションを紐付けてください。
これで設定はすべて完了です。ワークフローのテスト実行を行い、Slackアプリを追加したパブリックチャンネルでメッセージを送って動作確認してみてください。
最後に
Slackのメッセージをトリガーするだけでも、思った以上に設定が必要でした。
一度流れがわかれば2回目以降は比較的すんなりできそうですが、初回はかなり苦労しました。
この記事がDifyを使ってみている方の参考になれば幸いです。








