はじめに
本記事では、Slack のメンション(App Mention)をトリガーにして Dify のワークフローを動かし、スレッドに自動返信する方法を紹介します。
特に、2024年に正式リリースされた Slack トリガー機能(App Mention) を利用した実装方法にフォーカスしています。
実現したいこと
Slack の特定チャンネルでアプリにメンションされたメッセージを受け取り、
Difyで処理 → メンション元のスレッドに返信
という一連の動きを自動化します。
既存の例だと「チャンネルに直接返信されてしまうケース」が多く、
スレッド返信をするための具体的な方法を検証しました。
動作環境
- 使用サービス:Dify Cloud ver 1.10.1
結論
Dify の Slack トリガー(App Mention)から取得できる channel と thread_ts を使用することでスレッドへの返信が実現可能です。
手順
1. Slackアプリの準備
まずは Slack 側でアプリを作成します。
下記の記事の「Slack Botプラグインを有効化する」まで設定しておくとスムーズです。
2. Difyでアプリを作成
Dify の管理画面から新規アプリを作成し、
**アプリタイプは「ワークフロー」**を選択します。
3. トリガー設定
App Mention トリガーを選択
Slackトリガー一覧から 「App Mention」 を選択します。
サブスクリプションが空なので「+」を押して追加します。
サブスクリプションの設定
サブスクリプション名は任意で構いません。
ここで表示される Callback URL は Slack アプリ側で使用するためコピーしておきます。
Slack側の以下4項目をそのまま入力します。
- Signing Secret
- App ID
- Client ID
- Client Secret
4. ワークフロー設定
完成形のワークフローは以下のようになります。
(1) コード実行:メンション部分の削除
Slackのメッセージには <@BOT_ID> が含まれるため、
ユーザーの発言だけを取り出す処理を行います。
-
入力変数
- Name:
text - Value:
{x}APP MENTION/raw_payroad/event/text
- Name:
-
コード
import re
def main(text: str):
original = text or ""
cleaned = re.sub(r'^<@[^>]+>\s*', '', original).strip()
return {"result": cleaned}
(2) LLMブロック:英訳処理
抽出したテキストを英訳する例です。
#あなたの役割
以下はSlackでユーザーが送信したメッセージです。
これを英訳してください。
#出力形式
日本語: {{Extracting_String/{x}result}}
英語: {{Extracting_String/{x}result}}を英訳したもの
※変数名は直前のブロックでの結果を指定します。
(3) HTTPリクエスト:Slackへ返信
Slack API chat.postMessage を使います。
-
API
-
ヘッダー
- Authorization
-
Bearer xoxb〜(Bot User OAuth Token)
-
- Content-Type
application/json
- Authorization
※「Bot User OAuth Token」は以下のようにSlackアプリの設定画面からコピー

- Body(json を選択)
{
"channel": "raw_payload.event.channel",
"thread_ts": "raw_payload.event.ts",
"text": "text"
}
※ "text" は直前の LLM の出力結果
※ channel と thread_ts は Slack トリガーから取得可能
最後に右上の 「公開する」 を押してワークフローを有効化します。
5. 動作確認
- 対象チャンネルに作成した Slack アプリをインストール
-
@アプリ名 こんにちはとメンション - スレッドで以下のように返信されていれば成功です
まとめ
本記事のポイントは次の通りです。
- Slack のメンションをトリガーにして Dify ワークフローを実行可能
- Slack トリガー設定には 4種類のキー情報が必要
-
thread_tsを利用することで スレッド返信が実現 - App Mention → テキスト抽出 → LLM処理 → Slack返信 の構成がシンプルで扱いやすい
参考文献
- Slackアプリの作成方法
https://note.com/kazu_t/n/nb55c08dc4fe2 - Difyのトリガー機能紹介
https://qiita.com/DifyJapan/items/d68cf1ab5f2c933bf1f8 - Slack Trigger プラグインユーザガイド
https://marketplace.dify.ai/plugins/langgenius/slack_trigger?source=https%253A%252F%252Fcloud.dify.ai&language=ja-JP&theme=system







