Raindropで記事を保存をしたら、記事を要約してSlackで共有できるようにした

味わい日記
·
公開:2024/7/27

日曜大工ならぬ、日曜プログラミングを楽しんでおります。

タイトルどおりなのですが、AIに聞きながらプログラムを書いておりました。

何がしたいのか?

チーム内の情報共有を活性化したいです。

Slackで記事URLを共有するだけでなく、記事の概要を自動で追記できると相手も読みたくなるかなと思いました。

システム概要

全体概要図
  1. Raindrop.ioでブックマークを保存

  2. Google Apps Script (GAS)で定期的にRaindrop.ioのAPIをチェック

  3. 特定のタグ(例:「Share」)が付いたブックマークを検出

  4. Dify APIを使用してブックマークの内容を要約

  5. ブックマーク情報の管理をGoogleスプレッドシートで行う

  6. 要約とともにSlackに投稿

実装手順

だいたいこんな手順

1. Raindrop.ioの設定

  • APIキーを取得

    • 「作成 new app」から

      Raindropの設定画面
  • 「Share」タグを作成。

    • ブックマークをするときに「Share」をつけます。

2. Google Apps Scriptの作成

  • Raindrop.io APIからブックマークを取得する関数を実装

  • Dify APIを呼び出して要約を生成する関数を実装

  • Slackに投稿する関数を実装

    GASのスクリプトを記述した画像

※しずかなインターネットにはコードブロックがないので画像を貼っておきます

3. Dify APIの利用

  • アプリケーションを作成し、APIキーを取得

  • 要約生成用のプロンプトを設定

    • ワークフローで作成しました。Jina Readerを使って記事をAIが読みやすいかたちで整形する

    • それに要約プロンプトを当てる

4. Slackの設定

  • Incoming Webhookを作成

5. GASスクリプトの完成

  • 各APIを連携させ、一連の処理を実行するメイン関数を実装

  • エラーハンドリングを追加

まとめ

この連携システムにより、チーム内での情報共有が大幅に効率化されそうです。

Raindrop.ioの使いやすいブックマーク機能、Dify APIによる高度な要約生成、そしてSlackの即時性の高いコミュニケーション機能を組み合わせることで、より効果的な知識管理と情報共有が可能になりました。

今後の展開として、他のAPIとの連携や、機械学習を用いた自動タグ付けなど、さらなる機能拡張も考えられます。

引き続き日曜大工を楽しみたいと思います。

@dubhunter
「株式会社アジケ」代表取締役。UXとサービスデザインに特化したデザイン会社を経営。過去にスタートアップ複数社のCXO、上場企業のUXフェローを経験。AI時代における人間中心設計デザインが現在の関心領域。社名は「味気ある世の中を創る」理念に基づく。東京本社、福岡拠点で二拠点経営を実践中。 ajike.co.jp