LINEにメッセージを送るだけでタスクが自動登録。Claude×GASで作った業務自動化の全記録

Claude Codeとやり取りしながら仕事をしていると、自然とタスクが増える。「あとでこれをやる」「次回の打ち合わせで確認する」「このクライアントへの提案書を来週までに作る」。

問題は、このタスクが「頭の中にある」か「チャットの流れの中に埋まっている」かのどちらかになることだ。Notionを開くか、スプレッドシートを開いてタスクを入力する、という2ステップが毎回必要になる。忙しいときほど、この2ステップが面倒で後回しになる。

「Claudeとのやり取りの中から直接タスクを登録できたら」というニーズがあった。同時に「外出中にLINEからもタスクを追加できたら」という需要もあった。この2つを一つのシステムに統合したのが、Claude×GAS×LINEのタスク自動登録システムだ。

最初に作ったのはClaude→GASの連携

Claude Codeのターミナルからタスクを登録できる仕組みを先に作った。

構成はシンプルだ。GASでWeb Appを作成し、Googleスプレッドシートにタスクを追記するエンドポイントを用意する。Claude Codeから「タスク追加」という指示があれば、PythonでそのエンドポイントにPOSTする。

タスクのデータ構造は次の通りだ。

  • タスク内容:何をするか
  • 依頼者:誰からの依頼か(Claudeターミナルからの場合は「Claude Terminal」固定)
  • 期限:いつまでか(省略可)
  • 優先度:高/中/低(省略可)
  • 懸念点:注意事項や不安な点(省略可)
  • 担当者:誰がやるか(省略可)

期限がある場合は、Googleカレンダーにも終日イベントとして自動登録する。これで「スプレッドシートを見忘れていたが、カレンダーには出ていた」という二重のセーフネットができた。

curlが使えないという予期しない問題

実装中に想定外の問題にぶつかった。GASのWeb Appへの投稿をcurlコマンドで行おうとしたら、うまくいかなかった。

原因はGASのリダイレクト仕様だ。GASのWeb AppにPOSTリクエストを送ると、一度リダイレクトが発生する。curlはリダイレクト後のPOSTをGETに変換してしまう。つまり、curlでPOSTしてもGASはGETとして受け取り、doPostではなくdoGetが呼ばれてしまう。

解決策はPythonでの送信だった。urllib.requestを使ってPOSTを送ると、リダイレクト後もPOSTのまま処理される。

この制約はGASのWeb Appを使う上での重要な知識だ。curlで動かないとき、curlの問題ではなくGASのリダイレクト仕様が原因であることが多い。

LINEからも同じシートに集約する仕組み

Claude Codeからの登録が動くようになってから、次のフェーズに入った。外出中にLINEからタスクを追加できる仕組みだ。

LINEからのタスク追加は、LINE公式アカウントとGASを連携させる。LINEにメッセージを送ると、GASのdoPost関数が受け取り、スプレッドシートに追記する。

重要な設計判断は「同じスプレッドシートに書き込む」ことだった。Claude Codeから登録したタスクとLINEから登録したタスクが同じシートに並ぶ。管理の一元化だ。どこから登録しても、確認は一箇所でよい。

Slackへの通知も追加した。タスクが登録されるたびに、Slackの指定チャンネルに通知が飛ぶ。優先度に応じて絵文字を変える(高=🔴、中=🟡、低=🟢)。画面を開かなくても、Slackを見れば新しいタスクが入ったことがわかる。

期限リマインダーで「見落とし」を防ぐ

スプレッドシートにタスクを溜めても、見なければ意味がない。この問題を解決するために、期限リマインダー機能を追加した。

GASのトリガーで毎日決まった時刻にsendDeadlineReminders関数を実行する。スプレッドシートを走査して、期限が3日以内のタスクをSlackに通知する。

「3日前に通知」は意図的な設定だ。当日リマインドでは対応できないタスクがある。3日前なら大抵のタスクは間に合う。

完成した仕組みの全体像

このシステムが完成してからの運用は、次のようなフローになった。

PC作業中にClaudeとやり取りしていて「あとで〇〇をやる」という話になったとき、すぐに「タスク追加: 内容 / 期限 / 優先度」という形式で伝える。ClaudeがPythonでGASに送信し、スプレッドシートとカレンダーに自動登録される。Slackにも通知が来る。

外出中に「あ、これもやらないと」と思いついたとき、LINEに「〇〇する 来週まで」と送る。GASが受け取り、同じスプレッドシートに追記される。

どちらのルートから入力しても、一つのスプレッドシートに集約されている。確認・管理の場所は一つだ。

業務自動化で大切にしたこと

このシステムを作る中で実感したことがある。業務自動化は「難しいツールを導入すること」ではないということだ。

大事なのは「すでに使っているものの延長線上に作る」ことだ。LINEはすでに毎日使っている。Googleスプレッドシートはすでに使っている。Claudeはすでに使っている。これらを繋いだだけだ。新しいツールを覚える必要はなかった。

自動化のハードルが上がる理由の多くは「新しいツールへの移行コスト」だ。既存の習慣にそのまま乗っかれる設計にすれば、継続しやすい。

まとめ

Claude×GAS×LINEのタスク自動登録システムは、「どこから入力しても同じ場所に集まる」という設計原則から生まれた。curlが使えないという躓きや、LINEとClaudeの統合、期限リマインダーの追加を経て、日常的に使える形になった。

graciautoでは業務自動化システムの設計・構築を支援しています。「こんなことを自動化したい」というご要望はお気軽にご相談ください。

無料相談はこちら

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール