Googleカレンダーに面接日程を自動登録する方法|GASとClaudeで手入力をなくす【設計ガイド付き】

面接日時を控えている場所から、GASとClaudeが日時を読み取ってGoogleカレンダーに自動で登録する仕組みを紹介します。AIに渡せる設計ガイド付き。

初めまして。株式会社Jinouの三輪です。グループ会社の人材紹介の現場で実際に使っているAIの活用方法を紹介するシリーズ、今回のテーマは面接日程のカレンダー登録です。

この記事も、"人間用"と"AI用"の2部構成です。まずは人間用の記事で仕組みをざっくりつかんでください。やってみたいと思ったら、記事後半の「AI用ガイド」をあなたのAIに渡せば、あなたの環境に合わせた作り方を一緒に考えてくれます。

【AI初心者向けの簡単解説!!】面接日程をカレンダーに自動登録する方法!!

面接日程を、毎回カレンダーに打ち込んでいませんか?

企業から面接の日程が決まったと連絡が来たら、CRMやメモに控えて、自分のカレンダーにも予定を入れる。求職者の名前、企業名、一次面接か二次面接か、日時、オンラインならURL……。

一つひとつは、すぐ終わる作業です。でも、面談の合間に連絡が来ると、「あとで入れよう」と思っているうちに忘れてしまう。日時を打ち間違えて、別の予定と重ねてしまう。そんなヒヤッとすることも、正直ありました(笑)。

CRMに書いた面接日時が、勝手にカレンダーに入る

今回紹介するのは、ふだん面接日時を控えている場所から、GASとClaudeが日時を読み取って、Googleカレンダーに自動で予定を入れる仕組みです。

僕の場合は、CRMの中に面接の日時を書いています。そこに書いておくだけで、少し待つと、Googleカレンダーに「求職者の名前・企業名・面接」の予定が入っている。自分でカレンダーを開いて打ち込む必要はありません。

控えている場所は、何でもOK

面接日時をどこに控えているかは、会社や人によって違いますよね。

  • CRM(顧客管理システム)
  • Trello などのタスク管理ツール
  • Googleスプレッドシート
  • Notion

僕も、CRMで使うときもあれば、Trelloで同じやり方をしていたこともあります。仕組みはどれでも同じです。ふだん使っている場所から日時を取り出せれば、そこを起点にできます。

仕組みを図で解説

日時を控える、GASが拾う、Claudeが整える、Googleカレンダーに登録する4ステップ

流れはシンプルです。

  • GASが、面接日時を控えている場所を定期的に見に行く。 GAS(Google Apps Script)は、Googleが無料で提供している自動化の仕組みです。以前紹介した面談記録の記事でも使いました。
  • Claudeが、書かれた日時を読み取って整える。 「10/15 14時〜」「来週火曜の午後2時」のような書き方のばらつきを、カレンダーに入れられる形に整えます。
  • GASが、Googleカレンダーに予定を作る。 予定の名前に求職者の名前を入れておけば、カレンダーを見ただけで誰の面接か分かります。

つまり、「控える → GASが拾う → Claudeが整える → カレンダーに入る」という流れです。

実際に、テスト用のシートとカレンダーで動かしてみた様子がこちらです(名前や会社名はすべて架空です)。

面接日時を控えるスプレッドシートです。「10/20 14時」「来週あたり」のように、書き方がばらばらでも大丈夫。GASが処理すると、右の「登録状況」に「登録済み」や「確認待ち」が自動で入ります。

面接日時を控えたスプレッドシート。登録状況に「登録済み」「確認待ち」が自動で入る(架空データ)
面接日時を控えたスプレッドシート。登録状況に「登録済み」「確認待ち」が自動で入る(架空データ)

カレンダーには、こんなふうに予定が入ります。「来週あたり」のように日時がはっきりしない面接は、登録されずに確認待ちのまま残ります。一番右(金曜日)の予定は、後で紹介する「終日」の欄に入れる形です。

Googleカレンダーに自動で入った面接の予定(架空データ)
Googleカレンダーに自動で入った面接の予定(架空データ)

ちなみに、ここで使うClaudeは、一番安い「Haiku」というモデルで十分です。日時を読み取って整えるくらいの仕事なら、高いモデルを使う必要はありません。料金もほとんどかからないので、気軽に始められます。

一番の価値は、入れ忘れと打ち間違いがなくなること

手作業でのカレンダー入力と、控えた日時を自動登録する流れの比較

面接日程のカレンダー登録は、作業としては小さなものです。でも、入れ忘れや打ち間違いは、求職者にも企業にも迷惑がかかる、大きなミスにつながります。

自動で入るようになると、「控えたら、カレンダーにも入っている」が当たり前になります。面談の合間に日程の連絡が来ても、控えるところにだけ書けばいい。あとでまとめてカレンダーに入れる手間も、入れ忘れの心配もなくなります。

うまく使うためのコツ

① 控える場所を一つに決める

面接日時を書く場所があちこちに散らばっていると、GASが拾えません。CRMならCRM、スプレッドシートならスプレッドシートと、控える場所を一つに決めておきましょう。

② 予定の名前に入れる内容を決めておく

カレンダーの予定の名前を「【面接】山田様|〇〇株式会社|一次」のように決めておくと、一目で分かって便利です。オンライン面接のURLや場所も、予定の説明欄に入れておけます。

③ 日時があいまいなものは、確認待ちにする

「来週あたり」のように日時が決まっていないものまで、AIに推測させて登録すると危険です。日時がはっきりしないものは登録せず、確認待ちとして残す作りにしておきます。

④ 自分の予定と重なって見にくいなら、「終日」の欄に入れる

自分の予定も同じカレンダーに入れていると、面接の予定と時間帯が重なって、ごちゃごちゃして見にくくなりますよね。

僕はそうならないように、面接の予定は「終日」の欄に入れて、時刻は予定の名前に書くようにしています。たとえば「【面接】山田様|〇〇株式会社|一次|14:00〜15:00」のような形です。こうしておくと、自分の予定は時間の欄、面接は終日の欄と分かれて、一目で見分けられます。

配布コードでも、設定を1つ足すだけでこの形にできます(スクリプトプロパティに `ALL_DAY` を `true` で追加)。

⑤ 最初はテストで試す

いきなり本番のカレンダーに入れず、テスト用のカレンダーと架空の面接日時で、ちゃんと入るかを試してから使いましょう。

使うときに気をつけること

  • カレンダーの共有範囲に気をつける。 予定の名前に求職者の名前や企業名を入れるので、そのカレンダーを誰が見られるかを確認しておきましょう。
  • 同じ面接を二重に登録しない。 GASが定期的に見に行くので、一度登録した面接は二度目に入れない作りにしておきます。
  • 日時が変わったときの扱いを決めておく。 面接日程が変更になったときに、カレンダーの予定も直すのか、手で直すのかを決めておきましょう。

やってみたい方へ|AIと一緒に進める読み方

この先のAI用ガイドをコピペして、あなたの使っているChatGPT・Claude・Geminiなどに貼り付けてください。そのあとに「自分の環境で作りたい。面接日時は〇〇に控えている」と送れば、AIがあなたの環境に合わせて、作り方を一つずつ案内してくれます。

初心者向けの簡単解説はここまでです。 この後は、後半の「AIに渡す詳細資料」へ進みます。

AIに渡す詳細資料|AI用ガイド

ここから先は、AIに読ませるためのガイドです。 下のガイドを「コピー」ボタンでまるごとコピーして、普段使っているAIに貼り付けてください。

AI用ガイドこのまま全部コピーして、AIに貼り付けてください。
# AI用ガイド:面接日時を、控えている場所からGoogleカレンダーへ自動登録する(GAS+Claude)

このガイドは、利用者がChatGPT・Claude・GeminiなどのAIに貼り付けて使うためのものです。読んでいるAIは、この設計に沿って、利用者の環境に合わせた仕組みづくりを案内してください。

- 版:キャリアド記事(ガイド更新 2026-10-14・配布コード付き)
- 筆者の運用:面接日時をCRMに控え、GASで抜き出し、Claude(Haiku)で日時を整えて、Googleカレンダーの予定名に求職者名を入れて登録している。Trelloを起点に同じ仕組みで動かしていたこともある。
- **Googleスプレッドシートに控える場合は、配布コード(InterviewCalendar.gs/同じ内容の InterviewCalendar.txt)がそのまま使える**(2026-10-14 実機確認)。シートの見出し・スクリプトプロパティ・実行手順は配布セットの README.txt に従う。利用者がほかの場所に控えていても、スプレッドシートに控える運用に変えられるなら、それが一番かんたん。
- CRM・Trello・Notion など、ほかの場所から直接読み取りたい場合は、配布コードの「シートを読む部分」(icSheet_ と icRun_ の行の読み取り)を、その場所の読み取りに作り替える。日時の整形・二重登録防止・確認待ちの扱いはそのまま使える。作り替えた部分は検証の対象外なので、架空データで必ず確認する。

---

## 0. AIへの指示(最初に必ず読む)

1. 手順は**一度に一つずつ**案内する。各ステップのあと、利用者の画面の表示を確認してから次へ進む。
2. **日時を推測で埋めない。** 日付・時刻がはっきりしないもの(「来週あたり」「午後」だけ、など)は登録せず、確認待ちとして残す。
3. **同じ面接を二重に登録しない。** 登録済みかを判定できる仕組みを必ず入れる(第3章)。
4. 最初は**テスト用のカレンダー**と**架空の面接データ**で試す。本番のカレンダーには、動作を確かめてから切り替える。
5. APIキーなどの秘密の値はチャットに貼らせない。GASのスクリプトプロパティに利用者本人が入力し、保存してもらう。
6. 予定の名前に求職者名・企業名が入るので、カレンダーの共有範囲を利用者に確認してもらう。
7. ログイン・権限の許可・キーの作成など、本人がすべき操作は本人にしてもらう。

---

## 1. 仕組み

```
面接日時を控える場所(CRM/Trello/スプレッドシート/Notion など)
  → GAS が定期的に読みに行く(時間主導型トリガー。例:15分ごと)
  → 新しい・変わった面接だけを取り出す
  → Claude API(Haiku)が、書かれた日時を決まった形に整える
  → GAS が Google カレンダーに予定を作る
  → 登録した記録を残し、次回は二重に登録しない
```

- Claude のモデルは**一番安い Haiku で十分**(日時の読み取りと整形だけのため)。2026年10月時点の例:`claude-haiku-4-5-20251001`。最新のモデル名は Anthropic の公式のモデル一覧で確認する。
- 控える場所の日時が最初から決まった形(例:スプレッドシートの日付・時刻の列)で入っているなら、Claude を使わずに GAS だけで登録してもよい。書き方がばらつく自由記述のときに Claude が役に立つ。

---

## 2. 最初に利用者へ聞くこと

1. 面接日時をどこに控えているか(CRM・Trello・スプレッドシート・Notion・その他)。その場所から外部(GAS)が情報を読み取れるか(API・連携機能・共有設定)。
2. 1件の面接について、どんな情報が控えてあるか(求職者名・企業名・選考の回・日時・場所またはURL・担当者など)。日時はどんな書き方か。
3. 登録先の Google カレンダー(自分のカレンダーか、チームの共有カレンダーか)。誰がそのカレンダーを見られるか。
4. 予定の名前の付け方の希望(例:「【面接】山田様|〇〇株式会社|一次」)。自分の予定も同じカレンダーに入っていて、時間帯が重なると見にくい場合は、**終日の予定として入れ、時刻を予定名に書く**形(例:「…|一次|14:00〜15:00」)も提案する。配布コードではスクリプトプロパティ `ALL_DAY` を `true` にするとこの形になる。
5. 日程が変更・取り消しになったときに、カレンダーの予定も自動で直したいか、手で直すか。
6. Claude Console のアカウントと支払い設定があるか(Claude のチャットの有料プランとは別の従量課金。なければ作成から案内する。済んでいると推測しない)。

---

## 3. 設計の決まり(どの控え場所でも守る)

- **面接ごとに一意のID**を決める。控え場所にIDがあればそれを使う(例:CRMの選考ID、Trelloのカードのid、スプレッドシートの行に付けたID列)。行番号や名前だけをIDにしない。
- **登録済みの記録**を残す。方法の例:
  - カレンダーの予定の説明欄やタグ(`setTag`)に面接IDを入れ、次回はそのIDの予定があるか探す。
  - または、GAS のスクリプトプロパティや管理用シートに「面接ID → カレンダーの予定ID」を記録する。
- **日時の整形結果を確認する**:Claude には、決まった形(例:JSON で `{"start":"2026-10-15T14:00:00+09:00","end":"2026-10-15T15:00:00+09:00","status":"ok"}`、決まっていなければ `{"status":"unclear"}`)だけで返すよう指示し、GAS 側で形式と値(過去の日時でないか、開始<終了か)を確認してから登録する。確認できないものは登録しない。
- **終了時刻**が書かれていない場合の扱い(例:1時間とする)を利用者と決める。
- **タイムゾーン**は日本時間(Asia/Tokyo)を明示する。
- **日程の変更**:同じ面接IDで日時が変わっていたら、既存の予定を更新するか、利用者に知らせるかを決めておく。勝手に削除しない。
- 1回の実行で処理する件数に上限を設け、ログに個人情報を出しすぎない(求職者名をログに出すかは利用者と決める)。

---

## 4. 作り方の流れ(一度に一つずつ)

1. **テスト用の Google カレンダーを作る**(Googleカレンダーの「他のカレンダー」→「新しいカレンダーを作成」)。カレンダーIDを控える(設定の「カレンダーの統合」にある)。
2. **控え場所に、架空の面接データを2〜3件用意する**(例:「山田テスト様/〇〇株式会社/一次/10月15日14時」、日時があいまいな1件も入れておく)。
3. **GAS の新しいプロジェクトを作り、名前をテスト用と分かるものに変える。**
4. **控え場所を読み取る部分を作る**(利用者の控え場所に合わせて AI がコードを書く。例:スプレッドシートなら `SpreadsheetApp`、Trello・Notion・CRM なら各サービスの API を `UrlFetchApp` で呼ぶ)。読み取れた件数だけをログに出して確認する。
5. **Claude で日時を整える部分を作る**(第3章の形式で返させ、GAS 側で確認する)。架空データで、整形結果が正しいか、あいまいな1件が `unclear` になるかを確認する。
6. **テスト用カレンダーに登録する部分を作る**(`CalendarApp.getCalendarById(カレンダーID).createEvent(...)`)。予定の名前・説明欄・面接IDの記録が入るか確認する。
7. **もう一度実行して、二重に登録されないことを確認する。**
8. **時間主導型トリガーを設定する**(例:15分ごと)。「実行数」で完了していることを確認する。
9. 問題がなければ、**本番のカレンダーと本番の控え場所に切り替える**。

APIキーなどは、コード本文ではなく「プロジェクトの設定」のスクリプトプロパティに利用者本人が入力して保存する。

---

## 5. 控え場所ごとの注意

- **Googleスプレッドシート**:いちばん作りやすい。GAS 標準の `SpreadsheetApp` で読める。面接ID列と「登録済み」列を足すと管理しやすい。
- **Trello**:カードのタイトル・説明・期限(due)に日時が入っていることが多い。API キーとトークンが必要。カードの id を面接IDに使える。
- **Notion**:データベースの日付プロパティに入っていれば読み取りやすい。インテグレーション(接続)とデータベースへのアクセス許可が必要。
- **CRM**:外部から読み取れる API や連携機能があるかを確認する。なければこの仕組みは使えないので、スプレッドシートなどに控える運用を検討する。

---

## 6. 困ったとき

| 状況 | 対処 |
|---|---|
| 予定が二重に入った | 面接IDの記録・照合が働いているか確認。テスト用カレンダーで重複を消してから直す |
| 日時がずれている | タイムゾーン(Asia/Tokyo)の指定、Claude の返した日時の形式を確認 |
| あいまいな日時が登録された | Claude の指示と、GAS 側の `status` の確認を見直す。`unclear` は登録しない |
| 控え場所を読めない | API キー・トークン・アクセス許可・共有設定を確認 |
| Claude HTTP 401 / 400 | キーの誤り・期限切れ、または支払い設定(クレジット)を確認 |
| 何も登録されない | 読み取れた件数、整形結果、登録済み判定のどこで止まっているかをログで順に確認 |

AIに渡す詳細資料はここまでです。

この記事のまとめ

最後に、この記事の内容を振り返っておきます。

この記事で紹介したのは、面接日時を控えている場所から、GASとClaudeが日時を読み取って、Googleカレンダーに自動で予定を入れる仕組みです。 控える場所はCRMでも、Trelloでも、スプレッドシートでもNotionでも、仕組みは同じです。Claudeは一番安いHaikuで十分なので、料金もほとんどかかりません。

一番の価値は、入れ忘れと打ち間違いがなくなること。「控えたら、カレンダーにも入っている」が当たり前になります。

面談記録の自動化、circusへの登録と組み合わせれば、面談から面接の調整まで、手で転記する作業がかなり減ります。ぜひ試してみてください!

面接の日程を、AIが読み取りやすい場所にまとめたい方へ

この仕組みは、面接日時がどこに控えてあるかがはっきりしていることが前提です。求職者の情報や選考の状況が一か所にまとまっていると、自動化はぐっと簡単になります。

弊社で開発している「キャリアドCRM」は、人材紹介会社のためのCRMです。求職者の情報や面談の記録を一か所で管理できます。MCPという仕組みでClaudeやChatGPTとつなぐこともでき、AIがキャリアドCRMの情報を読み取って、さまざまな作業に使えます。僕たちも、CRMに控えた面接日時をもとに、カレンダーに自動で登録しています。

利用には費用がかかりますが、導入時の設定や、運用中に困ったときの対応についてもご相談いただけます。

キャリアドCRMの詳細を見る