gogcliを使えば、Claude CodeからGoogleカレンダーの予定取得・作成・招待をコマンド1行で実行でき、cronと組み合わせることで毎朝の予定通知を完全自動化できます。
- 要点1:
gog calendar events --todayで今日の予定を一覧取得。--jsonオプションでAI処理にも対応 - 要点2:
gog calendar createで予定作成・Google Meetリンク自動生成・参加者招待が可能 - 要点3: OpenClawのcronジョブと組み合わせることで、毎朝9:00にSlack DMへ予定を自動通知できる
対象: gogcliを活用してGoogleカレンダーを自動操作したいClaude Codeユーザー
今日やること: gog calendar events --today を実行して今日の予定を取得してみる
この記事の目次
gogcliを使えば、Claude CodeからGoogleカレンダーの予定取得・作成・参加者招待を、ブラウザを開かずにコマンド1行で完結できます。
「毎朝カレンダーを開いて今日の予定を確認する」という作業を自動化したい——そう考えたとき、gogcliとOpenClawのcronジョブの組み合わせは非常に効果的な選択肢です。
この記事では、gog calendar コマンドの基本操作から参加者招待、cronによるSlack自動通知の実装まで、実際の設定事例をもとに解説します。
gogcliとGoogleカレンダー連携の全体像
gogcliとは — MCPなしでGoogle Workspaceを操作するCLIツール
gogcliはGo言語で開発されたコマンドラインツールで、GoogleのOAuth2認証を通じてGmail・Googleカレンダー・Drive・Sheets・Docs・Tasks・Contactsなど10以上のサービスをターミナルから操作できます。
Claude CodeとのMCP(Model Context Protocol)連携は不要で、Claude Codeのスキルとして ~/.claude/skills/gogcli/ に設定ファイルを配置するだけで自然言語からのGoogleカレンダー操作が可能になります。
gogcliのカレンダー操作で実現できることは以下のとおりです。
| 操作 | コマンド | 用途 |
|---|---|---|
| 予定一覧取得 | gog calendar events |
今日・指定期間の予定確認 |
| カレンダー一覧 | gog calendar calendars |
利用可能なカレンダー確認 |
| 予定作成 | gog calendar create |
新規予定・会議の作成 |
| 空き時間確認 | gog calendar freebusy |
空きスロット確認 |
カレンダー関連コマンド一覧
主要なコマンドとオプションの全体像は以下のとおりです。
# 今日の予定を取得(テーブル形式)gog calendar events --today# 今日の予定をJSON形式で取得(AIによるパース向け)gog calendar events --today --json# 指定期間の予定を取得gog calendar events --start "2026-04-01" --end "2026-04-07"# 利用可能なカレンダー一覧を確認gog calendar calendars# 空き時間を確認gog calendar freebusy --from "2026-04-01T09:00:00" --to "2026-04-01T18:00:00"# 新規予定を作成gog calendar create primary \ --summary "プロジェクト定例" \ --from "2026-04-01T14:00:00" \ --to "2026-04-01T15:00:00"
ステップ1 — 今日の予定を取得する(gog calendar events)
基本コマンド(–today / –start / –end オプション)
最もシンプルな使い方は --today オプションで当日のイベントを一覧表示することです。
gog calendar events --today
実行すると、開始時刻・終了時刻・タイトル・場所(Google Meetリンク含む)が時間順にテーブル形式で表示されます。実際の出力イメージは以下のようになります。
Time Title Location-------------------- ---------------------------------- ----------------------------------------11:00 - 11:30 AIスクール | 講座開発チーム 定例 https://meet.google.com/xxx-xxxx-xxx15:00 - 16:00 個別相談(クライアントA) https://meet.google.com/yyy-yyyy-yyy
特定の日付範囲を指定したい場合は --start / --end を使います。
# 来週1週間の予定を確認gog calendar events --start "2026-04-07" --end "2026-04-13"
JSON出力でClaude Codeに処理させる
Claude Codeに予定の内容を解析させたい場合は --json フラグを付けることで、構造化されたJSONデータを出力できます。
gog calendar events --today --json
出力されたJSONをClaude Codeに渡すと、「今日14時から会議があります。議事録のテンプレートを用意しますか?」といった次のアクション提案が可能になります。
–allオプションで終日イベントも含める
終日イベント(全日設定の予定)を含めて取得したい場合は --all オプションを追加します。
gog calendar events --today --all
セミナーや研修日程などの終日予定も合わせて確認できるため、1日の全体スケジュールを把握したいときに便利です。
ポイントgogcliの
--json出力は、Claude Codeが自律的に予定内容を判断して次のアクションを実行するための基盤になります。たとえば「会議の30分前にアジェンダを自動生成する」といった高度な自動化も、このJSONをトリガーとして実現できます。
\ Claude Codeの導入、何から始めればいいかわかります /
法人向けClaude Code個別指導の無料相談はこちらステップ2 — 新規予定を作成する(gog calendar create)
基本的な予定作成コマンド
新規予定を作成するには gog calendar create コマンドを使います。対象カレンダー(primary=メインカレンダー)を最初の引数として指定します。
gog calendar create primary \ --summary "プロジェクトレビュー" \ --from "2026-04-01T14:00:00" \ --to "2026-04-01T15:00:00" \ --description "Q1の成果確認と次四半期の方針検討"
--from / --to はISO 8601形式(YYYY-MM-DDTHH:MM:SS)で指定します。タイムゾーンを指定しない場合は端末のローカルタイムゾーンが適用されます。
Google Meetリンクを自動生成する
オンライン会議で使うGoogle Meetリンクを自動生成するには --meet オプションを付けます。
gog calendar create primary \ --summary "クライアントAとのAI研修打ち合わせ" \ --from "2026-04-02T10:00:00" \ --to "2026-04-02T11:00:00" \ --meet
実行後、作成された予定のURLとGoogle MeetリンクがCLIに出力されます。招待メールとともにMeetリンクが相手に通知されます。
リマインダーを設定する
予定の前にポップアップリマインダーを設定するには --reminder オプションで分数を指定します。
gog calendar create primary \ --summary "重要な商談" \ --from "2026-04-03T15:00:00" \ --to "2026-04-03T16:00:00" \ --reminder 30
上記の例では予定開始30分前にリマインダー通知が送られます。
ステップ3 — 参加者を招待する(–attendees オプション)
1名への招待
予定に参加者を招待するには --attendees オプションでメールアドレスを指定します。
gog calendar create primary \ --summary "AI個別指導セッション" \ --from "2026-04-04T14:00:00" \ --to "2026-04-04T15:00:00" \ --attendees "client@example.com" \ --meet
招待されたユーザーには自動的にGoogleカレンダーへの招待メールが送信されます。承諾・辞退・未確定のステータスもCalendar APIを通じて確認できます。
複数名への一括招待
複数の参加者を招待するには、メールアドレスをカンマ区切りで列挙します。
gog calendar create primary \ --summary "AI研修キックオフ" \ --from "2026-04-07T10:00:00" \ --to "2026-04-07T11:00:00" \ --attendees "user1@example.com,user2@example.com,user3@example.com" \ --description "AI活用研修の開始セッション。参加者全員の自己紹介と目標設定を行います" \ --meet
あるAI個別指導サービスでは、複数のクライアントとのSlackチャンネルに対してgogcliとSlack APIを組み合わせ、来週の日程調整メッセージをClaude Codeから一括送信する仕組みを構築しました。参加者IDを自動検索し、Google Meetリンク付きの招待と合わせてメッセージを送ることで、手動の日程調整にかかっていた時間を大幅に短縮しています。
招待後の確認コマンド
作成した予定に対して参加者のステータスを確認するには以下のコマンドを使います。
# 特定日の予定詳細を確認gog calendar events --start "2026-04-04" --end "2026-04-04" --json
JSON出力の中に attendees フィールドが含まれており、各参加者のresponseStatus(accepted/declined/needsAction)が確認できます。
Claude Codeの導入や活用方法について、個別にご相談いただけます。「どの機能から使えばいいか」「自社業務への適用方法を知りたい」といった段階から対応しています。
ステップ4 — cronで毎朝の予定を自動通知する
cronジョブの設計(何をいつどこに通知するか)
gogcliとClaude Codeを活用した業務自動化の中でも、特に効果が高いのが「毎朝の予定通知」です。
あるClaude Codeユーザーは、毎朝9:00にGoogleカレンダーから今日の予定を自動取得して、Slack DMへ通知するcronジョブを構築しました。OpenClaw(Claude Codeをサーバーとして常駐させるプラットフォーム)のcronジョブ機能を使い、以下のような設計にしています。
| 項目 | 設定内容 |
|---|---|
| スケジュール | 0 9 * * *(毎日9:00 JST) |
| 実行内容 | gog calendar events --today --all で今日の全予定を取得 |
| 通知先 | Slack DM(本人宛て) |
| モデル | Claude Haiku(軽量タスクのため) |
| タイムアウト | 120秒 |
通知されるメッセージの形式は次のようになります。
📅 今日の予定(2026年3月2日 月曜日)- 11:00〜11:30 AIスクール | 講座開発チーム 定例 (Meet付き) ✅ 終了済み- 15:00〜16:00 個別相談(クライアントA)(Meet付き)
Slack通知の実装(curl + Slack API直接呼び出し)
cronジョブからSlackへ通知する際は、Slackの組み込み配信メカニズムではなく、エージェント自身がcurl + Slack APIを直接呼び出す方式が安定して動作します。
OpenClawでは、ジョブのプロンプト内で以下のような処理をエージェントが実行します。
# エージェントが実行する処理イメージ# 1. gogcliで今日の予定を取得gog calendar events --today --all --json# 2. 取得した予定を整形してSlackに通知curl -X POST https://slack.com/api/chat.postMessage \ -H "Authorization: Bearer $SLACK_BOT_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "channel": "D0XXXXX", "text": "📅 今日の予定を確認しました...[整形済みの予定リスト]" }'
ポイントOpenClawのcronジョブ設定において、Slackの
announce配信機能(delivery: "dm"など)ではなく、エージェントがプロンプト内でSlack APIを直接呼び出す方式にすることで、channel_not_foundエラーを回避できます。実際の構築で同様の問題に直面した場合は、delivery: "none"に設定してエージェント自身に通知させる方式に切り替えてください。
ジョブのテスト実行と確認
cronジョブが正しく動作するかを確認するには、設定後すぐにテスト実行を行います。
# OpenClaw CLIでcronジョブをテスト実行openclaw cron run daily-calendar-notify
テスト実行後に lastRunStatus: "ok" と表示され、Slack DMにメッセージが届けば成功です。設定に問題がある場合は ~/.openclaw/cron/runs/ 以下のログファイルで詳細を確認できます。
よくある質問
Q. gog calendar eventsコマンドで取得できる予定の範囲は?
--today オプションで当日のイベントを取得できます。--start / --end を使えば任意の日付範囲を指定できます。--all オプションを付けると終日イベントも含まれます。デフォルトでは直近の予定から最大250件まで取得されます。
Q. 取得した予定をSlackへ通知するには?
2通りの方法があります。①OpenClawのcronジョブとして設定し、エージェントがgogcliで取得した予定をSlack APIで通知する方法、②Claude Codeのスクリプトとしてlaunckdやcrontabで定期実行する方法。どちらもSlack Bot Tokenが必要です。安定性を求める場合はSlackのannounce配信機能よりも、curl + Slack APIの直接呼び出しが推奨されます。
Q. cronジョブがうまく動かないときは?
主な原因は3つです。①gog コマンドのパスが解決できない(フルパス /usr/local/bin/gog で指定する)、②OAuth認証トークンが期限切れ(gog auth refresh を実行する)、③Slack Bot TokenのスコープにDM送信権限がない(chat:write と im:write スコープを確認する)。ログファイルのエラーメッセージに従って対処してください。
\ 業務自動化のお悩み、プロが30分で整理します /
法人向けClaude Code個別指導の無料相談はこちらまとめ
gogcliの gog calendar コマンドを使うと、Claude CodeからGoogleカレンダーの操作をコマンド1行で実現できます。本記事で解説した主な内容を整理します。
| コマンド | 用途 | 主要オプション |
|---|---|---|
gog calendar events |
予定取得 | --today, --start, --end, --json, --all |
gog calendar create |
予定作成 | --summary, --from, --to, --meet, --reminder |
--attendees |
参加者招待 | カンマ区切りでメールアドレス複数指定可 |
gog calendar freebusy |
空き時間確認 | --from, --to |
cronジョブとSlack API通知を組み合わせることで、「毎朝9:00に今日の予定をSlack DMで確認する」という自動化が数十分で実装できます。
まずは gog calendar events --today を実行して、gogcliでのカレンダー取得を体験してみてください。gogcliのインストールや初期設定についてはgogcli入門 — Claude CodeからGoogle Workspaceを丸ごと操作するをご参照ください。
Claude Codeの導入・活用をサポートします
株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。非エンジニアの方でも3ヶ月で業務自動化を実現できるプログラムです。「何から始めればいいかわからない」という段階からご支援いたします。





