エアコンクリーニングの依頼のフォームを Make で受け、機種・台数・設置の場所を1台ずつ整えて、作業の時間と人数から日程の候補を出す
エアコンクリーニングの依頼のフォームを受け、書かれた内容を1台ずつの作業の明細に整えます。機種の区分ごとの作業時間と要る人数を足し上げ、作業員の予定から続けて取れる枠を探して、日程の候補を添えた返信の下書きを作ります。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- その他/不動産/宿泊
- 対象部門
- カスタマーサポート/営業
- 対象業務
- データ入力・転記/書類作成
- 主な課題
- 営業フォローが追いつかない/属人化している/書類作成に時間がかかる
- AIで行う処理
- 抽出
- 主な効果
- 品質標準化/対応スピード向上/機会損失防止
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- フォームの回答がメールで届く。担当が開き、台数、機種、部屋、希望の日を読む
- 自由記述と選択の欄が食い違うときは、依頼者に電話かメールで聞き直す
- 1台ずつの機種から、標準の作業時間の表を見て合計の時間を出す
- 天井に埋め込む機種があれば2人、自動でお掃除する機種があれば分解できる作業員に絞る
- 作業員のカレンダーを1人ずつ開き、移動の時間を足して入る枠を探す
- 日程の候補を3つ選び、返信のメールを書いて送る
- 依頼の一覧に、台数・時間・候補を書き写す
- 自動依頼のフォームが送られると、Make のシナリオが動く
- 自動Claude API が自由記述と選択の欄から、1台ずつの明細(部屋、機種の区分、設置の高さ、室外機の置き場所)を抜き出す
- 自動明細と選択の欄が食い違う点、書かれていない点を `questions` にまとめる
- 自動機種の区分ごとに標準の作業時間の表を引き、合計の時間と要る人数、行ける作業員を決める
- 自動行ける作業員のカレンダーの空きを Get Free/Busy Information で引く
- 自動合計の時間に移動の時間を足した長さが、要る人数で続けて取れる枠を探し、候補を3つ選ぶ
- 自動日程の候補と聞き足りない点を添えた返信の下書きを Gmail に作り、依頼の一覧に明細を書く
- 人担当が明細と下書きを確かめ、直して送る
- 人依頼者が日程を選んだら、担当がカレンダーに予定を入れる
各工程の詳しい説明を読む
- フォームの回答がメールで届く。担当が開き、台数、機種、部屋、希望の日を読む
- 自由記述と選択の欄が食い違うときは、依頼者に電話かメールで聞き直す
- 1台ずつの機種から、標準の作業時間の表を見て合計の時間を出す
- 天井に埋め込む機種があれば2人、自動でお掃除する機種があれば分解できる作業員に絞る
- 作業員のカレンダーを1人ずつ開き、移動の時間を足して入る枠を探す
- 日程の候補を3つ選び、返信のメールを書いて送る
- 依頼の一覧に、台数・時間・候補を書き写す
(a)台数と機種が一致しない。 選択の欄で「壁掛け」を選んだのに、自由記述に「天井についているタイプ」と書いてある。台数の欄が「2」なのに、部屋が3つ書いてある。2番目の聞き直しが、全体の3割ほどで起きています。 聞き直している間に、依頼者が他社に決めることがあります。
(b)作業の時間の見積が担当ごとに違う。 自動でお掃除する機種の分解に何分見るか、室外機が屋根の上にあるときに何分足すかが、担当の経験で違います。短く見積もると、次の訪問先に遅れます。 長く見積もると、空いている枠を逃します。
(c)カレンダーを1人ずつ開くのに時間がかかる。 2人で入る作業は、2人の空きが同じ時間に重なる枠を探します。8人のカレンダーを並べて目で探すのが、5番目の作業です。
(d)返信が遅れる。 夜と週末に届いた依頼は、翌営業日の午後に返信が回ることがあります。依頼者はたいてい、同じ日に何社かへ頼んでいます。
- 【自動】 依頼のフォームが送られると、Make のシナリオが動く
- 【自動】 Claude API が自由記述と選択の欄から、1台ずつの明細(部屋、機種の区分、設置の高さ、室外機の置き場所)を抜き出す
- 【自動】 明細と選択の欄が食い違う点、書かれていない点を
questionsにまとめる - 【自動】 機種の区分ごとに標準の作業時間の表を引き、合計の時間と要る人数、行ける作業員を決める
- 【自動】 行ける作業員のカレンダーの空きを Get Free/Busy Information で引く
- 【自動】 合計の時間に移動の時間を足した長さが、要る人数で続けて取れる枠を探し、候補を3つ選ぶ
- 【自動】 日程の候補と聞き足りない点を添えた返信の下書きを Gmail に作り、依頼の一覧に明細を書く
- 【人】 担当が明細と下書きを確かめ、直して送る
- 【人】 依頼者が日程を選んだら、担当がカレンダーに予定を入れる
2番目と4番目を分けているのが、この設計の要です。 AI が返すのは「どんなエアコンが、どこに何台あるか」までで、何分かかるか、何人で行くかは表が決めます。 表を直せば、見積の基準がそろいます。
3番目で、聞き足りない点を返信の中に入れます。 これまでは聞き直してから日程を出していましたが、日程の候補と質問を同じメールで送ります。 答えによって時間が変わりうるときは、候補を長いほうの時間で取ります。
02今回想定するシステム構成
依頼者(自社サイトの依頼フォーム) ▼【トリガー】Webhooks:Custom webhook(フォームの送信先) Make のシナリオ ├──▶ Anthropic Claude:Make an API Call(1台ずつの明細と質問) ├──▶ Google Sheets:Search Rows(標準の作業時間・作業員の決まり・地域の移動時間) ├──▶ 合計の時間・人数・行ける作業員を計算 ├──▶ Google Calendar:Get Free/Busy Information(作業員の空き) ├──▶ 続けて取れる枠を探し、候補を3つ選ぶ ├──▶ Gmail:Create a draft email(返信の下書き) └──▶ Google Sheets:Add a Row(依頼の一覧) 【人が確かめて送る】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(シナリオ。Webhooks、Google Sheets、Google Calendar、Gmail) | n8n、Zapier、Power Automate |
| 生成AI | Claude API(Messages API、構造化出力) | OpenAI API |
| 保管 | Google スプレッドシート(標準の作業時間の表・依頼の一覧) | Airtable |
| 予定表 | Google カレンダー(作業員ごと) | Microsoft Outlook の予定表 |
| メール | Gmail(返信の下書き) | Microsoft Outlook |
新しく足すのは、シナリオと、標準の作業時間の表の「機種の区分」と「人数」の列だけです。 フォームとカレンダーは今のまま使います。この構成が書き込むのは依頼の一覧と Gmail の下書きだけで、カレンダーには予定を入れません。
入口は Make の Webhooks の Custom webhook です。 公式のページでは、Webhook は URL にリクエストが届いた直後にシナリオを動かすとされています。既定では並行して処理され、届いた順に処理したいときは Process data in order を有効にします。 同じ作業員の枠を2件が同時に候補にしないよう、この構成では順に処理します。
作業員の空きは、Google Calendar のアプリの Get Free/Busy Information で引きます。 Make の公式のアプリのページにはこのモジュールの項目の説明がなく、中身は Google Calendar API の freeBusy の照会に当たります。 API のリファレンスでは、timeMin と timeMax で範囲を決め、items にカレンダーを並べ、timeZone を省くと UTC になるとされています。返る busy は予定の入っている時間の区間で、start は含み、end は含まないとされています。
抜き出しは Claude API で行います。 Make の Anthropic Claude のアプリには Make an API Call があり、この構成ではそれで Messages API を呼び、output_config.format に JSON スキーマを書いて受けます。 公式のアプリのページには、構造化出力の記載がありません。
03どうやって実装するのか
処理の起点を決める
依頼のフォームが送られた時点を起点にします。 夜や週末に届いた依頼にも、その場で明細と下書きまで作っておきます。担当は朝いちばんに確かめて送るだけになります。
夜の間に自動で送らないのは、日程の候補が会社の約束の一部になるからです。 候補に出した枠に、別の依頼の予定を担当が先に入れてしまうこともあります。送る直前に、担当がカレンダーを見て候補がまだ空いているかを確かめます。
受信の返事は、Webhook response のモジュールで返します。 公式のページでは、このモジュールを途中に置くと後のモジュールの誤りに気づけないことがあり、最後に置けばどこで誤りが起きても通知されるとされています。依頼者の画面には「ご依頼を受け付けました。担当から日程の候補をお送りします」とだけ返します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 依頼の内容 | 台数、機種の選択(壁掛け/壁掛け・自動お掃除付き/天井埋め込み/その他・分からない)、自由記述、住所の市区町村、建物の種類と階、希望の日(3つまで)、駐車場の有無 | 依頼フォーム(Webhook) |
| 標準の作業時間の表 | 機種の区分ごとの作業時間、人数、分解できる作業員に限るか、高さと室外機の置き場所による加算 | 作業時間のシート |
| 作業員の決まり | 作業員ごとのカレンダー、分解できる機種、1日の作業の上限、午前と午後の開始の時刻 | 作業員のシート |
| 地域の移動時間 | 市区町村ごとの移動の目安 | 地域のシート |
| 作業員の予定 | 予定の入っている時間 | Google カレンダー |
質を決めるのは、標準の作業時間の表です。 例えば次のような表を、作業員の長と一緒に作ります。
| 機種の区分 | 作業時間 | 人数 | 作業員の制限 | 見分けの目安(依頼者の書き方) |
|---|---|---|---|---|
| 壁掛け・標準 | 90分 | 1 | なし | 「壁についている」「普通のタイプ」 |
| 壁掛け・自動お掃除付き | 150分 | 1 | 分解できる作業員 | 「自動でお掃除する」「フィルターを自分で掃除するタイプ」 |
| 天井埋め込み | 180分 | 2 | 分解できる作業員 | 「天井についている」「四方から風が出る」 |
| 不明 | 150分 | 1 | 分解できる作業員 | 書き方から決められないもの |
| 条件 | 加算 |
|---|---|
| 室内機の下に家具があり、動かす必要がある | 15分 |
| 室外機が屋根の上、壁の高い所 | 30分 |
| 2台目以降が同じ部屋の続き | 移動なし |
「見分けの目安」の列を、AI への指示にもそのまま渡します。 AI にも担当にも同じ基準を見せることで、依頼者の書き方からどの区分とするかが、担当の頭から表に移ります。 第3章の(b)は、この表で止めます。
「不明」の行を長いほうの時間にしているのは、日程を外さないためです。 分からない機種を標準の90分で取ると、行ってみて自動お掃除付きだったときに、次の訪問先へ遅れます。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 依頼の内容 | 依頼フォーム | Custom webhook の出力 |
| 作業時間と人数 | 作業時間のシート | Search Rows(AI が返した機種の区分) |
| 行ける作業員 | 作業員のシート | Search Rows(作業員の制限) |
| 移動の時間 | 地域のシート | Search Rows(市区町村) |
| 作業員の空き | 作業員のカレンダー | Get Free/Busy Information(希望の日の範囲、timeZone は Asia/Tokyo) |
timeZone は必ず指定します。 省くと UTC で返り、午前の枠が9時間ずれて見えます。 候補が夜中に出たら、まずここを疑います。
空きは、希望の日の範囲だけを引きます。 希望の日を含む範囲で、行ける作業員のカレンダーを並べて引き、busy の区間の外側で、合計の時間に移動の時間を足した長さが収まる枠を探します。 2人で入る作業は、2人の枠が同じ時間に重なるところだけを候補にします。
作業時間の表は、AI の出力を受けた後に引きます。 AI には作業時間を見せません。見せると、機種の区分を時間の短いほうへ寄せて書くことがあります。
AIへ渡す前に整形する
- 必須の欄の確認 … 住所の市区町村と希望の日が無いものは、明細を作る前に質問の候補にします
- 台数の欄の確認 … 数字でないもの、20を超えるものは、明細を作ったうえで人に回す印を付けます
- AI に渡す範囲を絞る … 依頼者の名前、番地、電話番号、メールアドレスは渡しません。台数、機種の選択、自由記述、建物の種類と階だけにします
- 希望の日の整え … 「来週の土日」のような書き方は、受け付けた日を基に Make の側で日付に直します。直せないものは質問の候補にします
3番目で番地を外しても、移動の時間は市区町村で決まります。 自由記述に部屋番号や家族の名前が書かれていることもあるので、明細には部屋の呼び方(リビング、寝室など)だけを書くよう指示します。
4番目を AI に任せないのは、日付の計算がずれやすいからです。 曜日と日付の対応は、機械の関数で出します。
AIに処理させる
させるのは、依頼の文と選択の欄から、1台ずつの明細を抜き出すことです。
| 項目 | 区分 | 判断できないときの扱い |
|---|---|---|
| 部屋の呼び方 | 自由記述のとおり | 書かれていなければ unit_1 のように番号 |
| 機種の区分 | 表の「見分けの目安」で選ぶ | 決められなければ unknown |
| 設置の高さ | 標準/高い(吹き抜け・階段の上など) | 書かれていなければ unknown |
| 室外機の置き場所 | 地面・ベランダ/屋根の上・壁の高い所 | 書かれていなければ unknown |
| 下の家具 | 動かす必要があるか | 書かれていなければ unknown |
| 台数の食い違い | 台数の欄と明細の台数 | 食い違えば questions に入れる |
| 機種の食い違い | 選択の欄と自由記述 | 食い違えば自由記述のほうで区分を付け、questions に入れる |
機種の食い違いで自由記述を採るのは、選択の欄のほうが誤りやすいからです。 依頼者は「壁掛け」の言葉だけを見て選びがちで、「天井についている」「自動で掃除する」は、見たままを書いた言葉です。 それでも確かめる質問は必ず付けます。
| させないこと | 理由 |
|---|---|
| 作業時間と人数の計算 | 表で決める。AI の見積は担当ごとのずれと同じものを生む |
| 型番からの機能の推測 | 型番の読み方はメーカーと年式で違い、推して誤ると分解の準備を外す |
| 作業を引き受けるかの判断 | 古い機種や特殊な設置は、作業員の長が決める |
| 料金の提示 | この構成では扱わない。料金表は担当が添える |
| 日程の選び方 | 空きの計算は機械で行う |
2行目がいちばん起きやすい失敗です。 依頼者が型番を書いてくると、AI はそれらしく「この型番は自動お掃除付き」と書きます。型番は明細の model_text にそのまま写すだけにし、区分は依頼者の書き方と表の目安だけで付けます。
指示内容を固定する
あなたはエアコンクリーニングの受付で、依頼の内容を1台ずつの作業の明細に整える立場です。
渡した依頼の内容だけを見て書いてください。推測で埋めないでください。
【機種の区分と見分けの目安】{unit_types}
【依頼の台数の欄】{count_field}
【依頼の機種の選択】{type_field}
【建物の種類と階】{building}
【依頼の自由記述】{free_text}
【やること】
1. エアコンを1台ずつ units に並べてください。
2. 各台に、部屋の呼び方、機種の区分、設置の高さ、室外機の置き場所、
下の家具を動かす必要があるかを入れてください。
3. 機種の区分は、見分けの目安の言葉に当たるものだけで選んでください。
当たらなければ unknown にしてください。
4. 台数の欄と units の数が違うとき、機種の選択と自由記述が食い違うとき、
unknown の項目があるときは、依頼者に聞く質問を questions に書いてください。
【厳守事項】
- 書かれていない項目は unknown にしてください。建物の種類や階から推さないでください。
- 型番が書かれていても、型番から機能や区分を推さないでください。
型番は model_text にそのまま写すだけにしてください。
- 作業の時間、人数、料金は書かないでください。
- 部屋の呼び方は「リビング」「寝室」のような呼び方だけにしてください。
部屋番号、家族の名前、住所は書かないでください。
- 台数の欄と units の数が違うときに、どちらかに合わせて台数を作らないでください。
自由記述から数えた台を units に入れ、違いは questions に書いてください。
- questions は依頼者が一言で答えられる聞き方にしてください。
例:「寝室のエアコンは、天井についているものですか、壁についているものですか」
- evidence には、各台の区分の根拠にした依頼の文をそのまま写してください。
「建物の種類や階から推さない」を書くのは、事務所や店舗の依頼で起きるからです。 何も言わないと、店舗と書いてあるだけで天井埋め込みにします。区分の根拠は依頼者の言葉だけにします。
「どちらかに合わせて台数を作らない」も同じ理由です。 台数の欄が「3」で自由記述に2台しか書かれていないと、AI は3台目を「不明の部屋」として作ります。作った1台の分だけ時間が延び、取れたはずの枠が消えます。
出力形式を固定する
次の形のJSONで受け取ります。
{
"request_id": "",
"units": [
{
"room": "リビング",
"unit_type": "wall_standard | wall_autoclean | ceiling | unknown",
"height": "standard | high | unknown",
"outdoor_unit": "ground | roof_or_wall | unknown",
"furniture_below": "yes | no | unknown",
"model_text": "",
"evidence": ""
}
],
"count_field": 0,
"count_mismatch": true,
"type_mismatch": false,
"questions": [""]
}
1つ目の理由は、1台ずつ表を引けることです。 units の要素ごとに unit_type で作業時間の表を引き、height と outdoor_unit で加算を引きます。合計は Make の集計で出します。
2つ目は、unknown を時間に変える決まりを機械に置けることです。 unit_type が unknown の台は表の「不明」の行で長いほうの時間を取り、outdoor_unit が unknown なら加算を入れたほうで取ります。 決まりは表の側にあるので、事業者が変えられます。
| 明細の状態 | 日程の取り方 |
|---|---|
| すべての台の区分が決まっている | 表のとおりの時間で枠を探す |
unknown の台がある | 長いほうの時間で枠を探し、質問を返信に入れる |
ceiling の台がある | 2人の枠が重なるところだけを候補にする |
| 台数が10を超える | 1日に収まらなければ、続く2日の枠を候補にする |
count_mismatch が true | 候補は出すが、返信の最初に台数の確認を書く |
3つ目は、questions を返信の文にそのまま使えることです。 担当は、質問が一言で答えられる聞き方になっているかだけを見ます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 依頼フォーム | Make の Custom webhook | 依頼の内容を受ける |
| Claude API | Anthropic Claude の Make an API Call | 1台ずつの明細と質問 |
| 表のシート | Google Sheets の Search Rows | 作業時間・作業員・移動の時間を引く |
| 作業員のカレンダー | Google Calendar の Get Free/Busy Information | 予定の入っている時間を引く |
| Gmail | Create a draft email | 日程の候補と質問を添えた返信の下書き |
| 依頼の一覧 | Google Sheets の Add a Row | 明細、合計の時間、候補を書く |
カレンダーには書き込みません。 候補を出した時点で仮の予定を入れると、返事の来ない依頼の仮の予定で、カレンダーが埋まります。 予定を入れるのは、依頼者が日程を選んだ後の担当です。
その代わり、依頼の一覧に「候補に出した枠」の列を持たせます。 次の依頼の空きを探すときに、返事待ちの枠を候補から外すか、重ねてよいかを事業者の決まりで選べます。
人が確認する
人が見るのは、すべての下書きです。 ただし見るところを絞ります。
- 明細の台数と区分を見る …
evidenceを読み、依頼の文と合っているかを見ます - 質問を見る … 一言で答えられる聞き方か、聞かなくてよいことを聞いていないかを見ます
- 候補がまだ空いているかを見る … 送る直前にカレンダーを開いて確かめます
- 料金の目安を添えて送る … 料金は担当が料金表から添えます
1番目を省かないでください。 区分を1台取り違えると、作業の時間が1時間違います。依頼者に返す前に人が見る最後の機会です。
目標は、300件をならして1件3分です。 明細が表のとおりに決まっているものは1分ほど、unknown と食い違いのあるものは質問を直すので5分ほどかかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 希望の日がすべて埋まっている | 希望の日の前後3日まで広げて候補を探し、その旨を返信に書く |
| 台数が多く1日に収まらない | 続く2日の枠を探す。収まらなければ下見の提案を下書きにする |
| 天井埋め込みで2人の枠が重ならない | 1人ずつの枠を候補にせず、別の日を探す |
| 管理会社の退去後の部屋で、鍵の受け渡しと次の入居の日のあいだしか作業できない | 依頼の一覧の「作業できる期間」の列の範囲だけで枠を探す。収まらなければ、その旨を下書きの最初に書き、担当が管理会社と相談する |
| 自由記述が空で、選択の欄だけ | 選択の欄で区分を付け、evidence に選択の欄と書く |
| 業務用の大型の空調、床置きなど表に無い機種 | unknown にし、下見か作業員の長の判断を下書きに書く |
| 同じ依頼者から同じ内容が2回届く | 依頼者のメールアドレスと希望の日で照らし、2件目は下書きを作らない |
| Webhook のキューがいっぱい | 公式のページでは上限を超えたデータは受け付けられない。フォームの側に送り直しの案内を出す |
| Claude API が応答しない | 依頼の一覧に「明細待ち」で残し、担当に知らせる |
上の2行が大半を占めます。 どちらも AI の問題ではなく、作業員の人数と枠の問題です。 候補が出ない依頼が続く時期は、作業員の予定の組み方を見直す材料になります。
記録を残す
- 依頼の内容(AI に渡さなかった項目を含む)と受け付けた日時
- AI が返した明細の JSON と
questions - そのときに使った作業時間の表の版と、計算した合計の時間・人数
- 候補に出した枠と、依頼者が選んだ枠
- 人が明細を直した記録 … どの台の、どの項目を、どちらに変えたか
- 作業の後の実際の時間 … 作業員が記録した開始と終了の時刻
最後の行が、作業時間の表を育てます。 表の90分や150分は最初は作業員の長の目安ですが、実際の時間と並べると、区分ごとのずれが見えます。 数か月分を見て表を直すと、候補の精度が上がります。
04実装レベルの3段階
本記事の想定は半自動化です。 1件10分が3分になるのはこの段階で、表を引く作業とカレンダーを並べて探す作業が機械に移るからです。 本格構成は、半自動化で候補の精度を確かめてからにします。 依頼者が選んだ時点で予定が入る形にすると、明細の誤りがそのまま作業員の1日の誤りになります。
05工数削減シミュレーション
導入後 300件 × 3分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- エアコンクリーニングを専門にし、作業員が数名から十数名で、家庭・賃貸の管理会社・小さな宿泊施設から自社サイトのフォームで月に数百件の依頼を受ける事業者。機種の区分ごとの標準の作業時間と、2人で入る作業の決まりを表にできる場合。依頼者の書く台数や機種があいまいで、電話で聞き直してから日程を出しているため、返信が翌日以降になっている場合。
- 依頼が月に数十件で、受付の担当がその場で電話で日程まで決めている場合。業務用の大型の空調や、足場を組む高所の作業が中心で、どの依頼も現地の下見が要る場合。なお、作業を引き受けるかどうか、分解できる機種かどうか、料金の確定の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月届いた依頼から30件を選ぶ(台数と機種が食い違っていたもの、聞き直したものを必ず入れる)
- 名前・住所・電話番号を消し、台数・機種の選択・自由記述・建物だけを残す
- 手元のAIサービスの画面に作業時間の表の「見分けの目安」と依頼を貼り、「エアコンを1台ずつ並べ、部屋・機種の区分・高さ・室外機の置き場所を書いてください。書かれていないものは不明に、台数の欄と食い違うときは質問を書いてください。作業の時間は書かないでください」と指示する
- 出てきた明細を、当時の担当の整理と、作業員の記録した実際の機種と突き合わせる
30件は必ずやってください。 組む前に、「依頼の文から1台ずつの区分が決められるか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の整理と同じ明細が出た | 表とシナリオの作成に進む |
| 書かれていない区分を建物から推した | 指示の書き方で直る。構成は有効 |
unknown が半分を超える | フォームの選択の欄が先。 区分の言葉を依頼者に分かる書き方に変える |
3行目が出たら、 フォームの機種の選択に「天井についている」「自動でお掃除する」のような依頼者の言葉を並べ、次の月の依頼で試し直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 台数の欄に合わせて台を作ってしまう | 自由記述から数えた台だけを並べ、違いは質問にする |
| 型番から機能を推して区分を付ける | 型番は model_text に写すだけ。区分は依頼者の言葉と表の目安で付ける |
| 区分の分からない台を標準の時間で取る | 「不明」の行を長いほうの時間にする |
| 候補の時刻が9時間ずれる | Get Free/Busy Information の timeZone を Asia/Tokyo にする |
| 2人の作業に1人ずつの枠を出す | 2人の空きが重なる枠だけを候補にする |
| 同じ枠を2件の依頼に出す | Process data in order で順に処理し、候補に出した枠を一覧に残す |
| 夜に自動で返信が送られる | 下書きまでにする。 送るのは担当 |
| 作業時間の表が実際とずれていく | 作業の後の実際の時間を残し、数か月ごとに表を直す |
| 依頼の文に住所や家族の名前が入る | 明細には部屋の呼び方だけを書かせる |
上の2行が、この構成の失敗のほとんどです。 どちらも、AI が分からないところを「それらしく埋める」ことから出ています。明細に作った1台、推した1つの区分が、作業員の1日の予定を1時間ずらします。
4行目は、最初に組んだ日に気づくことが多い失敗です。 候補が夜中の時刻に出たら、timeZone を確かめてください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 依頼者の名前、住所、電話番号、メールアドレス、在宅の時間帯、そして部屋の間取りと家の中のようすです。
- AI に渡す範囲を明細に要る項目に限る … 名前・番地・電話番号・メールアドレスは渡しません。在宅の時間帯と住所が一緒に外へ出ると、留守の時間が分かる情報になります
- 返信を自動で送らない … 日程の候補は会社の約束の一部です。誤った候補を送ると、作業員の予定と依頼者の予定の両方を崩します
- 作業を引き受けるかは人が決める … 古い機種、特殊な設置、業務用の空調は、作業員の長が判断します。この構成が出すのは明細と候補だけです
- 作業の内容と追加の作業を事前に分かるようにする … 国民生活センターは、ハウスクリーニングのトラブルについて、広告等の料金でどのような作業が可能なのか、状況によってはどの程度料金がかかる可能性があるのか等を事前に確認するよう呼びかけています。返信の下書きには、明細の台ごとの作業の範囲と、当日に追加になりうる作業(室外機の高所の加算など)を書く欄を設けます。AI が作った明細は、この説明の土台にもなります。 依頼者が書いた言葉と、事業者が理解した機種の区分を並べて返すので、行ってみたら違ったという食い違いを、作業の前に見つけられます
- 壊したときの扱いを先に決めておく … 同じ呼びかけでは、クリーニングが原因で生じた故障などに備え、契約前に補償の内容や保険に加入しているかなどを確認すること、エアコンはクリーニングの方法も含めて確認することを勧めています。返信のひな形に、自社の補償の説明と、台ごとの洗い方(分解するか、どこまで洗うか)を入れておきます
- 依頼の一覧の保存期間を決める … 作業が終わった依頼の住所と在宅の時間帯は、再依頼の案内に要る範囲を除いて、決めた期間で消します
誤りが起きた場合のリスクは、区分を取り違えて作業の時間が足りなくなることと、依頼者の在宅の情報が外へ出ることの2つです。 前者は推して埋めると起き、後者は渡す範囲を絞らないと起きます。どちらも設計で防げるので、そこだけは守ります。
10まず何から始めるか
1週目:作業時間の表を作る
作業員の長と、機種の区分ごとの作業時間・人数・作業員の制限、高さと室外機の置き場所の加算を表にします。「見分けの目安」の列に、依頼者が実際に書いてきた言葉を並べます。
2週目:30件で試す
先月の依頼から30件を選び、手元のAIサービスで1台ずつの明細を作らせます。台数の欄に合わせて台を作っていないか、型番から区分を推していないかを最優先で見ます。
3週目:フォームの選択の欄を直す
機種の選択に、依頼者に分かる言葉を並べます。「分からない」の選択肢も必ず置きます。 分からないのに「壁掛け」を選ばれるより、unknown で受けて質問するほうが早く正しい明細になります。
4週目:フォームから下書きまでをつなぐ
Make で Custom webhook を受け、明細を作り、表で時間を出し、空きから候補を選んで下書きを作るところまで組みます。この時点では候補を選ばせず、明細と合計の時間だけを担当が見ます。
2か月目: 候補の選び方を足し、下書きを担当が直して送る運用を始めます。3か月目以降: 作業の後の実際の時間を集め、表の時間を直します。1件10分が何分になったかを実測し、聞き直しの電話が減ったことを確かめた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Webhook が URL にリクエストが届いた直後にシナリオを動かすこと。既定は並行処理で Process data in order で順に処理できること。キューの上限を超えたデータは受け付けられないこと。Webhook response を最後に置くと誤りが通知されること | Make: Webhooks | 2026-10-27 |
| Google Calendar のアプリに Search Events、Create an Event、Get Free/Busy Information があり、Get Free/Busy Information の項目の説明は無いこと | Make: Google Calendar | 2026-10-27 |
freeBusy の照会が timeMin・timeMax・items を取り、timeZone の既定が UTC であること。busy の区間の start は含み end は含まないこと | Google Calendar API: Freebusy: query | 2026-10-27 |
| Google Sheets のアプリに Search Rows、Add a Row があること | Make: Google Sheets | 2026-10-27 |
| Gmail のアプリに Create a draft email があること | Make: Gmail | 2026-10-27 |
| Anthropic Claude のアプリに Make an API Call があり、構造化出力の記載が無いこと | Make: Anthropic Claude | 2026-10-27 |
output_config.format に JSON スキーマを渡して受けること | Claude: Structured outputs | 2026-10-27 |
| ハウスクリーニングのトラブルについて、広告等の料金でどのような作業が可能か、状況によってどの程度料金がかかる可能性があるかを事前に確認すること、故障などに備えて補償の内容や保険の加入を確認すること、エアコンはクリーニング方法も含めて確認することを呼びかけていること | 国民生活センター: ハウスクリーニングのトラブルにご注意 | 2026-10-27 |
作業時間の表と、作業を引き受けるかどうかの決まりは、自社の作業員の長と決めてください。 本記事は上の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2043)についてのご相談はこちらから。
