😽
Notionのオートメーション新機能「Webhookアクション」を使いgoogleカレンダーに予定を登録する
はじめに
Notionのオートメーションに新しい機能であるWebhookアクションができた。
早速この機能を使い、Notionの情報を外部出力する。
つくりたいもの
NotionにタスクDBがあるが、そのタスクをカレンダーに転記したい。
流れはこんな感じ。
オートメーション設定
オートメーションのトリガーとして内容の変更があればよかったが、現状(2024/12/04)ないので日時プロパティを用意して、以下の流れでWebhookを発動させる。
- 「カレンダー登録ボタン」を押すと「登録日時」プロパティが更新される
- 登録日時プロパティの変更をトリガーにして、オートメーションが作動する
- なお、その際id, タイトルがWebhookに出るように設定する
GAS側のcode
main.js
function doPost(e){
const params = JSON.parse(e.postData.getDataAsString());
const getEventName = properties => {
return properties['ID'].unique_id.number
+ ' '
+ properties['タイトル'].title.map(v => JSON.parse(JSON.stringify(v)).plain_text).join('');
};
CalendarApp.getDefaultCalendar().createEvent(
getEventName(params.data.properties),
dayjs.dayjs().toDate(),
dayjs.dayjs().add(30, 'minutes').toDate(),
);
return ContentService.createTextOutput(params?.challenge);
}
使っているライブラリ
Discussion