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?

Slackのスレッドに返信する Dify × Slack連携ワークフロー構築手順(App Mentionトリガー)

0
Last updated at Posted at 2025-11-30

はじめに

本記事では、Slack のメンション(App Mention)をトリガーにして Dify のワークフローを動かし、スレッドに自動返信する方法を紹介します。

特に、2024年に正式リリースされた Slack トリガー機能(App Mention) を利用した実装方法にフォーカスしています。


実現したいこと

Slack の特定チャンネルでアプリにメンションされたメッセージを受け取り、
Difyで処理 → メンション元のスレッドに返信
という一連の動きを自動化します。

既存の例だと「チャンネルに直接返信されてしまうケース」が多く、
スレッド返信をするための具体的な方法を検証しました。


動作環境

  • 使用サービス:Dify Cloud ver 1.10.1

結論

Dify の Slack トリガー(App Mention)から取得できる channelthread_ts を使用することでスレッドへの返信が実現可能です。


手順


1. Slackアプリの準備

まずは Slack 側でアプリを作成します。
下記の記事の「Slack Botプラグインを有効化する」まで設定しておくとスムーズです。


2. Difyでアプリを作成

Dify の管理画面から新規アプリを作成し、
**アプリタイプは「ワークフロー」**を選択します。

スクリーンショット 2025-11-30 19.46.54.png


3. トリガー設定

開始ノードには 「トリガー」 を設定します。
スクリーンショット 2025-11-30 16.46.52.png

App Mention トリガーを選択

Slackトリガー一覧から 「App Mention」 を選択します。

スクリーンショット 2025-11-30 16.47.34.png

サブスクリプションが空なので「+」を押して追加します。

スクリーンショット 2025-11-30 16.48.41.png


サブスクリプションの設定

サブスクリプション名は任意で構いません。
ここで表示される Callback URL は Slack アプリ側で使用するためコピーしておきます。

スクリーンショット 2025-11-30 20.00.12.png

Slack側の以下4項目をそのまま入力します。

  • Signing Secret
  • App ID
  • Client ID
  • Client Secret

スクリーンショット 2025-11-30 20.13.55.png


4. ワークフロー設定

完成形のワークフローは以下のようになります。

スクリーンショット 2025-11-30 20.20.47.png


(1) コード実行:メンション部分の削除

Slackのメッセージには <@BOT_ID> が含まれるため、
ユーザーの発言だけを取り出す処理を行います。

  • 入力変数

    • Name: text
    • Value: {x}APP MENTION/raw_payroad/event/text
  • コード

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 を使います。

※「Bot User OAuth Token」は以下のようにSlackアプリの設定画面からコピー
スクリーンショット 2025-11-30 21.42.19.png

  • Body(json を選択)
{
  "channel": "raw_payload.event.channel",
  "thread_ts": "raw_payload.event.ts",
  "text": "text"
}

"text" は直前の LLM の出力結果
channelthread_ts は Slack トリガーから取得可能

最後に右上の 「公開する」 を押してワークフローを有効化します。


5. 動作確認

  1. 対象チャンネルに作成した Slack アプリをインストール
  2. @アプリ名 こんにちは とメンション
  3. スレッドで以下のように返信されていれば成功です

スクリーンショット 2025-11-30 21.55.51.png


まとめ

本記事のポイントは次の通りです。

  • Slack のメンションをトリガーにして Dify ワークフローを実行可能
  • Slack トリガー設定には 4種類のキー情報が必要
  • thread_ts を利用することで スレッド返信が実現
  • App Mention → テキスト抽出 → LLM処理 → Slack返信 の構成がシンプルで扱いやすい

参考文献

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?