公開日: 最終更新:
執筆・編集:株式会社Nexa 編集部(下書きと機械検査はAI、公開前に人が確認)/約14分で読めます。公式ドキュメント・公式発表などの一次情報を確認したうえで執筆・更新しています。AIツールの仕様や料金は変わることがあるため、導入判断の前に各公式サイトの最新情報もご確認ください。記事の作り方と検査の方針
gogcliを使えば、Claude CodeからGoogleカレンダーの予定取得・作成・招待をコマンド1行で実行でき、cronと組み合わせることで毎朝の予定通知を完全自動化できます。
- 要点1:
gog calendar events --todayで今日の予定を一覧取得。--jsonオプションでAI処理にも対応 - 要点2:
gog calendar createで予定作成・Google Meetリンク自動生成・参加者招待が可能 - 要点3: 常駐型AIエージェントのcronジョブと組み合わせることで、毎朝決まった時間にSlackへ予定を自動通知できる
対象: gogcliを活用してGoogleカレンダーを自動操作したいClaude Codeユーザー
今日やること: gog calendar events --today を実行して今日の予定を取得してみる
2026年10月8日時点の情報です。gogcli本体のコマンド仕様は gog calendar <サブコマンド> --help の実機出力で、Googleカレンダー側の仕様はGoogle Calendar API公式リファレンスで確認しています。
gogcliを使えば、Claude CodeからGoogleカレンダーの予定取得・作成・参加者招待を、ブラウザを開かずにコマンド1行で完結できます。
「毎朝カレンダーを開いて今日の予定を確認する」という作業を自動化したい——そう考えたとき、gogcliと常駐型AIエージェントの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 --from "2026-04-01" --to "2026-04-07"
# 利用可能なカレンダー一覧を確認
gog calendar calendars
# 空き時間を確認(対象カレンダーIDを指定)
gog calendar freebusy primary --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 / –from / –to オプション)
最もシンプルな使い方は --today オプションで当日のイベントを一覧表示することです。
gog calendar events --today
実行すると、開始時刻・終了時刻・タイトル・場所(Google Meetリンク含む)が時間順にテーブル形式で表示されます。実際の出力イメージは以下のようになります。
Time Title Location
-------------------- ---------------------------------- ----------------------------------------
11:00 - 11:30 AIスクール | 講座開発チーム 定例 https://meet.google.com/xxx-xxxx-xxx
15:00 - 16:00 個別相談(クライアントA) https://meet.google.com/yyy-yyyy-yyy
特定の日付範囲を指定したい場合は --from / --to を使います。
# 来週1週間の予定を確認
gog calendar events --from "2026-04-07" --to "2026-04-13"
JSON出力でClaude Codeに処理させる
Claude Codeに予定の内容を解析させたい場合は --json フラグを付けることで、構造化されたJSONデータを出力できます。
gog calendar events --today --json
出力されたJSONをClaude Codeに渡すと、「今日14時から会議があります。議事録のテンプレートを用意しますか?」といった次のアクション提案が可能になります。
–allオプションで複数カレンダーの予定もまとめて取得する
--all は「終日イベントを含める」ためのオプションではなく、複数アカウント・複数カレンダーのイベントを1回のコマンドでまとめて取得するオプションです。終日イベント自体は、指定した期間に含まれていれば --all を付けなくても通常の取得結果に含まれます。
gog calendar events --today --all
社内の複数メンバー・複数カレンダーの予定を横断して確認したいときに使います。ただし対象の日付範囲が広いと、APIの返却件数の上限によって一部の予定が欠落することがあるため、空き時間の確認など正確性が必要な場面では、1日〜数日単位に区切って取得するのが安全です。
ポイントgogcliの
--json出力は、Claude Codeが自律的に予定内容を判断して次のアクションを実行するための基盤になります。たとえば「会議の30分前にアジェンダを自動生成する」といった高度な自動化も、このJSONをトリガーとして実現できます。
ステップ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形式(RFC3339形式・YYYY-MM-DDTHH:MM:SS)で指定します。タイムゾーンを指定しない場合は端末のローカルタイムゾーンが適用されます。
Google Meetリンクを自動生成する
オンライン会議で使うGoogle Meetリンクを自動生成するには --with-meet オプションを付けます。
gog calendar create primary \
--summary "クライアントAとの打ち合わせ" \
--from "2026-04-02T10:00:00" \
--to "2026-04-02T11:00:00" \
--with-meet
実行後、作成された予定のURLとGoogle MeetリンクがCLIに出力されます。招待メールとともにMeetリンクが相手に通知されます。
リマインダーを設定する
予定の前にポップアップリマインダーを設定するには --reminder オプションで「通知方法:時間」の形式(例: popup:30m)を指定します。最大5件まで指定できます。
gog calendar create primary \
--summary "重要な商談" \
--from "2026-04-03T15:00:00" \
--to "2026-04-03T16:00:00" \
--reminder popup:30m
上記の例では予定開始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" --with-meet
招待されたユーザーには自動的にGoogleカレンダーへの招待メールが送信されます。承諾・辞退・未確定のステータスもCalendar APIを通じて確認できます。
複数名への一括招待
複数の参加者を招待するには、メールアドレスをカンマ区切りで列挙します。
gog calendar create primary \
--summary "プロジェクトキックオフ" \
--from "2026-04-07T10:00:00" \
--to "2026-04-07T11:00:00" \
--attendees "user1@example.com,user2@example.com,user3@example.com" \
--description "新プロジェクトの開始セッション。参加者全員の自己紹介と目標設定を行います" \
--with-meet
あるAI顧問サービスでは、複数のクライアントとのSlackチャンネルに対してgogcliとSlack APIを組み合わせ、来週の日程調整メッセージをClaude Codeから一括送信する仕組みを構築しました。参加者IDを自動検索し、Google Meetリンク付きの招待と合わせてメッセージを送ることで、手動の日程調整にかかっていた時間を短縮しています。
招待後の確認コマンド
作成した予定に対して参加者のステータスを確認するには以下のコマンドを使います。
# 特定日の予定詳細を確認
gog calendar events --from "2026-04-04" --to "2026-04-04" --json
JSON出力の中に attendees フィールドが含まれており、各参加者のresponseStatus(accepted/declined/needsAction)が確認できます。
AI導入に関するお困りごとは、株式会社NexaのAI顧問がサポートします。「何から始めればいいか分からない」という段階からご相談いただけます。
ステップ4 — cronで毎朝の予定を自動通知する
cronジョブの設計(何をいつどこに通知するか)
gogcliとClaude Codeを活用した業務自動化の中でも、特に効果が高いのが「毎朝の予定通知」です。
あるClaude Codeユーザーは、毎朝Googleカレンダーから今日の予定を自動取得して、Slackチャンネルへ通知するcronジョブを構築しました。hermes(Claude Code/Codexを常駐させて定期実行を任せられるAIエージェント基盤)のcronジョブ機能を使い、以下のような設計にしています。
| 項目 | 設定内容 |
|---|---|
| スケジュール | 30 7 * * *(毎日7:30 JST) |
| 実行内容 | gog calendar events --today --all で今日の予定を全カレンダーから取得 |
| 通知先 | Slackチャンネル(自分専用の記録用チャンネル) |
| モデル | 軽量設定のモデル(応答速度を優先) |
| タイムアウト | 実行内容に応じて数十秒〜数分を確保 |
通知されるメッセージの形式は次のようになります。
📅 今日の予定(2026年3月2日 月曜日)
- 11:00〜11:30 AIスクール | 講座開発チーム 定例 (Meet付き) ✅ 終了済み
- 15:00〜16:00 個別相談(クライアントA)(Meet付き)
Slack通知の実装(curl + Slack API直接呼び出し)
cronジョブからSlackへ通知する際は、プラットフォームの配信機能(通知先チャンネルの指定)を使うのが基本です。ただし、Bot Tokenの権限や対象チャンネルへの招待設定に不備があると、配信に失敗することがあります。
その切り分けとして、エージェント自身にcurl経由でSlack APIを直接呼び出させる方式に変更すると、トークンや権限の状態を確認しながら通知できるため、原因の特定がしやすくなります。
# エージェントが実行する処理イメージ
# 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": "C0XXXXXXX",
"text": "📅 今日の予定を確認しました...[整形済みの予定リスト]"
}'
ポイント通知が届かない場合、原因の多くはBot Tokenのスコープ不足か、Botが対象チャンネルに参加していないことです。
chat.postMessageがchannel_not_foundを返したときは、まずBotをチャンネルに招待したうえで、トークンのスコープ(chat:write)を確認してください。
ジョブのテスト実行と確認
cronジョブが正しく動作するかを確認するには、設定後すぐにテスト実行を行います。hermesの場合は次のコマンドで、スケジュールを待たずにジョブを1回実行できます。
# hermes CLIでcronジョブをテスト実行
hermes cron run daily-calendar-notify
実行後、設定した通知先にメッセージが届けば成功です。設定に問題がある場合は hermes cron list でジョブIDを確認したうえで、hermes cron runs <ジョブID>(実行履歴)でエラー内容を確認できます。
よくある質問
Q. gog calendar eventsコマンドで取得できる予定の範囲は?
--today オプションで当日のイベントを取得できます。--from / --to を使えば任意の日付範囲を指定できます。--all を付けると複数カレンダーの予定もまとめて取得できます。デフォルトでは最大10件まで取得されるため、件数を増やしたい場合は --max オプションを指定してください。
Q. 取得した予定をSlackへ通知するには?
2通りの方法があります。①hermesのような常駐型AIエージェントのcronジョブとして設定し、エージェントがgogcliで取得した予定をSlack APIで通知する方法、②Claude Codeのスクリプトとしてlaunchdやcrontabで定期実行する方法。どちらもSlack Bot Tokenが必要です。
Q. cronジョブがうまく動かないときは?
主な原因は3つです。①gog コマンドのパスが解決できない(which gog で調べた絶対パスをcronの実行コマンドに使う)、②OAuth認証が失効している(gog auth status で状態を確認し、必要なら gog auth manage で再ログインする)、③Slack Bot Tokenのスコープが不足している(chat:write などの権限を確認する)。実行履歴やログのエラーメッセージに従って対処してください。
Q. 予定の変更・削除はできる?
できます。gog calendar update <calendarId> <eventId> で既存予定の内容を変更でき、gog calendar delete <calendarId> <eventId> で削除できます。eventId は gog calendar events --json の出力に含まれる id フィールドから取得します。
Q. 自分以外のカレンダー(共有カレンダーなど)を指定して操作するには?
gog calendar calendars で、アクセス権のあるカレンダーのID一覧を確認できます。取得したIDを create / freebusy / update / delete などのコマンドの calendarId 引数に渡すことで、primary(自分のメインカレンダー)以外のカレンダーも操作対象にできます。
\ AI活用の「次の一手」を一緒に考えませんか /
AI顧問の無料相談はこちらまとめ
gogcliの gog calendar コマンドを使うと、Claude CodeからGoogleカレンダーの操作をコマンド1行で実現できます。本記事で解説した主な内容を整理します。
| コマンド | 用途 | 主要オプション |
|---|---|---|
gog calendar events |
予定取得 | --today, --from, --to, --json, --all |
gog calendar create |
予定作成 | --summary, --from, --to, --with-meet, --reminder |
--attendees |
参加者招待 | カンマ区切りでメールアドレス複数指定可 |
gog calendar freebusy |
空き時間確認 | --from, --to |
gog calendar update / delete |
予定の変更・削除 | <calendarId> <eventId> を指定 |
cronジョブとSlack API通知を組み合わせることで、「毎朝決まった時間に今日の予定をSlackで確認する」という自動化が数十分で実装できます。
まずは gog calendar events --today を実行して、gogcliでのカレンダー取得を体験してみてください。gogcliのインストールや初期設定についてはgogcli入門 — Claude CodeからGoogle Workspaceを丸ごと操作するをご参照ください。
法人向けAI導入・活用の月額伴走サービス
AI導入の疑問を、週1回のMTGで相談できる「AI顧問」
株式会社Nexaでは、ChatGPT・Claude・Claude CodeなどのAI導入に関する質問や、社内活用・業務自動化の進め方を週1回相談できる 月額7万円(毎月3社限定で月額5万円)のAI顧問サービス を提供しています。
「自社では何から始めるべきか」「この業務はAI化できるか」「どのツールを選ぶべきか」を、無料相談で整理します。
AI導入を検討中の方へ









