Notionのボタンとオートメーション:繰り返しの作業を自動にする

公開 書いた人 大林 諒

Notionには、決まった作業を代わりにやらせる仕組みが2つあります。人が押すと動く「ボタン」と、データベースの変化や決まった時刻をきっかけに勝手に動く「データベースオートメーション」です。毎日同じタスクを手で作っている、状態を変えたのに担当が気づかない、毎週の会議の議事録ページを誰かが思い出して作っている、という作業はほとんどこの2つで片づきます。この記事では、2つの違いと使い分け、使えるきっかけと動作の全部、実際の作り方、Notionの外へ知らせを送るWebhookとn8nへのつなぎ方までを順に書きます。読み終わると、自社のワークスペースで「押せば揃う」「変われば知らせる」を自分で組めます。前提は、タスクや体験申込のデータベースがすでにあることです。

例は、このコラムで通して使っている、スタッフ6名ほどの予約制の小さな料理教室「サンプル料理教室」のワークスペースです。タスク・体験申込・議事録のデータベースがすでにあり、代表1名・講師3名・受付2名がメンバーとして使っています。

サンプル料理教室の「タスク」データベースのテーブルビューと、右上の稲妻のアイコン
サンプル料理教室の「タスク」データベースのテーブルビューと、右上の稲妻のアイコン
この記事の内容
  1. 先に決めること
  2. ボタンとオートメーションの違い
  3. 作る手順
  4. Webhookを送る動作と、n8nにつなぐ入口
  5. 応用
  6. できないことと、その代わり
  7. よく詰まるところ
  8. 次にやること

先に決めること

ボタンもオートメーションも、作るだけなら5分で終わります。ただ、決めずに作ると「誰が作ったか分からない通知が毎朝飛んでくる」「作った人が辞めたら止まった」が起きます。触る前に次の5つを決めます。

1つ目は、きっかけが人か、データの変化か、時刻かです。受付が閉店時に押すのか、タスクの状態が変わった瞬間に動くのか、毎週月曜の朝に動くのか。人が判断してから動かしたい作業はボタン、判断がいらない作業はオートメーションにします。迷ったらボタンから始めます。押す人がいるので、誤って動いたときに気づけます。

2つ目は、どのデータベースで動かすかです。オートメーションはデータベースごとに作ります。サンプル料理教室では、タスク・体験申込・議事録の3つで使い、マニュアルやレシピのデータベースには付けません。読むだけのデータベースに付けても動くきっかけがないからです。

3つ目は、知らせの行き先です。Notionの受信トレイに届く「通知を送信」、Slackのチャンネルに送る「Slack通知を送信」、Gmailから送る「メール送信」の3つがあります。スタッフが毎日Notionを開くならNotionの通知、開かないなら普段見ている場所に送ります。サンプル料理教室では受付がNotionを常に開いているので、受付向けはNotionの通知にしています。

4つ目は、プランです。ボタン自体はすべてのプランで使えますが、データベースオートメーションを自由に作れるのは有料プランです。「メール送信」「Webhookを送信」は有料プラン、「Slack通知を送信」はプラス・ビジネス・エンタープライズのプランの動作としてヘルプに載っています(2026年10月時点)。無料プランでSlack通知のオートメーションを作れるかはヘルプの中でも書き方が揺れているので、料金ページの比較表で確かめてから設計します。

5つ目は、管理する人です。Slack通知のオートメーションは作った人しか編集できません。メール送信はGmailアカウントをつないだ人しか編集できません。実際に運用していると、作った講師が辞めてGmailの接続が切れ、体験申込のお礼メールが止まっていたのに2週間誰も気づかない、ということが起きます。メールやSlackにつなぐものは代表が作る、と決めておくと引き継ぎが要りません。

ボタンとオートメーションの違い

先に全体を表で並べます。

比べるところボタンデータベースオートメーション
誰が動かすか人が押すNotionが自動で動かす
いつ動くか押したときページの追加・プロパティの編集・決まった頻度
置き場所ページの中、またはデータベースの「ボタン」プロパティデータベース上部の稲妻のアイコン
使えるプランすべてのプラン(一部の動作は有料)有料プラン(無料プランでの範囲は料金ページの比較表で確かめる)
作れる人ページの「フルアクセス権限」か「編集権限」がある人データベースの「フルアクセス権限」がある人。ゲストは作れない
向く仕事毎日同じタスクを揃える・承認・完了にする担当への知らせ・日付の自動入力・定期のページ作成

ボタンには「ページに置くボタン」と「データベースの行ごとに付くボタン」の2種類があります。ページに置くボタンは、受付の今日のページに「今日の締め作業を作る」と1つだけ置くような使い方です。データベースのボタンはプロパティの1つとして各行に並び、「完了にする」「代表に確認を頼む」のように、その行に対して押します。

使えるきっかけ(トリガー)

データベースオートメーションのきっかけは3種類です。画面の名前どおりに並べます。

きっかけ動くときサンプル料理教室での使い方
「ページが追加されました」データベースに新しい行が追加されたとき体験申込が入ったら受付に知らせる
「プロパティの編集」指定したプロパティが編集されたとき(条件を付けられる)タスクの状態が「確認待ち」になったら代表に知らせる
「繰り返し(毎日・毎週など)」毎日・毎週・毎月など決まった頻度で(時刻・開始日・終了日・タイムゾーンを指定)毎週月曜9時にスタッフ会議の議事録ページを作る

きっかけは1つのオートメーションに複数付けられ、「いずれかが発生した場合」か「すべてが発生した場合」を選べます。ただし定期のきっかけは、ほかのきっかけと組み合わせられません。

使える動作(アクション)

動作何をするかボタンオートメーション
「ブロックを挿入」ボタンのあるページに文章・箇条書き・トグルを足すページのボタンのみなし
「ページを追加」選んだデータベースに行を足し、プロパティを入れる○○
「ページを編集」選んだデータベースの行とプロパティを変える○○
「プロパティを編集」きっかけになった行、または押した行のプロパティを変えるデータベースのボタン○
「通知を送信」ワークスペースのメンバーに通知を送る(最大20人、またはユーザープロパティの人)○○
「メール送信」つないだGmailから1人以上にメールを送る有料有料
「Webhookを送信」指定したURLにPOSTで送る有料有料
「Slack通知を送信」指定したSlackのチャンネルに送るプラス以上プラス以上
「確認を表示」押したときに確認の画面を出す○なし
「ページまたはURLを開く」ページやリンクを開く○なし
「変数を定義」メンションと数式で値を作り、後の動作で使う○○

「確認を表示」と「ページまたはURLを開く」は人が押すときだけ意味がある動作なので、ボタンにしかありません。逆に、オートメーションの「繰り返し(毎日・毎週など)」のきっかけでは「プロパティを編集」が使えません。きっかけになる行がないからです。

作る手順

ここからはサンプル料理教室で実際に使っている4つを、作る順に書きます。

「今日の締め作業を作る」ボタン

受付は毎日レッスンが終わると、器具の消毒・食材の在庫確認・翌日の仕込みの確認・日報の4つを片づけます。以前は毎日タスクを4行手で作っていて、作り忘れた日は在庫の確認が抜けていました。受付のページにボタンを1つ置き、押せば4行がタスクのデータベースに揃うようにします。

  1. チームスペース「受付」の「受付の今日」ページを開く
  2. 空いた行で / を入力し、「ボタン」を選ぶ
  3. ボタンの名前に「今日の締め作業を作る」と入れる
  4. 「新規アクション」から「確認を表示」を選び、文言に「今日の締め作業を4件作ります」と入れる
  5. 「アクションを追加」から「ページを追加」を選び、追加先に「タスク」データベースを選ぶ
  6. タイトルに「器具の消毒」、担当に受付の担当者、期限に @今日(「複製時」の日付にする)、状態に「未着手」を入れる
  7. 同じように「ページを追加」をあと3つ足し、「食材の在庫確認」「翌日の仕込み確認」「日報」を作る
  8. 「アクションを追加」から「通知を送信」を選び、受信者に代表を入れ、メッセージに「受付の締め作業を作成しました」と入れる
  9. 「完了」を押す
「今日の締め作業を作る」ボタンの編集画面。確認を表示・ページを追加4つ・通知を送信が並んでいるところ
「今日の締め作業を作る」ボタンの編集画面。確認を表示・ページを追加4つ・通知を送信が並んでいるところ

「確認を表示」を先頭に置くのは、間違えて2回押したときに8行になるのを防ぐためです。押した瞬間に動くボタンは、慣れないスタッフほど連打します。

期限に入れる @今日 のようなメンションは、固定の日付にするか、ボタンが動いたとき(複製時)の日付にするかを選べます。ここで固定の日付にしてしまうと、毎日同じ日付のタスクが作られます。必ず複製時の日付になっているかを確かめます。担当も同じで、固定の人にするか複製時のユーザーにするかを選べます。受付が交代で押すなら複製時のユーザーにすると、押した人が担当になります。

タスクのデータベースにテンプレートを設定している場合は、テンプレートの値がボタンの値を上書きし、タイトルが思ったとおりにならないことがあります。ボタンで作る行はボタン側で値を入れ、テンプレートは使わないと決めておくと迷いません。

タスクデータベースに今日の日付で「器具の消毒」など4行が追加された状態
タスクデータベースに今日の日付で「器具の消毒」など4行が追加された状態

行ごとの「完了にする」ボタン

タスクを完了にするとき、状態を「完了」に変え、完了日を入れる、の2つを毎回手でやると完了日が空のままになります。データベースのボタンにまとめます。

  1. 「タスク」データベースを開き、上部のスライダーのアイコンから「プロパティを編集」を開く
  2. 「新しいプロパティ」から「ボタン」を選ぶ
  3. ラベルに「完了にする」と入れる
  4. 「オートメーションを編集」を選ぶ
  5. 「新規アクション」から「プロパティを編集」を選び、状態を「完了」にする
  6. 「アクションを追加」から「プロパティを編集」を選び、完了日を @今日(複製時の日付)にする
  7. 「保存」を押す
タスクデータベースの各行の右端に「完了にする」ボタンが並んでいるテーブルビュー
タスクデータベースの各行の右端に「完了にする」ボタンが並んでいるテーブルビュー

データベースのボタンを押せるのは「フルアクセス権限」「編集権限」「コンテンツ編集権限」のどれかを持つ人です。閲覧だけの人には押せません。講師にタスクを完了にしてほしいなら、タスクのデータベースで講師に編集の権限があるかを先に見ます。

状態が変わったら担当に知らせるオートメーション

講師がチラシの原稿を書き終えたら、タスクの状態を「確認待ち」にして代表に見てもらう流れにしています。状態を変えるだけで代表に通知が届くようにします。

  1. 「タスク」データベースを開き、上部の稲妻のアイコンを押す
  2. 「新規オートメーション」を選び、名前に「確認待ちを代表に知らせる」と入れる
  3. 「新規トリガー」から「プロパティの編集」を選び、プロパティに「状態」、条件に「確認待ち」を入れる
  4. 「新規 アクション」から「通知を送信」を選ぶ
  5. 受信者に代表を入れ、メッセージに「確認待ちのタスクがあります」と入れる(メンションでタスクの名前と担当を差し込む)
  6. 「作成」を押す
オートメーションの編集画面。トリガーが「状態」が「確認待ち」、アクションが「通知を送信」になっているところ
オートメーションの編集画面。トリガーが「状態」が「確認待ち」、アクションが「通知を送信」になっているところ

担当が日によって変わるタスクなら、受信者に人を固定せず、ユーザープロパティの「担当」を選びます。担当が変わっても、その時の担当に届きます。

同じ形で、体験申込のデータベースに「ページが追加されました」をきっかけにしたオートメーションを作り、受付2名に通知を送るようにしています。ホームページのフォームやLINEから入った申込がデータベースに行として増えた瞬間に、受付の受信トレイに届きます。

Slackに送る・繰り返し作る

受付と代表は社内の連絡にSlackを使っています。体験申込の通知をSlackの受付チャンネルにも送ります。

  1. 「体験申込」データベースの稲妻のアイコンから「新規オートメーション」を選ぶ
  2. 「新規トリガー」から「ページが追加されました」を選ぶ
  3. 「新規 アクション」から「Slack通知を送信」を選ぶ
  4. Slackのワークスペースをつなぎ、送り先に受付のチャンネルを選ぶ
  5. メッセージに申込者の名前・体験日・申込経路を差し込む
  6. 「作成」を押す
「Slack通知を送信」の設定画面で、送り先のチャンネルと差し込むプロパティを選んでいるところ
「Slack通知を送信」の設定画面で、送り先のチャンネルと差し込むプロパティを選んでいるところ

Slack通知のメッセージには数式が使えません。「体験日まであと何日」のような計算した値を出したいときは、データベース側に数式プロパティを作っておき、その値を差し込みます。

毎週のスタッフ会議の議事録は、定期のきっかけで作ります。

  1. 「議事録」データベースの稲妻のアイコンから「新規オートメーション」を選ぶ
  2. 「新規トリガー」から毎日・毎週などの繰り返しのきっかけ(英語表示ではEvery …)を選び、毎週・月曜・9:00・タイムゾーンに東京を入れる
  3. 「新規 アクション」から「ページを追加」を選び、タイトルに「スタッフ会議」、日付に @今日 を入れる
  4. 「アクションを追加」から「通知を送信」を選び、全員に「今週の議題を書き込んでください」と送る
  5. 「作成」を押す
議事録データベースのオートメーションで「毎週」「月曜」「9:00」を設定しているところ
議事録データベースのオートメーションで「毎週」「月曜」「9:00」を設定しているところ

タイムゾーンを入れ忘れると、作った人の環境の時刻で動きます。海外のサーバーの時刻で考えてしまう事故を防ぐために、定期のきっかけは必ずタイムゾーンを見ます。

Webhookを送る動作と、n8nにつなぐ入口

「Webhookを送信」は、指定したURLにデータベースの行の中身をPOSTで送る動作です。これを使うと、Notionの中だけではできない作業を外の自動化の道具に渡せます。サンプル料理教室では、n8n(エヌエイトエヌ)を受け口にしています。

Notionが送るのはデータベースの行のプロパティだけで、ページの本文は送られません。オートメーションでは送るプロパティを選べますが、データベースのボタンでは選べません。送り方はPOSTだけで、1つのオートメーションに付けられるWebhookの動作は5つまでです。

n8n側の受け口は次の順で作ります。

  1. n8nで新しいワークフローを作り、最初のノードに「Webhook」を置く
  2. 「HTTP Method」を POST にする
  3. 「Authentication」を Header auth にし、ヘッダー名を X-Notion-Token、値に長い合言葉を入れた認証情報を作る
  4. 表示された「Test URL」をコピーする
  5. Notionの体験申込のオートメーションで「アクションを追加」から「Webhookを送信」を選ぶ
  6. URLにn8nの「Test URL」を貼る
  7. 「カスタムヘッダーを追加する」で、キーに X-Notion-Token、値に3と同じ合言葉を入れる
  8. 送るプロパティに名前・申込日・申込経路・体験日を選び、オートメーションを保存する
  9. n8nで「Listen for Test Event」を押し、Notionで体験申込にテストの行を1つ足す
  10. n8nにデータが届いたのを確かめたら、ワークフローを公開し、Notion側のURLを「Production URL」に差し替える
n8nのWebhookノードで「Test URL」と「Production URL」が並んでいるところ
n8nのWebhookノードで「Test URL」と「Production URL」が並んでいるところ

「Webhookを送信」の動作そのものには認証がありません。URLさえ知っていれば誰でもn8nに送れてしまうので、手順3と7の合言葉で、Notionから来たものだけを受けるようにします。

送られてくるデータの形は、Notionのヘルプにも細かく書かれていません。テストの行を1つ送ってn8nで中身を見てから、後ろのノードを組みます。

いちばんつまずくのは手順10です。「Test URL」はテストを待っている間しか受けません。テストのURLのまま運用に入ると、翌日から全部失敗します。失敗するとNotionのオートメーションには感嘆符が付き、自動で一時停止します。直したあとは自分で再開しないと止まったままです。

応用

変数で関連する行もまとめて変える

「変数を定義」を使うと、メンションと数式で作った値を後の動作で使えます。ヘルプで例に挙がっているのは、親のタスクが完了になったらサブアイテムもまとめて完了にする形です。サンプル料理教室では「チラシを作る」の下に「原稿」「写真」「入稿」を子のタスクとして持ち、親を完了にすると子も完了になるようにしています。

ボタンからオートメーションを動かす

オートメーションは、別のオートメーションの動作ではきっかけになりません。ただし、ボタンの動作ではきっかけになります。「完了にする」ボタンで状態を変えれば、状態の編集をきっかけにしたオートメーションが動きます。連鎖させたいときは、最初の一歩を人が押すボタンにします。

Gmailからメールを送る

「メール送信」は、つないだGmailから指定した宛先にメールを送ります。サンプル料理教室では、採用のデータベースで選考の状態が「面接日確定」になったら、講師の応募者にお知らせのメールを送る用途を試しました。届くまで最大2分ほどかかることがあり、Gmailの送信数の上限もそのまま効きます。お客様全員への一斉案内のような使い方には向きません。

できないことと、その代わり

できないこと理由・ヘルプの記載代わりの手
オートメーション同士の連鎖別のオートメーションではきっかけにならない最初の一歩をボタンにする。1つのオートメーションに動作をまとめる
ページの本文を外に送るWebhookで送れるのはプロパティだけ送りたい内容はプロパティに持たせる
GET・PUTなどで送るWebhookの送り方はPOSTだけn8nで受けてから、n8nの「HTTP Request」で必要な形に送り直す
kintone・Googleカレンダー・LINEに書くNotionの動作の一覧にないWebhookでn8nに渡し、n8nから書き込む
ゲストに作らせるゲストはオートメーションを作れない社内のメンバーが作る
ロックしたデータベースで動かすロック中はきっかけが発生しないことがあるロックを外すか、動かす用のデータベースを分ける
定期のきっかけで行を変える「繰り返し(毎日・毎週など)」では「プロパティを編集」が使えない「ページを編集」で対象のデータベースと条件を指定する
お客様への大量の連絡Gmailの送信数の上限がある予約システムやLINE公式アカウントの配信を使う

Notionのオートメーションは、社内の作業を揃えて知らせるところまでが得意です。承認の段階が厳しく決まっている申請や、何万行もの台帳の自動更新、細かい権限の切り分けが必要な業務は、Notionで無理に組むより、kintoneのような業務アプリで流れを作ったほうが長続きします。

よく詰まるところ

症状原因直し方
オートメーションが動かない対象のページが「プライベート」や「共有」の場所にある、または編集権限がない対象をチームスペースに置き、作った人に編集権限があるか見る
2つの条件を「すべて」にしたら動かない複数の編集のきっかけは約3秒以内に揃わないと動かないオートメーションを分けるか、「含む」など具体的な条件に変える
編集したのに動かない編集後に行がビューのフィルターから外れた対象をすべて含むビューで作り直す
日付の計算でエラーになる空の日付に対して dateAdd などをかけた日付が空でない行だけを表示するビューで動かす
ボタンで作ったタスクの期限が毎日同じ@今日 が固定の日付になっているメンションを複製時の日付に変える
ボタンを2回押してタスクが倍になった確認がない先頭に「確認を表示」を置く
Slack通知を直そうとしたら編集できないSlack通知は作った人しか編集できない作った人に直してもらう。作るのは代表と決める
メールのオートメーションが急に止まったGmailの接続が切れた、または再認証が必要一時停止の通知から直し、「•••」から「アクティブ」に戻す
n8nに届かなくなったTest URLのまま運用していたワークフローを公開し、Production URLに差し替える
Webhookが止まって再開しない失敗すると自動で一時停止する原因を直したあと、自分でアクティブに戻す
通知が多すぎて誰も読まない小さな変更にまで通知を付けた知らせるのは担当の手が要る変化だけに絞る

最後の行は設定の話ではありませんが、いちばん多い失敗です。オートメーションを入れた最初の月は、何でも通知にしたくなります。通知が1日20件を超えたあたりから、スタッフは通知を読まなくなります。迷ったら通知をやめ、ビューで「自分の担当で期限が今日」を見る運用に戻します。

次にやること

ボタンとオートメーションは、データベースがきちんと組まれているほど効きます。担当・期限・状態がそろっていないタスクのデータベースでは、知らせる条件そのものが作れません。先に「Notionでタスク管理:担当・期限・状態のデータベースを作る」でタスクの形を整えておくと、この記事の設定がそのまま使えます。

体験申込を手で入れているなら、「Notionのフォーム:申込や問い合わせをデータベースに直接ためる」で入口をフォームにすると、「ページが追加されました」のきっかけが毎回自動で動きます。

Slackへの送り方やGoogleカレンダーとのつなぎ方は「NotionとSlack・Googleカレンダー・Teamsの連携:通知と予定をつなぐ」、Webhookの先でメールを送る・kintoneに書くといった作業は「Notionをn8nとつなぐ:フォーム・メール・kintoneから自動で登録する」に続きます。

あわせて読む