Media > AI活用ユースケース > 総務 > 人材派遣会社で、派遣スタッフの勤怠の未提出と未承認を毎週拾い、事情を見て本人と派遣先の担当者のどちらに催促するかを決めて送る

人材派遣会社で、派遣スタッフの勤怠の未提出と未承認を毎週拾い、事情を見て本人と派遣先の担当者のどちらに催促するかを決めて送る

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

派遣スタッフの勤怠のうち、未提出・未承認・差し戻しのものを毎週拾い、催促を本人と派遣先の担当者のどちらへ送るか、送らずに担当へ回すかを判定します。判定に沿って、決まった文面の催促を送ります。

サマリー
生成AI
ChatGPT/Claude
連携・自動化
Make/n8n/Power Automate/Zapier
対象業界
IT・SaaS/人材/物流
対象部門
総務
対象業務
内容確認・チェック/分類・仕分け
主な課題
人手が足りない/期限・対応漏れが起きる/確認ミスが多い
AIで行う処理
判定
主な効果
入力漏れ削減/対応スピード向上/工数削減
導入難易度
★☆☆☆☆
実装レベル
半自動化
費用感
ノーコード連携(中)
人間の確認
条件付き
現在工数
30h/月
AI導入後
10h/月
想定削減
67%
年間削減
240h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 毎週月曜に、勤怠担当が勤怠の仕組みから前週の未提出・未承認・差し戻しの一覧を出す
  2. 1件ずつスタッフの一覧とコーディネーターのメモを開き、事情が書かれていないかを見る
  3. 未提出なら本人に、未承認なら派遣先の担当者に、差し戻しなら本人に、メールで連絡する
  4. 事情がありそうなものは、担当のコーディネーターにチャットで確かめる
  5. 連絡したことを、自分の手元の表に書く
  6. 締めの前の週は、これを毎日行う
導入後(After)
  1. 自動勤怠の仕組みから、毎朝、勤怠の状態がスプレッドシートに書き出される
  2. 自動毎週月曜の朝(締めの前の週は毎朝)に Make のシナリオが動き、未提出・未承認・差し戻しの行を拾う
  3. 自動1件ずつ、スタッフの一覧、派遣先の承認者、コーディネーターのメモ、前回までの催促の記録を集める
  4. 自動Claude API に渡し、催促の相手と、送ってよいかの判定を JSON で受け取る
  5. 自動ルーターで判定ごとに分ける
  6. 自動本人への1回目・2回目の催促は、決まった文面で送る
  7. 自動派遣先への催促は Gmail の下書きにし、担当のコーディネーターに知らせる
  8. 自動事情があるもの・判定できないものは、担当のコーディネーターの確認の一覧に入れる
  9. 人コーディネーターが確認の一覧と派遣先への下書きを見て、送るか止めるかを決める
  10. 自動送ったこと、止めたこと、回したことを催促の記録に書く
各工程の詳しい説明を読む
  1. 毎週月曜に、勤怠担当が勤怠の仕組みから前週の未提出・未承認・差し戻しの一覧を出す
  2. 1件ずつスタッフの一覧とコーディネーターのメモを開き、事情が書かれていないかを見る
  3. 未提出なら本人に、未承認なら派遣先の担当者に、差し戻しなら本人に、メールで連絡する
  4. 事情がありそうなものは、担当のコーディネーターにチャットで確かめる
  5. 連絡したことを、自分の手元の表に書く
  6. 締めの前の週は、これを毎日行う

(a)締めの直前に未承認が積み上がる。 月曜にまとめて連絡しても、派遣先の担当者が承認するのは週の後半です。4週分の未承認が締めの直前に残り、勤怠担当が派遣先に電話をかけ続ける日が毎月あります。

(b)休んでいる人に催促してしまう。 2番目のメモを読む作業は、件数が多い週ほど省かれます。入院中のスタッフや、家族の不幸で休んでいるスタッフに催促のメールが届き、コーディネーターが謝りの連絡を入れることが、年に何度も起きています。

(c)誰に何回送ったかが追えない。 5番目の記録は担当者それぞれの手元の表です。担当者が休んだ週は、前の週に誰へ送ったかが分からず、同じ派遣先に同じ催促を二度送ることがあります。

(d)派遣先の担当者が分からない。 派遣先の承認者が異動や休みで変わっていても、勤怠の仕組みには古い承認者のままになっていることがあります。催促が誰にも読まれないまま、締めの日を迎えます。

  1. 【自動】 勤怠の仕組みから、毎朝、勤怠の状態がスプレッドシートに書き出される
  2. 【自動】 毎週月曜の朝(締めの前の週は毎朝)に Make のシナリオが動き、未提出・未承認・差し戻しの行を拾う
  3. 【自動】 1件ずつ、スタッフの一覧、派遣先の承認者、コーディネーターのメモ、前回までの催促の記録を集める
  4. 【自動】 Claude API に渡し、催促の相手と、送ってよいかの判定を JSON で受け取る
  5. 【自動】 ルーターで判定ごとに分ける
  6. 【自動】 本人への1回目・2回目の催促は、決まった文面で送る
  7. 【自動】 派遣先への催促は Gmail の下書きにし、担当のコーディネーターに知らせる
  8. 【自動】 事情があるもの・判定できないものは、担当のコーディネーターの確認の一覧に入れる
  9. 【人】 コーディネーターが確認の一覧と派遣先への下書きを見て、送るか止めるかを決める
  10. 【自動】 送ったこと、止めたこと、回したことを催促の記録に書く

人が見るのは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
生成AIClaude API(Messages API、構造化出力)OpenAI API
保管Google スプレッドシート(勤怠の状態、スタッフの一覧、メモ、催促の記録、確認の一覧)-
メールGmail-

新しく足すのは、Make のシナリオと、催促の記録・確認の一覧のシートだけです。 勤怠の仕組みには書き込みません。承認そのものは、派遣先の担当者が勤怠の仕組みで行います。

勤怠の仕組みからスプレッドシートへの書き出しは、使っている仕組みによって作り方が変わります。 書き出しの機能や API がある仕組みならそれを使い、無い仕組みなら毎朝 CSV を出して取り込みます。この部分は利用環境に応じた個別の設定が必要です。 本記事では、毎朝の時点の勤怠の状態がスプレッドシートにある前提で書きます。

Make を本命にしているのは、社内ですでに使っていて、判定の後の送り分けをルーターで画面上に描けるからです。 どの判定がどこに行くかを、勤怠担当が自分で見て直せます。

03どうやって実装するのか

Step1

処理の起点を決める

シナリオの予定で動かします。 Make のシナリオは、決まった間隔、1回だけ、毎日、平日、毎週、毎月、指定した日、必要なときだけ、のいずれかで動かせます。通常の週は「毎週」で月曜の朝に、締めの前の週は「指定した日」で毎朝に動かします。 締めの日は月ごとに決まっているので、指定した日を月に一度入れ直すか、毎日動かして、シナリオの最初で「今日は催促する日か」を日程のシートで確かめる形にします。後者のほうが入れ忘れがありません。

動かす時刻は、勤怠の書き出しが終わった後にします。 書き出しが終わる前に動くと、前の日の状態で催促してしまいます。シナリオの最初で、勤怠の状態のシートの「書き出し日時」が今日かを確かめ、古ければ止めて勤怠担当に知らせます。

催促を送る時刻も考えます。 スタッフへのメールは勤務の前に読まれることが多く、派遣先の担当者は始業後に読みます。本人への催促は朝、派遣先への下書きは朝のうちに作ってコーディネーターが午前中に送る流れにしています。

Step2

入力データを集める

データ中身取得元
勤怠の状態スタッフID、対象の週、状態(未提出・提出済み未承認・差し戻し)、差し戻しの理由、承認者勤怠の状態のシート
スタッフの一覧スタッフID、氏名、メールアドレス、派遣先、担当のコーディネーター、就業の状態(就業中・休業中・終了予定)スタッフの一覧のシート
派遣先の承認者派遣先、承認者の氏名とメールアドレス、代理の承認者、不在の予定派遣先の一覧のシート
コーディネーターのメモスタッフID、日付、メモ(自由な文)メモのシート
催促の記録スタッフID、対象の週、送った日、相手、何回目、結果催促の記録のシート
締めの日程月、締めの日、承認がそろうべき日日程のシート

質を決めるのは、コーディネーターのメモです。 「10/6〜10/17 入院。勤怠は退院後にまとめて入力と本人から連絡あり」と書かれていれば、その期間の未提出は催促しません。メモが無ければ、AIも事情を知りようがありません。 事情を聞いたら1行でもメモに書く運用が、この構成の前提です。

派遣先の「不在の予定」も同じです。 承認者が出張や休みで不在と分かっていれば、代理の承認者に送るか、戻る日まで待つかを決められます。

Step3

データの取得方法を決める

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行目を見出しにしておきます。

Step4

AIへ渡す前に整形する

  1. 書き出しの日時を確かめる … 勤怠の状態が今日の書き出しでなければ止めます
  2. 同じスタッフの複数の週をまとめる … 2週分が未提出なら、催促は1件にして週を並べます
  3. 就業の状態で外す … 休業中・就業終了のスタッフは対象から外し、記録に「対象外」と残します
  4. 何回目かを数える … 催促の記録から、同じスタッフと週への催促の回数を数えます
  5. 締めまでの営業日を数える … 日程のシートから、承認がそろうべき日までの営業日を出します
  6. 承認者の不在を確かめる … 派遣先の一覧の不在の予定が今日を含むなら、代理の承認者を候補にします
  7. メモを短くする … 直近60日のメモを新しい順に並べ、決めた長さまでに切ります

3番目と4番目と5番目は、AIに渡す前にスクリプトの側で決めておきます。 就業の状態、回数、残りの営業日は表から確実に出せる事実で、AIに数えさせる理由がありません。AIには、その事実と、メモという「表にならない事情」を合わせて判定させます。

Step5

AIに処理させる

させるのは、1件について次の3つを決めることだけです。

決めること選び方
催促の相手本人(staff)/派遣先の承認者(client)/代理の承認者(client_deputy)/送らずに担当へ回す(coordinator)
送ってよいか送ってよい(send)/事情があるので止める(hold)/判定できない(unclear)
理由判定の根拠にしたメモの文や事実を、そのまま写す

相手の選び方の基本は、状態で決まります。 未提出と差し戻しは本人、提出済み未承認は承認者です。AIが変えてよいのは、メモや不在の予定に事情があるときだけです。 承認者が不在なら代理へ、入院のメモがあれば止める、という具合です。

判定を変える事情の例判定
入院・療養・忌引など、本人が入力できない事情のメモhold(担当へ回す)
「まとめて入力すると本人から連絡あり」で期限内hold
承認者の不在の予定が今日を含み、代理がいるclient_deputy に send
承認者の不在の予定が今日を含み、代理がいないcoordinator に回す
派遣先との間で勤怠の扱いを話し合っている旨のメモcoordinator に回す
メモが無い、または関係のないメモ状態どおりの相手に send
させないこと理由
催促の文面を書く文面は相手と回数ごとに決めておく
勤怠の中身の正しさを判断する時刻の誤りを見つけるのは別の仕事。ここでは出ているかだけを見る
メモにない事情を推し量る「長く休んでいるので体調不良だろう」と書かせない
回数や営業日を数える前処理で出した値を使う
承認者を推測する派遣先の一覧にある人だけを相手にする

3行目が、この判定でいちばん大事な制約です。 2週分の未提出が続いているだけで「体調不良の可能性があるので止める」と判定すると、本当に忘れているスタッフに催促が届かなくなります。 止めてよいのはメモに事情が書かれているときだけで、事情が分からないものは送るか、担当へ回すかのどちらかです。

Step6

指示内容を固定する

あなたは人材派遣会社の勤怠担当です。派遣スタッフの勤怠の催促について、
相手と、送ってよいかを判定してください。文面は書かないでください。

【基本の相手】
- 未提出・差し戻し … 本人(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の判定に氏名は要りません。

Step7

出力形式を固定する

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 が sendGmail の下書き、担当に知らせる
担当へ回すaction が hold か unclear、または recipient が coordinator確認の一覧に入れる
予備のルート上のどれにも当たらない確認の一覧に入れる

予備のルートを必ず作ります。 公式のページでは、予備のルート(fallback route)は、ほかのすべてのルートの条件に当たらないデータを処理するとされています。本人への3回目の催促や、思わない値が返ってきたものが、どこにも行かずに消えるのを防ぎます。 また、ルートは並行ではなく順に処理されるとされているので、担当へ回すルートを先に置き、止めるべきものが先に拾われる順にします。

2つ目の理由は、列挙の値を確かめられることです。 公式のページでは、列挙の値が大文字小文字だけ違う形で返ることがあるとされています。ルーターの条件は大文字小文字を区別しない比べ方にします。

3つ目は、evidence で止めた理由を担当が読めることです。 確認の一覧に evidence が並ぶので、コーディネーターはメモを開き直さずに判断できます。

Step8

システムへ連携する

つなぎ先方式内容
勤怠の状態のシートGoogle Sheets の Search Rows催促の対象を拾う
Claude APIAnthropic Claude の Make an API Call1件ずつ判定を受け取る
本人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回目以降は自動で送らず、担当へ回します。

Step9

人が確認する

  1. 確認の一覧を毎朝見る … 担当のコーディネーターが、自分のスタッフの分だけを見ます。evidence を読み、止めるか送るかを決めます
  2. 派遣先への下書きを送る … 宛先と週を確かめて送ります。承認者が変わっていれば、派遣先の一覧を直します
  3. 止めたものの期限を決める … 入院などで止めたものは、いつ再開するかを催促の記録に書きます
  4. 判定を覆したら記録する … 止めるべきでないものを止めていた、またはその逆なら、記録に印を付けます

本人への1回目・2回目は人を通しません。 メモに事情が無く、基本どおりの判定のものは、そのまま送ります。人の時間は、派遣先への連絡と事情のあるものに集めます。

4番目の印は、指示を直す材料になります。 止めすぎていれば変えてよい場合の書き方を絞り、送りすぎていればメモの書き方をコーディネーターに伝えます。

Step10

例外に対処する

起きること対応
勤怠の書き出しが今日のものでないシナリオを止め、勤怠担当に知らせる
拾った件数が上限に届いた上限を上げて動かし直し、勤怠担当に知らせる
本人のメールアドレスが空担当へ回す。宛先を推し量らない
派遣先の承認者が一覧にない担当へ回し、派遣先の一覧の更新を頼む
3回目以降の催促自動で送らず担当へ回す。締めの近いものは電話を勧める
判定が unclear担当へ回す
思わない値が返る予備のルートで担当へ回す
API が応答しないその件は記録に「未判定」と残し、翌朝の実行で拾い直す
メールが届かず戻る本人の連絡先の確認を担当に頼む

上から2行目は見落としやすい失敗です。 Search Rows の件数の上限に届いたまま気づかないと、一覧の後ろのスタッフが毎週抜けます。 拾った件数が上限と同じなら必ず知らせる条件を、シナリオの最後に置きます。

3回目以降を自動で送らないのは、催促が効いていない合図だからです。 同じ文面を3回送っても入力されないなら、メールが読まれていないか、何か事情があります。 電話か派遣先での声かけに切り替える判断は、コーディネーターに任せます。

Step11

記録を残す

  • 実行の日時、拾った件数、ルートごとの件数
  • 1件ごとに、渡した事実(状態、回数、残りの営業日、就業の状態、不在の予定)とメモの範囲
  • AIが返した JSON の全文
  • 送った文面の種類、宛先、送った日時、下書きを作った日時
  • 担当が止めた・送った・覆した記録と、止めたものの再開の予定
  • 締めの日に残った未承認の件数

3つ目を残すのは、止めた理由を後から説明するためです。 「なぜ自分には催促が来なかったのか」「なぜ入院中に催促が来たのか」と聞かれたとき、その日にどのメモを根拠に判定したかを示せます。

最後の行が、この構成の効き目を測る数字です。 締めの日に残る未承認が月を追って減っていれば、催促が早く正しい相手に届いているということです。

04実装レベルの3段階

最小構成:手で材料を書き出し、手元の Claude の画面で判定する / 1件ごとの判定
半自動化:上記+Make で毎週拾い、判定し、本人へは送り、派遣先へは下書きにする / 拾い出し、判定、送り分け、記録
本格構成:上記+勤怠の仕組みの API で状態を直接取り、承認されたら催促の記録を自動で閉じる / 書き出しの手間と、記録の締め

最小構成では600件をさばけません。 確かめるための段階です。 本記事の想定は半自動化です。 本人への通常の催促は自動で届き、勤怠担当とコーディネーターは事情のあるものと派遣先への連絡だけを見ます。1件3分が1分になるのはこの段階です。 本格構成は、勤怠の仕組みに使える API があるかで決まります。 API で状態を取れれば、毎朝の書き出しの手間がなくなり、承認された時点で催促の記録を閉じられます。 使っている仕組みの公開仕様を確かめてから足してください。 段階を飛ばさないでください。 半自動化を2か月回すと、メモの書き方のばらつきと、止めすぎ・送りすぎの傾向が見えます。そこを直してから記録の自動の締めに進むほうが、止めた理由の追えない催促が残りません。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
4 名
月間件数
600 件
1件あたり現在時間
3 分
1件あたり導入後時間
1 分
現在  600件 × 3分 ÷ 60 = 30 時間/月
導入後 600件 × 1分 ÷ 60 = 10 時間/月
月間削減時間
20h
削減率
67%
年間削減時間
240h
年間金額換算(時間単価2,500円)
60万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 稼働中の派遣スタッフが数百人いて、勤怠の入力と派遣先の承認の遅れを勤怠担当が毎週目で拾って連絡している人材派遣会社。勤怠の状態を毎朝 Google スプレッドシートに書き出せる会社。体調不良や派遣先の担当者の不在など、催促してはいけない事情がコーディネーターのメモにしか書かれていない場合。
向いていない
  1. 稼働中のスタッフが数十人で、担当者が全員の事情を把握できている会社。勤怠の仕組みに催促の機能があり、事情に合わせた送り分けが要らない場合。勤怠の状態を表として取り出せない場合。なお、給与の計算や派遣先への請求の確定はこの構成の対象外です。

07最小構成で試す方法

  1. 先月の未提出・未承認・差し戻しから40件を選ぶ(事情があって止めたものを数件入れる)
  2. その40件について、当時の勤怠担当が誰に送ったか、止めたかを書き出す
  3. スタッフIDと、状態、回数、残りの営業日、承認者の不在、メモを1件ずつ書き出す
  4. 手元の Claude の画面に、第7章の指示と1件分の材料を貼り、判定させる
  5. 返ってきた判定を、当時の判断と並べて比べる

事情があって止めたものは必ず入れてください。 この構成が守りたいのは、そこです。

出てきた内容判断
当時と同じ判定が出たMake でつなぐ段階に進む
事情のあるものを send にしたメモの書き方か、変えてよい場合の書き方を直す
事情の無いものを hold にした推し量りの禁止を強める
判定が unclear に偏るメモが短すぎる。コーディネーターにメモの書き方を頼む

2行目と3行目は、同じ指示の裏表です。 どちらかに寄っているかを見て、変えてよい場合の書き方を調整します。2行目が1件でも残るなら、まだ本人への自動送信には進まないでください。

08実装時につまずきやすいポイント

問題対策
入院中のスタッフに催促が届く事情はメモに1行でも書く運用にする。 判定は本人への自動送信の前に置く
未提出が続くだけで止めてしまう推し量りを禁じる。止めてよい場合を列挙する
一覧の後ろのスタッフが抜けるSearch Rows の上限に届いたら知らせる
前日の状態で催促する書き出し日時を最初に確かめる
派遣先に担当の知らないメールが届く派遣先へは下書きまで。送るのはコーディネーター
3回目も同じ文面が届く3回目以降は担当へ回す
思わない値で催促が消える予備のルートを必ず作る
列挙の値が大文字で返るルーターの条件は大文字小文字を区別しない
承認者が変わっているのに古い人へ送る戻ってきたメールと担当の確認で派遣先の一覧を直す
メモが散らばっていて拾えないメモを1つのシートにまとめ、スタッフIDで引けるようにする

上の2行が、この構成の失敗のほとんどです。 1行目は止めるべきものを送る失敗、2行目は送るべきものを止める失敗で、どちらも「メモに書かれていることだけで判定する」という同じ決まりで防ぎます。

5行目は、仕組みの外の失敗です。 派遣先は顧客で、催促の書き方ひとつで関係が変わります。派遣先への自動送信は、半自動化の段階では作らないでください。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 派遣スタッフの氏名・メールアドレス・勤怠の状態・就業の状態、派遣先の承認者の連絡先、そしてコーディネーターのメモ(体調や家族の事情を含みうる)です。

  1. 外部へ渡す範囲を、判定に必要なものまでに限る … Claude API に渡すのは、スタッフID、状態、回数、残りの営業日、就業の状態、承認者の不在の予定、直近60日のメモです。氏名とメールアドレスは渡しません
  2. メモの書き方を決める … 体調の事情は「入院」「療養」のように最小限の言葉で書き、病名や詳しい経過を書かない運用にします。判定に要るのは、入力できない事情があることだけです
  3. 派遣先へ自動で送らない … 顧客への連絡は担当が確かめてから送ります
  4. 止めた理由を残す … どのメモを根拠に止めたかを記録し、問い合わせに答えられるようにします
  5. API キーを Make の接続に置き、シナリオを編集できる人を限る … 公式のページでは、接続を作るときに API キーを入れるとされています。キーは一度しか表示されないので、安全な場所に控えます
  6. 勤怠の判定と給与・請求を混ぜない … この構成は催促だけです。勤怠の中身の確定と、給与と請求の計算は、従来の手順で行います

誤りが起きた場合のリスクは、事情のあるスタッフに催促を送ることと、催促すべきものを止めて締めに間に合わないことの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技術仕様の確認日・参考情報

技術仕様確認日:2026-10-14/最終更新:2026-10-15
確認した内容情報源確認日
シナリオを決まった間隔・1回・毎日・平日・毎週・毎月・指定した日・必要なときに動かせること。最短の間隔がプランによることMake: Schedule a scenario2026-10-14
ルーターがフィルターの条件でルートを分け、ルートが順に処理されること。予備のルートがほかの条件に当たらないデータを処理することMake: Router2026-10-14
Google Sheets のアプリに Search Rows・Add a Row・Update a Row などがあること。Search Rows で AND と OR の条件と返す件数の上限を指定できること。見出しの行の扱いMake: Google Sheets2026-10-14
Gmail のアプリに Send an email・Create a draft email・Send a draft email などがあることMake: Gmail2026-10-14
Anthropic Claude のアプリに Create a Prompt と Make an API Call があること。API キーで接続し、キーが一度しか表示されないことMake: Anthropic Claude2026-10-14
構造化出力を output_config.format の json_schema で指定し、additionalProperties: false が必要なこと。列挙型の値が大文字小文字だけ違って返りうることClaude: Structured outputs2026-10-14
派遣先が派遣先管理台帳に派遣就業をした日、始業・終業の時刻と休憩の時間などを記載し、派遣元に通知しなければならないこと(第42条)e-Gov 法令API: 労働者派遣法2026-10-14
派遣元への通知を1か月ごとに1回以上、一定の期日を定めて行い、派遣元から請求があったときは遅滞なく通知すること(第38条)e-Gov 法令API: 労働者派遣法施行規則2026-10-14

勤怠の確定、給与の計算、派遣先への請求は、自社の就業規則と派遣契約に沿って行ってください。 本記事は、勤怠の催促の判定と送り分けに絞って公式のページで確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1545)についてのご相談はこちらから。

AI活用について相談する
目次