Operations Manual

採用オファー自動化システム
運用マニュアル

株式会社ファーストコンテック 向け / 株式会社homula 作成
VERSION
Phase 1.1
対象媒体
OfferBox(UIリニューアル対応)
作成日
2026年6月 改訂

目次

はじめに
  • 1システム概要
  • 2担当者の役割
① 初期設定(クライアント追加時に1回)
  • 3共通の準備(スプレッドシート・保存検索条件)
  • 4初回オファーの設定
  • 5承認オファーの設定
  • 6再オファーの設定
② 運用時
  • 7承認リストの確認と対応(毎日)
  • 8プロンプトのチューニング
  • 9再オファーの運用
エラー対応
  • 10エラー対応
1
システム概要

本システムは、OfferBox上の候補者に対してAIが個別最適化されたスカウトメッセージを自動生成し、品質チェックを通過したメッセージを送信する採用自動化システムです。候補者の抽出・生成・送信は定期実行(cron)で自動化されており、担当者は主に「承認リストの確認」「プロンプトのチューニング」「初期設定」に関与します。

システム構成(1社あたりに必要なもの)

1社(クライアント企業)ごとに、初回オファー・承認オファー・再オファーの3つを用意します。それぞれが独立したn8nワークフローRobocorpプロセスを持ちます。記録用スプレッドシートだけは会社単位で1つを共通利用します。

1社単位の採用オファー自動化ツール 初回オファー n8n ワークフロー(【複製用テンプレート】OfferBox 初回オファー) Robocorp プロセス(初回オファー) 承認オファー n8n ワークフロー(【複製用テンプレート】OfferBox 採用オファー - 承認後の自動送信) Robocorp プロセス(承認オファー) 再オファー n8n ワークフロー(【複製用テンプレート】OfferBox再オファー) Robocorp プロセス(再オファー) 📊 記録用スプレッドシート 会社単位で1つ (3つのオファーで共通) n8n ワークフロー Robocorp プロセス 記録用スプシ(3オファー共通)

全体の流れ

1
初回オファーの定期実行(システム)
Robocorpがcronで自動起動 → OfferBoxの「【送信用】=オファー可能のみ」の保存検索条件から候補者を抽出
2
メッセージ生成・品質スコアリング(システム)
n8n上でAIがメッセージを生成 → 0〜100点で品質スコアリング
3
スコアによる振り分け(システム)
80点以上は自動送信/50〜79点は承認リスト(スプレッドシート)へ/49点以下は自動NG
4
承認リストの確認・承認(担当者)
スプレッドシートで50〜79点のメッセージを確認し、承認(Approved)/却下(Rejected)を判断
5
承認分の自動送信(システム)
承認オファーのRobocorpが定期的に承認リストをポーリングし、Approvedのメッセージを自動送信
日々の担当者の作業は「承認リストの確認・承認」だけです。抽出・生成・送信はすべて定期実行で自動化されます。
2
担当者の役割
担当者がやること
  • 承認リスト(スプレッドシート)の確認・承認/却下
  • プロンプトのチューニング
  • 保存検索条件「オファー可能のみ」の維持
  • 初期設定(クライアント追加時のみ)
システムが自動でやること
  • 定期実行(cron)での候補者抽出
  • AIによるメッセージ生成
  • 品質スコアリング(0〜100点)
  • 80点以上の自動送信
  • 承認分のポーリング送信
  • 送信ログの記録

スコア帯別の自動処理

スコア 処理 担当者の対応
80〜100点 自動送信 対応不要
50〜79点 承認リストに追加 スプレッドシートで確認・判断
49点以下 自動NG(送信なし) 対応不要
承認リストでApprovedに変更したメッセージは、次のポーリングのタイミングで自動送信されます(担当者が送信ボタンを押す必要はありません)。
🛠️
Phase ①
初期設定 — クライアント追加時に1回
新しいクライアント企業を追加するときに1回だけ実施します。順番は 3章(共通の準備)→ 4章(初回)→ 5章(承認)→ 6章(再オファー)。スプレッドシートのSheetIdを各n8nワークフローで使うため、必ず3章を先に行ってください。
3
共通の準備(スプレッドシート・保存検索条件) 初回のみ

初回・承認・再オファーの3つで共通して使う「記録用スプレッドシート」と「保存検索条件」を最初に用意します。

① スプレッドシートの複製(会社単位で1つ)

このスプレッドシートは承認リスト・送信ログとして使い、初回・承認・再オファーの3つで共通利用します。

  1. 以下のURL(Googleドライブのフォルダ)にアクセス
    https://drive.google.com/drive/folders/15duDiNpR3voiGsN4rp57NTlah7mwiuPb
  2. 【複製用テンプレート】offerbox-新卒_送信リスト」を右クリック →「コピーを作成」で複製
  3. 複製したファイル名の【】の中にクライアント企業名を記入
    例:【ファーストコンテック】offerbox-新卒_送信リスト
  4. 複製したスプレッドシートを開き、URLからSheetIdを控える(各n8n設定で使用)
    📍SheetIdはスプレッドシートURLの一部です:
    https://docs.google.com/spreadsheets/d/【ここがSheetId】/edit#gid=0
    /d/」と「/edit」の間の文字列をコピーしてください。

② 保存検索条件の作成(オファー可能のみ)

システムは「【送信用】」という文字列を含む保存検索条件を自動で読み取り、対象候補者を処理します。定期実行が始まる前に必ず設定してください。

🚫
【最重要・UIリニューアル対応】OfferBoxのUIリニューアルにより、検索条件で「オファー可能のみ」に絞り込めるようになりました。送信対象は必ず「オファー可能のみ」で絞り込んでから保存検索条件として保存してください。絞り込まないと、すでにオファー済み・対象外の候補者にも処理が走ってしまいます。
命名ルール:【送信用】+任意の名前

例:
  • 【送信用】エンジニア_関東
  • 【送信用】営業_全国
  • 【送信用】2026卒_通常
🚫
注意:「【送信用】」を含む保存検索条件はすべて処理対象になります。不要なものは削除または名前を変更してください。
4
初回オファーの設定 初回のみ

初回オファー(候補者の抽出 → 生成 → 自動送信)の仕組みを用意します。n8nワークフローの複製 → Robocorpプロセスの作成(認証・スケジュール設定)の順で行います。

① n8nワークフローの複製

  1. https://ttt3.app.n8n.cloud にアクセス
  2. Workflows」一覧で「【複製用テンプレート】OfferBox 初回オファー」の右端「」→「Duplicate」をクリック
  3. コピーされたワークフローの名前をクライアント企業がわかる名前に変更
    例:OfferBox 初回オファー_ファーストコンテック
  4. 会社情報入力」ノードを開き、companyNamecompanyIntroSheetId(3章で取得)を設定
  5. 右上の「Publish」をクリック
変更後は必ず「Publish」を押してください。Publishしないと変更が反映されません。

② Robocorpプロセスの作成と認証設定

  1. https://cloud.robocorp.com にログイン →「Unattended」→「Processes
  2. New Process」をクリックし、初回オファー用とわかる名前を付ける
    例:offerbox_初回_ファーストコンテック
  3. step」に次を追加(stepは1つでOK):
    offerbox-playwright  Extract And Send OfferBox Profiles
  4. Environment Variables」に以下を設定:
    キー名 内容
    MAX_PROFILES 1回の実行で処理する候補者数の上限
    OFFERBOX_EMAIL OfferBoxのログインメールアドレス
    OFFERBOX_PASSWORD OfferBoxのパスワード
    N8N_WEBHOOK_URL 初回オファー用n8nのWebhook URL(Production URL)
    N8N_SUCCESS_LOG_WEBHOOK_URL 送信成功ログ記録用のn8n Webhook URL
    📍Webhook URLは、n8n側の該当ノードを開いて「Production URL」をコピーして取得します。n8nの先頭ノードは、環境変数のキー名と同じ名前にしています(N8N_WEBHOOK_URL など)。名前が似ていて紛らわしいですが、同じキー名のノードからURLを取得してください。
  5. Stepsを設定したタブの隣にある「Schedule」タブをクリックし、「Schedule the Process」を選択して実行スケジュールを設定
    type は interval(一定間隔で実行)でも可ですが、Weekday を選び、毎週の各曜日と実行時刻を指定するのがおすすめです。
    実行回数を増やすほど各種の従量課金がかさみます。多くても平日(月〜金)で1日1回・週5回程度の起動がおすすめです。
    また、できる限り実行時間帯が分散できるのが好ましいです。月曜の10時に、今後も増えていくすべての会社を一斉に実行すると、OfferBox側のサーバーに負担をかけすぎる可能性があります。
定期実行を一時停止したい場合は、該当スケジュールをDisableにします(削除しなくても止められます)。実行結果は「Activity」タブで確認できます。
5
承認オファーの設定 初回のみ

50〜79点のメッセージは承認リスト(スプレッドシート)に入ります。担当者がApprovedにしたものを自動送信するため、承認オファー専用のn8nワークフローとRobocorpプロセスを用意し、定期的に実行します。

① n8nワークフローの複製

  1. https://ttt3.app.n8n.cloud にアクセス
  2. Workflows」一覧で「【複製用テンプレート】OfferBox 採用オファー - 承認後の自動送信」の右端「」→「Duplicate」をクリック
  3. コピーされたワークフローの名前をクライアント企業がわかる名前に変更
    例:OfferBox 承認後の自動送信_ファーストコンテック
  4. 会社情報・SheetId(3章で取得した共通スプレッドシート)を設定し、右上の「Publish」をクリック

② Robocorpプロセスの作成と認証設定

  1. https://cloud.robocorp.com →「Unattended」→「Processes」→「New Process」で、承認オファー用とわかる名前を付ける
    例:offerbox_承認_ファーストコンテック
  2. step」に次を追加(stepは1つでOK):
    offerbox-playwright  Send Scheduled Offers From Spreadsheet
  3. Environment Variables」に以下を設定:
    キー名 内容
    OFFERBOX_EMAIL OfferBoxのログインメールアドレス
    OFFERBOX_PASSWORD OfferBoxのパスワード
    N8N_SUCCESS_LOG_WEBHOOK_URL 送信成功ログ記録用のn8n Webhook URL
    N8N_SCHEDULED_WEBHOOK_URL 承認リスト送信用n8nのWebhook URL
    📍Webhook URLは、n8n側の該当ノードを開いて「Production URL」をコピーして取得します。n8nの先頭ノードは、環境変数のキー名と同じ名前にしています(N8N_SCHEDULED_WEBHOOK_URL など)。名前が似ていて紛らわしいですが、同じキー名のノードからURLを取得してください。
  4. Stepsを設定したタブの隣にある「Schedule」タブをクリックし、「Schedule the Process」を選択してスケジュールを設定します。
    設定項目
    type interval
    Interval in Seconds 86400(24時間)
    初回起動を行った時刻に毎日起動し、承認リスト(Approved)のメッセージが送信されます。

送信の判定ルール

複製したスプレッドシートの「承認待ちリスト」タブにアクセスしてください。このリストには、品質スコアが50〜79点で、人による確認が必要なメッセージの対象がピックアップされています。対象のレジュメとメッセージを確認し、送信して問題なければ C列の status を「Approved」 にすると、次回の実行時に送信されます。送信不要なものは「Rejected」にしてください。

承認リストのステータス ポーリング時の動作
Approved OfferBoxへ自動送信
Manual 手動オファー想定のため送信スキップ
(未承認・空欄) 送信されない(次回以降に持ち越し)
担当者が承認リストでApprovedにしておけば、次回の実行時に自動で送信されます。送信操作は不要です。
6
再オファーの設定 初回のみ新機能

再オファーは、初回オファーで返信がなかった候補者へもう一度届ける仕組みです。初回・承認とは別のn8nワークフロー・別のRobocorpプロセスで動き、スプレッドシートは3章で複製した共通のものを使用します。

🚧
本機能は現在開発中です。完成でき次第、本章に詳細手順を加筆します。本マニュアル時点では、判明している複製テンプレート名と設定の枠組みのみ記載します。

① n8nワークフローの複製

  1. https://ttt3.app.n8n.cloud にアクセス
  2. Workflows」一覧で「【複製用テンプレート】OfferBox再オファー」の右端「」→「Duplicate」をクリック
  3. クライアント企業がわかる名前に変更し、会社情報・SheetId(共通スプレッドシート)を設定して「Publish

② Robocorpプロセスの作成

  1. https://cloud.robocorp.com →「Unattended」→「Processes」→「New Process」で、再オファー用Processを作成
  2. step」を設定(※step名・Environment Variablesは開発完了後に加筆)

再オファーの分岐(仕組みの考え方)

未読か既読か」、既読なら「辞退理由の有無」で、文面の作り方が3パターンに分かれます。生成・品質チェック・承認の仕組みは初回オファーを流用します。

パターン 対象 文面の作り方
パターン0 未読(まだ開かれていない) 冒頭フック(最初の1〜2行)だけ差し替えて開封を促す。本文は初回を流用
パターン1 既読・辞退理由あり 辞退理由ごとに会社が決めた「固定文」を送る(送る/送らないも会社設定)
パターン2 既読・辞退なし(未返信) 初回+レジュメをもとにAIが角度を変えて本文を生成

会社ごとの設定(辞退理由ルール)

複製したスプレッドシートの「再送設定」タブにアクセスしてください。辞退理由ごとに「送る/送らない」と、送る場合のオファー文を設定できます。必ず本実行の前に入力してください。送る場合は TRUE、送らない場合は FALSE を入力します。

辞退理由 送る? 送る場合の方針
就活終了予定 / 志望業界ではない / 企業理念・社風に魅力なし 送らない
希望する待遇ではない 送る 働き方・キャリアの将来価値を伝える固定文
志望職種ではない 送る 仕事の意義・職種の実態を伝える固定文
志望勤務地ではない 送る 勤務地の選択肢・配属の柔軟性を伝える固定文(事実の範囲で)
企業規模・上場区分が希望と違う 送る 成長・裁量(規模より任される環境)を伝える固定文
オファーされた理由が分からない 送る(AI) 固定文ではなくAIが生成:レジュメから「なぜあなたにオファーしたか」を再提示
その他 / 自由記述 AIが判断 上記から最も近いものを適用
安全・ネガティブ回避:回復不能な辞退理由には送りません。前回の未返信や辞退には触れず、前回の訴求を否定せず、対比・煽り・卑屈な表現も使いません。判断が難しいものは承認リストに回ります。
🔄
Phase ②
運用時 — 日々・週次のルーチン
7
承認リストの確認と対応 毎日

初回オファーの抽出・生成・送信は定期実行で自動化されています。担当者の日々の作業は、承認リスト(スプレッドシート)の50〜79点を確認し、承認/却下を判断することです。

日次チェックリスト(所要時間:約10分)

Approvedにしたメッセージは、次のポーリング(5章)で自動送信されます。担当者が送信ボタンを押す必要はありません。

承認の判断基準(3択)

判断 操作 基準
OK Approved に変更 根拠が1つ以上あり、断定表現がなく、トーンに違和感がない
軽微な修正 10秒以内で修正→Approved 一文削除など軽微なもののみ。それ以外はNG
NG Rejected に変更 根拠がない・嘘っぽい・禁止領域に触れている。50〜59点は一括NG

スコア帯別バッチ承認

スコア帯 手順
75〜79点 最初の3件だけ目視 → 問題なければ残り一括承認
60〜74点 1件5秒ルールで目視。迷ったらNG
50〜59点 一括NG
8
プロンプトのチューニング 週1

メッセージの生成内容(自社紹介文・トーンなど)はn8nの「プロンプト構築」ノードで管理しています。品質管理のため、変更は週1回の固定枠で行ってください。

改善サイクル(週1回・所要約30分)

  1. 先週の承認リストでNG(Rejected)になったメッセージの理由Top3を確認
  2. プロンプトの該当箇所のみを修正(下記の手順)
  3. Publishして次回以降の実行に反映
都度の修正は品質管理が難しくなるため、プロンプト変更は週1回の固定枠でまとめて行ってください。

プロンプト構築ノードを開く

  1. https://ttt3.app.n8n.cloud にアクセス
  2. Workflows」から対象のワークフローを選択
    例:OfferBox 初回オファー_ファーストコンテック
  3. プロンプト構築」ノードをダブルクリックして開く
n8n — OfferBox 初回オファー_ファーストコンテック

時期判定
{}
プロンプト構築
← ダブルクリック
🌐
Claude API

変更できる項目

① 自社紹介文(定型文)を変更する

プロンプト構築 — コードエディタ
変更箇所(3行目〜)
const companyIntro = ` ★選考は1on1の面談形式。SPIやGDは一切なし!★ 必要なのは、あなたらしさだけです。 ... `;
✏️バッククォート(`)で囲まれた部分が自社紹介文です。この中身を書き換えてください。改行もそのまま反映されます。

② 時期別のトーンを変更する

プロンプト構築 — コードエディタ
変更箇所(periodStrategies)
const periodStrategies = { early: { tone: '丁寧で親しみやすく、プロセスを明確に説明する' }, mid: { tone: '積極的で前向き、スピード感を強調する' }, late: { tone: 'カジュアルで親しみやすく、人柄を重視する表現' } };
✏️early(4〜8月)、mid(9〜12月)、late(1〜3月)のtoneを変更できます。

保存してPublish

  1. コードを変更したら画面下の「Save」をクリック
  2. 画面右上の「Publish」ボタンをクリック
  3. 「Published」と表示されれば完了
Publish完了後、次回の実行から新しいプロンプトが適用されます。
9
再オファーの運用 新機能

再オファーの「仕組み」と「会社ごとの設定」は6章で行います。運用時は、辞退理由ルールの見直しと、承認リストでの確認が中心です。

運用時にやること

  1. 再オファーで生成されたメッセージのうち、承認リストに回ってきたもの(判断が難しいケース)を確認・承認/却下する
    承認・送信の仕組みは初回オファー(7章)と同じです。
  2. 辞退理由ルール(送る/送らない・固定文)を定期的に見直す
    返信状況を見て、固定文の表現や「送る/送らない」の判断を調整します。
🚧
※ 再オファー機能は開発中です。実行トリガー(いつ・どの頻度で送るか)を含む具体的な運用手順は、完成後にここへ加筆します。
🚨
Troubleshooting
エラー対応
10
エラー対応
🚨
重要:Control Roomで「Failed」が連続3件以上発生した場合は、その日の処理(定期実行を含む)を即時停止しhomulaに連絡してください。スケジュールはDisableで止められます。
症状 考えられる原因 対応
Failedが1〜2件 一時的な通信エラー 再度Runを押す(または次回の定期実行を待つ)
Failedが連続3件以上 OfferBoxのUI変更など 即時停止(スケジュールをDisable)→ homulaに連絡
候補者0件で完了 「【送信用】」保存検索条件が未設定/「オファー可能のみ」で0件 OfferBoxで保存検索条件と絞り込みを確認
定期実行が走らない スケジュールがDisable/設定ミス SchedulesでEnable状態とcron設定を確認
承認したのに送信されない 承認オファーのProcess停止/N8N_SCHEDULED_WEBHOOK_URL未設定 5章の承認オファー設定とEnvironment Variablesを確認
スプレッドシートに結果が来ない n8nとの連携エラー homulaに連絡