0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ひとりアドベントカレンダーチャレンジAdvent Calendar 2024

Day 15

【Notion】Webhookを使ってDIscord通知をやってみた

Last updated at Posted at 2024-12-22

はじめに

今回は、Notion WebHookでDIscord通知をやってみた記事になります。

Notion WebHookとは

割と最近追加された機能で、DBのオートメーションアクションの一つです。

NotionのDBにデータが追加されたり更新されたりした際に任意のWebHookを叩くことができるという機能で、これからかなりの活躍が期待される機能となります。

注意として、現在(2024/12/23)時点では有料プランのみで利用可能です。

やりたいこと

  • NotionのDBにデータが追加されたらDiscordに通知を飛ばす
  • 通知の中にURLを含めて簡単に確認できるようにする

使用技術

  • Notion
  • Discord
  • GAS(Google Apps Script)

以上の技術を使って実装していきます。
NotionのWebHookを叩いて、GASで処理をしてDiscordに通知を飛ばすという流れになります。

GASの実装

GASの実装は以下のようになります。

function doPost(e) {
  const json = JSON.parse(e.postData.getDataAsString()); // Notionからのデータを取得

  const url =
    'https://discord.com/api/webhooks/{discordで発行したWebHookのURL}'; // Discord WebHookのURL

  const message = 'DBにページが作成されました。→';
  const pageName = json.data.properties.name.title[0].text.content; // ページ名を取得
  const pageURL = json.data.url; // ページURLを取得

  const options = {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    payload: JSON.stringify({ content: message + `[${pageName}](${pageURL})` }),
  }; // Discordに送信するデータ

  return UrlFetchApp.fetch(url, options); // Discordにデータを送信
}

Notionの設定

データベースの⚡️アイコンから「オートメーション」を選択しWebHookを追加します。

スクリーンショット 2024-12-23 0.15.22.png

日時のトリガーは「ページが作成されたとき」を選択しアクションは「WebHookを送信する」を選択します。

URLには先ほどのGASをWEBアプリとしてデプロイしたURLを入力します。
コンテンツでは今回使用するページ名プロパティのnameを選択しています。

完成!

実際にNotionにページを追加するとDiscordに通知が飛ぶようになります。

スクリーンショット 2024-12-23 0.17.40.png

スクリーンショット 2024-12-23 0.18.26.png

ちゃんとクリックでNotionのページに遷移することもできます。

おわりに

最後まで読んでいただきありがとうございます。

Notion WebHookはかなり便利な機能で、今後どんどん活用例が増えていくと思うのでウォッチしていきたいですね。

できれば無料プランでも使えるようになるといいなと思います🫠

参考

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?