Dify にはワークフローという仕組みがあり、作業の自動化に特化したアプリケーションです。
ボタンを押したり、定期的に実行したい場合に利用します。
1. LINE にクーポンを通知してくれる Bot
Dify のワークフローを使って、次の仕組みをつくります。
- ビックカメラのWebサイトにアクセスしてクーポン情報を取得し、
- クーポン情報を整理して、
- LINE に通知を行う
完成系のフローはこちらです。
2. 実装
2-1. 準備①
Dify のワークフローの準備
- Dify でアカウントを作成しワークフローを準備します
※アカウント作成方法は割愛します
2-2. 準備②
LINE 公式アカウントの準備
LINE Developers から以下を用意します。
※手順は割愛します
- 公式ラインのアカウント
- ユーザーID
- チャネルアクセストークン
準備ができたら、Dify に戻りノードをつないでいきます。
環境変数の設定
[ENV] ブロックから以下の2つの環境変数を設定してください。
-
ユーザーID
- タイプ:Secret
- 名前:to
- 値:2-2で取得したLINEのユーザーIDの値
-
アクセストークン
- タイプ:Secret
- 名前:line_channel_access_token
- 値:LINEのチャネルアクセストークンの値
2-3. Scrape ノード
Firecrawl の登録をし、API key を取得しておきます。
※取得方法は割愛します
Dify のマーケットプレイスから Firecrawl をインストールし認証します。

Dify に戻り、FireCrawlの認証画面に API key を入れてください。URLは入れなくてOKです。
SCRAPEノードが選択できるようになるので追加します。
Scrapeノードの設定
- URL to scrape: データを取得したいサイトのURL
スクレイピングは Web サイトの利用規約を確認してから実施しましょう
2-4. LLM ノードを追加
スクレイピング結果から必要な文字を抽出するために、生成AIを使います!
これを簡単に実装できるのは Dify の魅力です。
Scrapeノード、LLMノードと繋いでください。
LLM ノードの設定
- モデル:
GPT-4o-mini - SYSTEM:
ビックカメラのクーポン情報の一覧のテキストが送られてきます。 - タイトル - 画像URL - 商品リンクURL - 有効期限 を抽出してリストアップしてください。 ## 出力 - 出力は最初の2件のクーポンだけ出力してください。 - マークダウン形式にせず、プレーンなテキストで出力してください。 - USER:
SCRAPE>{x}text
USERはメッセージの追加で編集できます
なお、USER に入れるのは変数で、変数の選択は/を押すことで候補が出現します。
2-5. コードノードと HTTP リクエストを追加
同様に LLM ノードの後ろにコードノードと HTTP リクエストノードを追加します。

コードノードの設定の設定
生成AIがつくったテキストを受け取り、LINE で送れるオブジェクトに整形します。
この部分も LLM ノードのプロンプトで整形してみるのも良いかもしれません。
-
入力変数を追加
- 変数名:
sendCoupon - 変数を設定:
LLM>{x}text
- 変数名:
-
JavaScript
function main({to, sendCoupon}) { const messageObj = { "to": to, "messages":[ { "type":"text", "text": sendCoupon } ] }; return {result: JSON.stringify(messageObj)}; }
LLM で生成した内容を sendCoupon という名前の変数にして、LINE で送るメッセージとして扱っています。
HTTP リクエストの設定の設定の設定
- API
- POST
https://api.line.me/v2/bot/message/push
- ヘッダー
- キー:
Authorization、値:BearerENV>line_channel_access_token - キー:
Content-Type、値:application/json
- キー:
- ボディ
- JSON、{x}result
2-6. 全てのノードをつなげる
最後にこれまでのノードをつなげていきます。LLM ノードの後ろにコードノード、HTTPリクエストと続くようにします。
最後に、終了のノードをつけましょう。
2-7. 実行
最後に右上の実行を押すと処理がスタートし、 LINE に情報が通知されます。
成功すると通知が送られます。
3. 自動投稿
API アクセスから API 経由でこのワークフローを実行させることができます。
API はこちらから取得できます。
Dify スケジュールアシスタントというツールを使うことができます。
具体的には GitHub Actions 利用します。
API の使い方については詳しく記載しませんが、このようにAPI 経由で定期実行するため、GAS のようなサービスでも実装可能です。
5. まとめ
これができれば、LINE 以外に Slack や Discord などに送ることも簡単です。