コラム

「毎朝、今日のタスクを確認する」をやめた。— 2時間・¥0・Mac起動不要で組んだ自動化の中身

2026.05.11 / 坂東

毎朝Notionを開いて、タスクボードを眺めて、今日やることを頭に入れる。2人体制のDVERZでは、自分も武田さんも同じことを別々にやっていました。1人5分でも、月に換算すると2人で約3時間。
「これ、向こうから飛んでくる方が早いんじゃないか」——そう思って、今日の午前中にGASで組みました。所要時間2時間、ランニングコスト¥0、自分のMacを開いておく必要もありません。

業務改善は「気合」ではなく「仕組み」で。1日5分の繰り返し作業は、機械に渡すのが2026年の標準解です。

そもそも、何を作ったか

仕組み自体はシンプルです。NotionのタスクボードからGAS(Google Apps Script)でタスクを取得し、優先度別に整形してChatworkのグループチャットへ自動投稿する——それだけ。

Notion Tasks DB
Notion API GET /v1/databases/{id}/query
Google Apps Script
↓ 整形(優先度・期日でソート、絵文字付与)
Chatwork API POST /v2/rooms/{room_id}/messages
Chatworkグループチャット

毎朝9時、GASのタイムドリブントリガーが sendTasksToChatwork() を発火させます。Notion APIに「期日が今日〜7日以内 かつ ステータスが未完了」のフィルタクエリを投げ、返ってきたJSONをパースして、優先度別(🔥緊急 / ⭐高 / 📌その他)にフォーマットし、ChatworkのRoom APIへPOST。

GASなのでサーバー不要。Google側のV8ランタイムで動くので、Macは閉じていてOK。出張中でも寝てる間でも、毎朝9時にChatworkが鳴ります。

コードの要点

核となるのは、Notion APIへのデータベースクエリです。実際のコードはこんな感じになります。

const response = UrlFetchApp.fetch(
  `https://api.notion.com/v1/databases/${NOTION_DATABASE_ID}/query`,
  {
    method: 'post',
    headers: {
      'Authorization': `Bearer ${NOTION_API_TOKEN}`,
      'Notion-Version': '2022-06-28',
      'Content-Type': 'application/json'
    },
    payload: JSON.stringify({
      filter: {
        and: [
          { property: '期日', date: { on_or_before: sevenDaysLater } },
          { property: 'ステータス', status: { does_not_equal: '完了' } }
        ]
      }
    })
  }
);

これでフィルタリング済みのタスク一覧がJSONで返ってきます。あとは優先度ごとにグルーピングして、Chatworkの記法に整えて送るだけ。

ハマったポイント、2つだけ

①Notionインテグレーションの最新仕様
管理URLが /profile/integrations に変わっていて、トークンも以前の secret_ プレフィックスから ntn_ プレフィックスに変わっています。古い記事を見ながら作業すると、ここで地味に詰まります。

②DBへの「接続」を忘れがち
インテグレーションを作っただけではDBにアクセスできません。対象DBページの右上「…」→「接続」から、作ったインテグレーションを手動で許可する必要があります。これを忘れると延々と object_not_found エラーが返ってきて、なかなか気付けません。

セキュリティの後処理

最初は動作確認優先で、APIトークンをコードに直書きしました。動いたあとに PropertiesService に逃がします。

// Before
const CHATWORK_API_TOKEN = "xxxxxxxx";

// After
const CHATWORK_API_TOKEN =
  PropertiesService.getScriptProperties().getProperty('CHATWORK_TOKEN');

GASの「⚙️プロジェクトの設定」→「スクリプトプロパティ」に値を入れておけば、コード本体にトークンが残りません。GitHubに上げる予定がなくても、これは習慣にしておいた方が安全です。

AIに「設計」から任せた

正直、これをゼロから自分で書いていたら2時間では絶対に終わっていません。

今回はClaude(Anthropic社のAI)に「Notionのタスクを毎朝Chatworkに送りたい。GASでやる。優先度別に整形して」と日本語で投げて、APIエンドポイントの選定、認証ヘッダーの組み立て、エラーハンドリング、トリガー設定の手順まで一気に出してもらいました。詰まったところは「object_not_found って出る」と貼れば、インテグレーション接続の話を即座に教えてくれる。

コードを書くというより、AIに設計と実装を任せて、自分は仕様判断とつなぎ込みをやる。AI以後の業務改善は、もう完全にこの作り方になっています。

次に作るもの

勢いに乗って、Notionにこんなタスクも追加しました。

  1. Google Meet録画 → Claude APIで議事録整形 → Notion議事録DBに自動投入
    Google DriveのMeet Recordingsフォルダを定期スキャン → 文字起こし取得 → Claude APIで議事録フォーマットに整形(補正辞書付き)→ Notion APIで該当DBにレコード作成。
  2. ドメイン・サーバー更新アラート → Chatwork通知
    ムームードメイン約100件、heteml 16アカウントの満了日をNotionで一元管理 → GASで30日前・7日前・3日前にChatworkへ警告。

どちらも、人間がやる必要が1ミリもない仕事です。


そしてその先で、いま組み立てているもの

ここまでは「ちょっとした業務を機械に渡した」話でした。
でも実は、もっと大きな仕組みも並行して組み立てています。

名前は「御社専属のSEO編集チームになるAIエージェント」(仮)。
記事を書くたびに、御社の業界・トンマナ・ターゲット顧客のことを学習し続けるAIエージェントです。

毎日:業界の新しい動き・法令変更・競合記事を自動で追跡
記事ごと:95点基準の品質審査で、なぜ減点したかも全記録
月次:坂東が直接レビューし、御社専属エージェントの能力を更新

100記事書く頃には、御社のことを誰よりも理解した編集者が育っています。

今日紹介したNotion→Chatworkの自動化は、この仕組みのほんの一部品です。
記事を書く、品質をチェックする、WordPressに公開する、公開後の順位を分析して翌月のナレッジに反映する——これらを 7つのAIエージェントが順番にバトンを渡しながら 進めていく構成になっています。

この続きは、別のコラムで詳しく書きます。
「ChatGPTで記事書かせてます」とは別物の、業務として成立するレベルのAI記事生成がどこまで来ているのか、お楽しみに。


……で、ここまで読んでくれた経営者の方へ

ここから先は、技術の話ではなく経営の話です。

今日の自動化、数字で整理するとこうなります。

構築コスト
¥0
構築時間
2時間
月額ランニング
¥0
年間削減
40時間

2人 × 5分 × 月20日 = 月3.3時間、年間40時間。1人時を仮に¥5,000としても、年間¥20万円分の時間が浮く計算になります。

これを 「すごい」 と思った方、半分正解です。
もう半分は、「これくらいなら、うちの会社の業務にも結構ありそう」 という感覚の方が正しい受け取り方です。

毎日同じ手順でやっている業務、複数人が同じ情報を別々に見ている業務、やり忘れると事故る更新作業——どの会社にも必ずあります。そして今のAI+API時代、それらの大半は 「数時間〜数日、ランニングコスト数千円以下」 で機械に渡せます。

その先には、さっき書いた「専属SEO編集チームAI」のような、もっと事業を動かすレベルの仕組みもあります。DVERZでは2026年から、これらをまとめて サブスク型のAI/DX伴走サービス として正式に提供しています。

「うちもこういうの作れるのかな?」と思った方、答えは 作れます
ただし本当に難しいのは、技術ではなく 「どこを自動化すべきか見つけて、優先順位をつけて、運用に乗せる」 ここです。業務理解の問題なので、コードが書けるかどうかとは別の話です。

「うちの会社のどこが自動化できそうか、一度棚卸しだけでも聞いてみたい」——そういう温度感で大丈夫です。無料Web診断 または AI活用ぶっちゃけ相談 から、お気軽にどうぞ。

← コラム一覧へ 無料Web診断