人材派遣会社で、派遣スタッフの勤怠の未提出と未承認を毎週拾い、事情を見て本人と派遣先の担当者のどちらに催促するかを決めて送る
派遣スタッフの勤怠のうち、未提出・未承認・差し戻しのものを毎週拾い、催促を本人と派遣先の担当者のどちらへ送るか、送らずに担当へ回すかを判定します。判定に沿って、決まった文面の催促を送ります。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- IT・SaaS/人材/物流
- 対象部門
- 総務
- 対象業務
- 内容確認・チェック/分類・仕分け
- 主な課題
- 人手が足りない/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 毎週月曜に、勤怠担当が勤怠の仕組みから前週の未提出・未承認・差し戻しの一覧を出す
- 1件ずつスタッフの一覧とコーディネーターのメモを開き、事情が書かれていないかを見る
- 未提出なら本人に、未承認なら派遣先の担当者に、差し戻しなら本人に、メールで連絡する
- 事情がありそうなものは、担当のコーディネーターにチャットで確かめる
- 連絡したことを、自分の手元の表に書く
- 締めの前の週は、これを毎日行う
- 自動勤怠の仕組みから、毎朝、勤怠の状態がスプレッドシートに書き出される
- 自動毎週月曜の朝(締めの前の週は毎朝)に Make のシナリオが動き、未提出・未承認・差し戻しの行を拾う
- 自動1件ずつ、スタッフの一覧、派遣先の承認者、コーディネーターのメモ、前回までの催促の記録を集める
- 自動Claude API に渡し、催促の相手と、送ってよいかの判定を JSON で受け取る
- 自動ルーターで判定ごとに分ける
- 自動本人への1回目・2回目の催促は、決まった文面で送る
- 自動派遣先への催促は Gmail の下書きにし、担当のコーディネーターに知らせる
- 自動事情があるもの・判定できないものは、担当のコーディネーターの確認の一覧に入れる
- 人コーディネーターが確認の一覧と派遣先への下書きを見て、送るか止めるかを決める
- 自動送ったこと、止めたこと、回したことを催促の記録に書く
各工程の詳しい説明を読む
- 毎週月曜に、勤怠担当が勤怠の仕組みから前週の未提出・未承認・差し戻しの一覧を出す
- 1件ずつスタッフの一覧とコーディネーターのメモを開き、事情が書かれていないかを見る
- 未提出なら本人に、未承認なら派遣先の担当者に、差し戻しなら本人に、メールで連絡する
- 事情がありそうなものは、担当のコーディネーターにチャットで確かめる
- 連絡したことを、自分の手元の表に書く
- 締めの前の週は、これを毎日行う
(a)締めの直前に未承認が積み上がる。 月曜にまとめて連絡しても、派遣先の担当者が承認するのは週の後半です。4週分の未承認が締めの直前に残り、勤怠担当が派遣先に電話をかけ続ける日が毎月あります。
(b)休んでいる人に催促してしまう。 2番目のメモを読む作業は、件数が多い週ほど省かれます。入院中のスタッフや、家族の不幸で休んでいるスタッフに催促のメールが届き、コーディネーターが謝りの連絡を入れることが、年に何度も起きています。
(c)誰に何回送ったかが追えない。 5番目の記録は担当者それぞれの手元の表です。担当者が休んだ週は、前の週に誰へ送ったかが分からず、同じ派遣先に同じ催促を二度送ることがあります。
(d)派遣先の担当者が分からない。 派遣先の承認者が異動や休みで変わっていても、勤怠の仕組みには古い承認者のままになっていることがあります。催促が誰にも読まれないまま、締めの日を迎えます。
- 【自動】 勤怠の仕組みから、毎朝、勤怠の状態がスプレッドシートに書き出される
- 【自動】 毎週月曜の朝(締めの前の週は毎朝)に Make のシナリオが動き、未提出・未承認・差し戻しの行を拾う
- 【自動】 1件ずつ、スタッフの一覧、派遣先の承認者、コーディネーターのメモ、前回までの催促の記録を集める
- 【自動】 Claude API に渡し、催促の相手と、送ってよいかの判定を JSON で受け取る
- 【自動】 ルーターで判定ごとに分ける
- 【自動】 本人への1回目・2回目の催促は、決まった文面で送る
- 【自動】 派遣先への催促は Gmail の下書きにし、担当のコーディネーターに知らせる
- 【自動】 事情があるもの・判定できないものは、担当のコーディネーターの確認の一覧に入れる
- 【人】 コーディネーターが確認の一覧と派遣先への下書きを見て、送るか止めるかを決める
- 【自動】 送ったこと、止めたこと、回したことを催促の記録に書く
人が見るのは9番目だけです。 本人への通常の催促は人を通さずに送り、派遣先への催促と事情のあるものだけに人の時間を使います。
10番目の記録が、(c)を解きます。 催促の記録は1つの表にまとまり、次の週の判定の材料にもなります。 何回目の催促かは、この記録を数えて決めます。
02今回想定するシステム構成
勤怠の仕組み ──(毎朝の書き出し)──▶ 勤怠の状態(Google スプレッドシート) │ ▼【トリガー】毎週月曜の朝/締めの前の週は毎朝(シナリオの予定) Make ├──▶ Google Sheets:未提出・未承認・差し戻しの行を拾う ├──▶ スタッフの一覧・承認者・メモ・催促の記録を集める ▼ Claude API ── 催促の相手と、送ってよいかを JSON で返す ▼ Make のルーター ├──▶ 本人へ(1回目・2回目) … Gmail で決まった文面を送る ├──▶ 派遣先へ … Gmail の下書き、コーディネーターに知らせる ├──▶ 担当へ回す … 確認の一覧に入れる └──▶ どれにも当たらない(予備のルート) … 担当へ回す ▼ 催促の記録(Google スプレッドシート)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(シナリオ。Google Sheets、Gmail、ルーター) | Zapier、Power Automate、n8n |
| 生成AI | Claude API(Messages API、構造化出力) | OpenAI API |
| 保管 | Google スプレッドシート(勤怠の状態、スタッフの一覧、メモ、催促の記録、確認の一覧) | - |
| メール | Gmail | - |
新しく足すのは、Make のシナリオと、催促の記録・確認の一覧のシートだけです。 勤怠の仕組みには書き込みません。承認そのものは、派遣先の担当者が勤怠の仕組みで行います。
勤怠の仕組みからスプレッドシートへの書き出しは、使っている仕組みによって作り方が変わります。 書き出しの機能や API がある仕組みならそれを使い、無い仕組みなら毎朝 CSV を出して取り込みます。この部分は利用環境に応じた個別の設定が必要です。 本記事では、毎朝の時点の勤怠の状態がスプレッドシートにある前提で書きます。
Make を本命にしているのは、社内ですでに使っていて、判定の後の送り分けをルーターで画面上に描けるからです。 どの判定がどこに行くかを、勤怠担当が自分で見て直せます。
03どうやって実装するのか
処理の起点を決める
シナリオの予定で動かします。 Make のシナリオは、決まった間隔、1回だけ、毎日、平日、毎週、毎月、指定した日、必要なときだけ、のいずれかで動かせます。通常の週は「毎週」で月曜の朝に、締めの前の週は「指定した日」で毎朝に動かします。 締めの日は月ごとに決まっているので、指定した日を月に一度入れ直すか、毎日動かして、シナリオの最初で「今日は催促する日か」を日程のシートで確かめる形にします。後者のほうが入れ忘れがありません。
動かす時刻は、勤怠の書き出しが終わった後にします。 書き出しが終わる前に動くと、前の日の状態で催促してしまいます。シナリオの最初で、勤怠の状態のシートの「書き出し日時」が今日かを確かめ、古ければ止めて勤怠担当に知らせます。
催促を送る時刻も考えます。 スタッフへのメールは勤務の前に読まれることが多く、派遣先の担当者は始業後に読みます。本人への催促は朝、派遣先への下書きは朝のうちに作ってコーディネーターが午前中に送る流れにしています。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 勤怠の状態 | スタッフID、対象の週、状態(未提出・提出済み未承認・差し戻し)、差し戻しの理由、承認者 | 勤怠の状態のシート |
| スタッフの一覧 | スタッフID、氏名、メールアドレス、派遣先、担当のコーディネーター、就業の状態(就業中・休業中・終了予定) | スタッフの一覧のシート |
| 派遣先の承認者 | 派遣先、承認者の氏名とメールアドレス、代理の承認者、不在の予定 | 派遣先の一覧のシート |
| コーディネーターのメモ | スタッフID、日付、メモ(自由な文) | メモのシート |
| 催促の記録 | スタッフID、対象の週、送った日、相手、何回目、結果 | 催促の記録のシート |
| 締めの日程 | 月、締めの日、承認がそろうべき日 | 日程のシート |
質を決めるのは、コーディネーターのメモです。 「10/6〜10/17 入院。勤怠は退院後にまとめて入力と本人から連絡あり」と書かれていれば、その期間の未提出は催促しません。メモが無ければ、AIも事情を知りようがありません。 事情を聞いたら1行でもメモに書く運用が、この構成の前提です。
派遣先の「不在の予定」も同じです。 承認者が出張や休みで不在と分かっていれば、代理の承認者に送るか、戻る日まで待つかを決められます。
データの取得方法を決める
Make の Google Sheets のモジュールで読みます。 公式のページでは、Google Sheets のアプリには行を探す「Search Rows」、行を足す「Add a Row」、行を直す「Update a Row」などがあり、Search Rows では AND と OR を使って条件を指定でき、1回の実行で返す件数の上限を指定する項目があるとされています。
| 取るもの | どう取るか | 何に使うか |
|---|---|---|
| 催促の対象 | Search Rows で状態が未提出・未承認・差し戻しの行 | 1件ずつの判定 |
| スタッフの情報 | Search Rows でスタッフIDが一致する行 | 宛先、担当、就業の状態 |
| 承認者 | Search Rows で派遣先が一致する行 | 派遣先への催促の宛先 |
| メモ | Search Rows でスタッフIDが一致し、日付が直近60日の行 | 事情の判定 |
| 催促の記録 | Search Rows でスタッフIDと対象の週が一致する行 | 何回目か、前回の結果 |
件数の上限は必ず大きめに設定し、上限に届いたら知らせます。 上限に届いたまま気づかないと、一覧の後ろのほうのスタッフが毎週催促されないことになります。
見出しの行を使う設定にします。 公式のページでは、表に見出しがあると設定すると見出しの行は出力に含まれず、無いとすると列が A、B、C… という名前になるとされています。列の名前で値を扱えるよう、どのシートも1行目を見出しにしておきます。
AIへ渡す前に整形する
- 書き出しの日時を確かめる … 勤怠の状態が今日の書き出しでなければ止めます
- 同じスタッフの複数の週をまとめる … 2週分が未提出なら、催促は1件にして週を並べます
- 就業の状態で外す … 休業中・就業終了のスタッフは対象から外し、記録に「対象外」と残します
- 何回目かを数える … 催促の記録から、同じスタッフと週への催促の回数を数えます
- 締めまでの営業日を数える … 日程のシートから、承認がそろうべき日までの営業日を出します
- 承認者の不在を確かめる … 派遣先の一覧の不在の予定が今日を含むなら、代理の承認者を候補にします
- メモを短くする … 直近60日のメモを新しい順に並べ、決めた長さまでに切ります
3番目と4番目と5番目は、AIに渡す前にスクリプトの側で決めておきます。 就業の状態、回数、残りの営業日は表から確実に出せる事実で、AIに数えさせる理由がありません。AIには、その事実と、メモという「表にならない事情」を合わせて判定させます。
AIに処理させる
させるのは、1件について次の3つを決めることだけです。
| 決めること | 選び方 |
|---|---|
| 催促の相手 | 本人(staff)/派遣先の承認者(client)/代理の承認者(client_deputy)/送らずに担当へ回す(coordinator) |
| 送ってよいか | 送ってよい(send)/事情があるので止める(hold)/判定できない(unclear) |
| 理由 | 判定の根拠にしたメモの文や事実を、そのまま写す |
相手の選び方の基本は、状態で決まります。 未提出と差し戻しは本人、提出済み未承認は承認者です。AIが変えてよいのは、メモや不在の予定に事情があるときだけです。 承認者が不在なら代理へ、入院のメモがあれば止める、という具合です。
| 判定を変える事情の例 | 判定 |
|---|---|
| 入院・療養・忌引など、本人が入力できない事情のメモ | hold(担当へ回す) |
| 「まとめて入力すると本人から連絡あり」で期限内 | hold |
| 承認者の不在の予定が今日を含み、代理がいる | client_deputy に send |
| 承認者の不在の予定が今日を含み、代理がいない | coordinator に回す |
| 派遣先との間で勤怠の扱いを話し合っている旨のメモ | coordinator に回す |
| メモが無い、または関係のないメモ | 状態どおりの相手に send |
| させないこと | 理由 |
|---|---|
| 催促の文面を書く | 文面は相手と回数ごとに決めておく |
| 勤怠の中身の正しさを判断する | 時刻の誤りを見つけるのは別の仕事。ここでは出ているかだけを見る |
| メモにない事情を推し量る | 「長く休んでいるので体調不良だろう」と書かせない |
| 回数や営業日を数える | 前処理で出した値を使う |
| 承認者を推測する | 派遣先の一覧にある人だけを相手にする |
3行目が、この判定でいちばん大事な制約です。 2週分の未提出が続いているだけで「体調不良の可能性があるので止める」と判定すると、本当に忘れているスタッフに催促が届かなくなります。 止めてよいのはメモに事情が書かれているときだけで、事情が分からないものは送るか、担当へ回すかのどちらかです。
指示内容を固定する
あなたは人材派遣会社の勤怠担当です。派遣スタッフの勤怠の催促について、
相手と、送ってよいかを判定してください。文面は書かないでください。
【基本の相手】
- 未提出・差し戻し … 本人(staff)
- 提出済み未承認 … 派遣先の承認者(client)
【基本から変えてよいのは、次の場合だけです】
- メモに、本人が入力できない事情(入院、療養、忌引など)が書かれている
→ action は hold、recipient は coordinator
- メモに、本人が期限内にまとめて入力すると連絡があった旨が書かれ、
締めまでの営業日が3日以上ある → action は hold
- 承認者の不在の予定が今日を含み、代理の承認者がいる
→ recipient は client_deputy
- 承認者の不在の予定が今日を含み、代理がいない → recipient は coordinator
- メモに、派遣先と勤怠の扱いを話し合っている旨がある → recipient は coordinator
【厳守事項】
- メモに書かれていない事情を推し量らないでください。
未提出が続いているだけで、体調不良などと判断しないでください。
- 判断の根拠にしたメモの文を evidence にそのまま写してください。
基本の相手のままなら evidence は空にしてください。
- 相手は【派遣先の一覧】にある人の中からだけ選んでください。
- 迷ったら action は unclear、recipient は coordinator にしてください。
【勤怠の状態】{status}(対象の週:{weeks}、差し戻しの理由:{reject_reason})
【何回目の催促か】{count} 【締めまでの営業日】{days_left}
【就業の状態】{employment_status}
【派遣先の一覧】{approvers}(不在の予定と代理を含む)
【コーディネーターのメモ(直近60日)】{memos}
「基本から変えてよいのは、次の場合だけ」と書いているのが要です。 判定の自由を広く渡すと、メモのささいな書きぶりで止めてしまいます。変えてよい場合を列挙し、それ以外は基本どおりにします。
氏名はメモの中にしか出てきません。 スタッフの氏名とメールアドレスは渡さず、スタッフIDだけで扱います。メモの中の人名は残りますが、宛先を組み立てるのは Make の側で、AIの判定に氏名は要りません。
出力形式を固定する
Claude API の構造化出力で、次の形の JSON を受け取ります。 Make の Anthropic Claude のアプリには、文章を送る「Create a Prompt」のほかに、任意の API を呼べる「Make an API Call」があります。構造化出力を使うため、Make an API Call で Messages API を呼び、output_config.format に JSON の形を指定します。 公式のページでは、オブジェクトに additionalProperties: false を付けることとされています。
{
"staff_id": "S-20431",
"recipient": "staff | client | client_deputy | coordinator",
"action": "send | hold | unclear",
"evidence": "10/6〜10/17 入院。勤怠は退院後にまとめて入力と本人から連絡あり",
"note": ""
}
1つ目の理由は、ルーターの条件にそのまま使えることです。 Make のルーターは、フィルターの条件で行き先を分けます。recipient と action の組み合わせごとにルートを作り、文章を読まずに振り分けます。
| ルート | 条件 | 行き先 |
|---|---|---|
| 本人へ送る | recipient が staff、action が send、回数が2回目まで | Gmail で決まった文面を送る |
| 派遣先へ | recipient が client か client_deputy、action が send | Gmail の下書き、担当に知らせる |
| 担当へ回す | action が hold か unclear、または recipient が coordinator | 確認の一覧に入れる |
| 予備のルート | 上のどれにも当たらない | 確認の一覧に入れる |
予備のルートを必ず作ります。 公式のページでは、予備のルート(fallback route)は、ほかのすべてのルートの条件に当たらないデータを処理するとされています。本人への3回目の催促や、思わない値が返ってきたものが、どこにも行かずに消えるのを防ぎます。 また、ルートは並行ではなく順に処理されるとされているので、担当へ回すルートを先に置き、止めるべきものが先に拾われる順にします。
2つ目の理由は、列挙の値を確かめられることです。 公式のページでは、列挙の値が大文字小文字だけ違う形で返ることがあるとされています。ルーターの条件は大文字小文字を区別しない比べ方にします。
3つ目は、evidence で止めた理由を担当が読めることです。 確認の一覧に evidence が並ぶので、コーディネーターはメモを開き直さずに判断できます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 勤怠の状態のシート | Google Sheets の Search Rows | 催促の対象を拾う |
| Claude API | Anthropic Claude の Make an API Call | 1件ずつ判定を受け取る |
| 本人 | Gmail の Send an email | 決まった文面で送る |
| 派遣先の承認者 | Gmail の Create a draft email | 下書きを作り、担当が送る |
| 催促の記録・確認の一覧 | Google Sheets の Add a Row/Update a Row | 送った・止めた・回したを書く |
本人へは自動で送り、派遣先へは下書きにします。 Make の Gmail のアプリには、送る「Send an email」と、下書きを作る「Create a draft email」、下書きを送る「Send a draft email」があります。派遣先への催促は、コーディネーターが下書きを開いて送ります。 顧客への連絡を、担当の知らないところで送らないためです。
文面は相手と回数ごとに3種類ずつ持ちます。 本人への1回目は「入力のお願い」、2回目は「締めの日のお知らせを添えたお願い」、派遣先への催促は「承認のお願いと、派遣元から請求する旨」です。3回目以降は自動で送らず、担当へ回します。
人が確認する
- 確認の一覧を毎朝見る … 担当のコーディネーターが、自分のスタッフの分だけを見ます。
evidenceを読み、止めるか送るかを決めます - 派遣先への下書きを送る … 宛先と週を確かめて送ります。承認者が変わっていれば、派遣先の一覧を直します
- 止めたものの期限を決める … 入院などで止めたものは、いつ再開するかを催促の記録に書きます
- 判定を覆したら記録する … 止めるべきでないものを止めていた、またはその逆なら、記録に印を付けます
本人への1回目・2回目は人を通しません。 メモに事情が無く、基本どおりの判定のものは、そのまま送ります。人の時間は、派遣先への連絡と事情のあるものに集めます。
4番目の印は、指示を直す材料になります。 止めすぎていれば変えてよい場合の書き方を絞り、送りすぎていればメモの書き方をコーディネーターに伝えます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 勤怠の書き出しが今日のものでない | シナリオを止め、勤怠担当に知らせる |
| 拾った件数が上限に届いた | 上限を上げて動かし直し、勤怠担当に知らせる |
| 本人のメールアドレスが空 | 担当へ回す。宛先を推し量らない |
| 派遣先の承認者が一覧にない | 担当へ回し、派遣先の一覧の更新を頼む |
| 3回目以降の催促 | 自動で送らず担当へ回す。締めの近いものは電話を勧める |
| 判定が unclear | 担当へ回す |
| 思わない値が返る | 予備のルートで担当へ回す |
| API が応答しない | その件は記録に「未判定」と残し、翌朝の実行で拾い直す |
| メールが届かず戻る | 本人の連絡先の確認を担当に頼む |
上から2行目は見落としやすい失敗です。 Search Rows の件数の上限に届いたまま気づかないと、一覧の後ろのスタッフが毎週抜けます。 拾った件数が上限と同じなら必ず知らせる条件を、シナリオの最後に置きます。
3回目以降を自動で送らないのは、催促が効いていない合図だからです。 同じ文面を3回送っても入力されないなら、メールが読まれていないか、何か事情があります。 電話か派遣先での声かけに切り替える判断は、コーディネーターに任せます。
記録を残す
- 実行の日時、拾った件数、ルートごとの件数
- 1件ごとに、渡した事実(状態、回数、残りの営業日、就業の状態、不在の予定)とメモの範囲
- AIが返した JSON の全文
- 送った文面の種類、宛先、送った日時、下書きを作った日時
- 担当が止めた・送った・覆した記録と、止めたものの再開の予定
- 締めの日に残った未承認の件数
3つ目を残すのは、止めた理由を後から説明するためです。 「なぜ自分には催促が来なかったのか」「なぜ入院中に催促が来たのか」と聞かれたとき、その日にどのメモを根拠に判定したかを示せます。
最後の行が、この構成の効き目を測る数字です。 締めの日に残る未承認が月を追って減っていれば、催促が早く正しい相手に届いているということです。
04実装レベルの3段階
最小構成では600件をさばけません。 確かめるための段階です。 本記事の想定は半自動化です。 本人への通常の催促は自動で届き、勤怠担当とコーディネーターは事情のあるものと派遣先への連絡だけを見ます。1件3分が1分になるのはこの段階です。 本格構成は、勤怠の仕組みに使える API があるかで決まります。 API で状態を取れれば、毎朝の書き出しの手間がなくなり、承認された時点で催促の記録を閉じられます。 使っている仕組みの公開仕様を確かめてから足してください。 段階を飛ばさないでください。 半自動化を2か月回すと、メモの書き方のばらつきと、止めすぎ・送りすぎの傾向が見えます。そこを直してから記録の自動の締めに進むほうが、止めた理由の追えない催促が残りません。
05工数削減シミュレーション
導入後 600件 × 1分 ÷ 60 = 10 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 稼働中の派遣スタッフが数百人いて、勤怠の入力と派遣先の承認の遅れを勤怠担当が毎週目で拾って連絡している人材派遣会社。勤怠の状態を毎朝 Google スプレッドシートに書き出せる会社。体調不良や派遣先の担当者の不在など、催促してはいけない事情がコーディネーターのメモにしか書かれていない場合。
- 稼働中のスタッフが数十人で、担当者が全員の事情を把握できている会社。勤怠の仕組みに催促の機能があり、事情に合わせた送り分けが要らない場合。勤怠の状態を表として取り出せない場合。なお、給与の計算や派遣先への請求の確定はこの構成の対象外です。
07最小構成で試す方法
- 先月の未提出・未承認・差し戻しから40件を選ぶ(事情があって止めたものを数件入れる)
- その40件について、当時の勤怠担当が誰に送ったか、止めたかを書き出す
- スタッフIDと、状態、回数、残りの営業日、承認者の不在、メモを1件ずつ書き出す
- 手元の Claude の画面に、第7章の指示と1件分の材料を貼り、判定させる
- 返ってきた判定を、当時の判断と並べて比べる
事情があって止めたものは必ず入れてください。 この構成が守りたいのは、そこです。
| 出てきた内容 | 判断 |
|---|---|
| 当時と同じ判定が出た | Make でつなぐ段階に進む |
| 事情のあるものを send にした | メモの書き方か、変えてよい場合の書き方を直す |
| 事情の無いものを hold にした | 推し量りの禁止を強める |
| 判定が unclear に偏る | メモが短すぎる。コーディネーターにメモの書き方を頼む |
2行目と3行目は、同じ指示の裏表です。 どちらかに寄っているかを見て、変えてよい場合の書き方を調整します。2行目が1件でも残るなら、まだ本人への自動送信には進まないでください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 入院中のスタッフに催促が届く | 事情はメモに1行でも書く運用にする。 判定は本人への自動送信の前に置く |
| 未提出が続くだけで止めてしまう | 推し量りを禁じる。止めてよい場合を列挙する |
| 一覧の後ろのスタッフが抜ける | Search Rows の上限に届いたら知らせる |
| 前日の状態で催促する | 書き出し日時を最初に確かめる |
| 派遣先に担当の知らないメールが届く | 派遣先へは下書きまで。送るのはコーディネーター |
| 3回目も同じ文面が届く | 3回目以降は担当へ回す |
| 思わない値で催促が消える | 予備のルートを必ず作る |
| 列挙の値が大文字で返る | ルーターの条件は大文字小文字を区別しない |
| 承認者が変わっているのに古い人へ送る | 戻ってきたメールと担当の確認で派遣先の一覧を直す |
| メモが散らばっていて拾えない | メモを1つのシートにまとめ、スタッフIDで引けるようにする |
上の2行が、この構成の失敗のほとんどです。 1行目は止めるべきものを送る失敗、2行目は送るべきものを止める失敗で、どちらも「メモに書かれていることだけで判定する」という同じ決まりで防ぎます。
5行目は、仕組みの外の失敗です。 派遣先は顧客で、催促の書き方ひとつで関係が変わります。派遣先への自動送信は、半自動化の段階では作らないでください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 派遣スタッフの氏名・メールアドレス・勤怠の状態・就業の状態、派遣先の承認者の連絡先、そしてコーディネーターのメモ(体調や家族の事情を含みうる)です。
- 外部へ渡す範囲を、判定に必要なものまでに限る … Claude API に渡すのは、スタッフID、状態、回数、残りの営業日、就業の状態、承認者の不在の予定、直近60日のメモです。氏名とメールアドレスは渡しません
- メモの書き方を決める … 体調の事情は「入院」「療養」のように最小限の言葉で書き、病名や詳しい経過を書かない運用にします。判定に要るのは、入力できない事情があることだけです
- 派遣先へ自動で送らない … 顧客への連絡は担当が確かめてから送ります
- 止めた理由を残す … どのメモを根拠に止めたかを記録し、問い合わせに答えられるようにします
- API キーを Make の接続に置き、シナリオを編集できる人を限る … 公式のページでは、接続を作るときに API キーを入れるとされています。キーは一度しか表示されないので、安全な場所に控えます
- 勤怠の判定と給与・請求を混ぜない … この構成は催促だけです。勤怠の中身の確定と、給与と請求の計算は、従来の手順で行います
誤りが起きた場合のリスクは、事情のあるスタッフに催促を送ることと、催促すべきものを止めて締めに間に合わないことの2つです。前者はメモの運用と判定で、後者は止めた理由の記録と再開の予定で防ぎます。どちらも、止めたものの一覧を担当が毎朝見る形にしておけば、締めの前に気づけます。
10まず何から始めるか
1週目:メモを1つのシートにまとめる
コーディネーターごとに散らばっているメモを、スタッフID・日付・メモの3列のシートにまとめます。事情を聞いたら1行書く、という運用をコーディネーターと決めます。
2週目:40件で試す
先月の催促から40件を選び、手元の Claude の画面で判定させて、当時の判断と比べます。事情のあるものを send にしていないかを最優先で見ます。
3週目:派遣先の一覧と文面を整える
派遣先の一覧に承認者の不在の予定と代理の列を足し、本人への1回目・2回目と派遣先への催促の文面を決めます。
4週目:判定と記録までをつなぐ
Make で拾い、判定し、送らずに確認の一覧に全件を入れるところまで作ります。勤怠担当が1週間、判定を見比べます。
2か月目: 本人への1回目・2回目の自動送信と、派遣先への下書きを足します。3か月目以降: 締めの日に残る未承認の件数を毎月数え、止めすぎ・送りすぎの記録を見て指示を直します。入院中のスタッフに催促が届く失敗が3か月続けて起きなかった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| シナリオを決まった間隔・1回・毎日・平日・毎週・毎月・指定した日・必要なときに動かせること。最短の間隔がプランによること | Make: Schedule a scenario | 2026-10-14 |
| ルーターがフィルターの条件でルートを分け、ルートが順に処理されること。予備のルートがほかの条件に当たらないデータを処理すること | Make: Router | 2026-10-14 |
| Google Sheets のアプリに Search Rows・Add a Row・Update a Row などがあること。Search Rows で AND と OR の条件と返す件数の上限を指定できること。見出しの行の扱い | Make: Google Sheets | 2026-10-14 |
| Gmail のアプリに Send an email・Create a draft email・Send a draft email などがあること | Make: Gmail | 2026-10-14 |
| Anthropic Claude のアプリに Create a Prompt と Make an API Call があること。API キーで接続し、キーが一度しか表示されないこと | Make: Anthropic Claude | 2026-10-14 |
構造化出力を output_config.format の json_schema で指定し、additionalProperties: false が必要なこと。列挙型の値が大文字小文字だけ違って返りうること | Claude: Structured outputs | 2026-10-14 |
| 派遣先が派遣先管理台帳に派遣就業をした日、始業・終業の時刻と休憩の時間などを記載し、派遣元に通知しなければならないこと(第42条) | e-Gov 法令API: 労働者派遣法 | 2026-10-14 |
| 派遣元への通知を1か月ごとに1回以上、一定の期日を定めて行い、派遣元から請求があったときは遅滞なく通知すること(第38条) | e-Gov 法令API: 労働者派遣法施行規則 | 2026-10-14 |
勤怠の確定、給与の計算、派遣先への請求は、自社の就業規則と派遣契約に沿って行ってください。 本記事は、勤怠の催促の判定と送り分けに絞って公式のページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1545)についてのご相談はこちらから。
