Agile育成ブログ
未来を変える喜びを
未分類

【Dify × Slack】話題ニュースをAIで取得して朝9時に通知してくれる機能(morning_slack2)

GCP(Google Cloud Platform)ベースでSlackAPIを連携させました。DifyとSlackAPIで作ったものを、Cloud Functionsでファンクション化し、Cloud Schedulerを使って、毎朝9時に定期通知するように設計します。

Difyでワークフローを作成

Difyからワークフローでアプリを作ります。

  1. HTTPリクエストで、Trading viewから経済に関するニュースを取得。
  2. 1で取得したきた結果から上から3つニュースを取得するように加工

連携

まず、GCP上でプロジェクトを作ります。アカウントがない方は、以下から作成してください。https://embed.zenn.studio/card#zenn-embedded__d2941ff818d14

4-1. APIキーを保存

GCP Consoleで「APIとサービス」をクリックし、ダッシュボードに移動し、「Secret Manager API」を探して、「有効にする」をクリックする。

GCPコンソールから、「セキュリティ」を選択し、そこから「Secret Manager」に移動し、「シークレットを作成」をクリックする。

以下の入力して、「シークレット作成」を押下する。

  • 名前
    • dify-api-key(好きな名前でOKです)
  • シークレットの値
    • コピーしたDifyのAPI key

4-4.Cloud Schedulerを作成

GCP Console で Cloud Scheduler に移動し、「ジョブを作成」 をクリックする。

以下の設定を行います:

  • 名前
    • 任意の名前
  • リージョン
    • Cloud Functions設定時と同じもの
  • 説明
    • 入れなくてもOK!
  • 頻度
    • cron 形式で指定 (例: 毎日午前9時に実行する場合 0 9 * * *)。詳細はこちらを参照してみてください。
  • ターゲットタイプ
    • HTTP
  • URL
    • 作成したCloud FunctionsのトリガーとなるURL
  • HTTPヘッダー
    • 設定しなくてOK
  • Authヘッダー
    • OIDCトークン
  • サービスアカウント
    • 作成したCloud Functionsのサービスアカウントを選択

その後のオプションの設定はデフォルトの設定値で大丈夫です。もし気になる場合は、ご自身で好きな値にしてください!

ちなみに、トリガーURLはCloud Functionsのトリガーから確認できます。